autoupdate
[gnulib.git] / ChangeLog
1 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
2
3         regex-tests, regex: allow glibc re_search behavior
4         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
5         re_search input data to make the multi-character collating element
6         in it clearly visible, and treat re_search return code 0 as valid.
7         * m4/regex.m4 (gl_REGEX): Likewise.
8
9 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
10
11         stdalign: doc fix
12         * doc/posix-headers/stdalign.texi (stdalign.h):
13         Gnulib doesn't support '_Alignof expr'.
14
15 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
16
17         stdalign: port to stricter ISO C11
18         ISO C11 says that _Alignof's operand must be a parenthesized type.
19         Problem reported by Eli Zaretskii in
20         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
21         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
22         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
23
24 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25
26         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
27         Problem reported by Marco Atzeri in
28         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
29         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
30         Simply delegate to the system <sys/select.h> in this case too.
31         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
32         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
33         be needed on Solaris either.
34         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35         Simply delgate to the system <sys/time.h> in this case.
36
37 2013-03-19  Karl Berry  <karl@gnu.org>
38
39         * build-aux/gnupload: check for erroneous (with gnupload) use of
40         ftp-upload.gnu.org, tweak help.
41
42 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43
44         copy-file, rpmatch: fix problems found by cppcheck
45         Reported by Arno Onken in
46         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
47         * lib/rpmatch.c (try): Fix memory leak.
48         * lib/copy-file.c: Include "ignore-value.h".
49         (qcopy_file_preserving): Ignore chown value.
50         * modules/copy-file (Depends-on): Add ignore-value.
51
52 2013-01-27  Jim Meyering  <jim@meyering.net>
53
54         prefix-gnulib-mk: give better diagnostics
55         * build-aux/prefix-gnulib-mk: Don't just "die".
56         Give better diagnostics upon failure.
57
58 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
59
60         putenv: port to Solaris 10
61         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
62         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
63         is not what is wanted here.
64         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
65         declaration, not for its existence.
66
67 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
68
69         mktime: fix configure typo
70         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
71
72 2013-03-12  Eric Blake  <eblake@redhat.com>
73
74         regex-tests: skip UTF-8 test on mingw
75         * modules/regex-tests (Depends-on): Add localcharset.
76         * tests/test-regex.c (main): Use it to skip test on mingw.
77
78 2013-03-11  Eric Blake  <eblake@redhat.com>
79
80         tests: make it easier to bypass alarm time in debugger
81         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
82         * tests/test-memmem.c (main): Likewise.
83         * tests/test-passfd.c (main): Likewise.
84         * tests/test-ptsname.c (main): Likewise.
85         * tests/test-ptsname_r.c (main): Likewise.
86         * tests/test-strcasestr.c (main): Likewise.
87         * tests/test-strstr.c (main): Likewise.
88
89         regex: port to mingw's recent addition of undeclared alarm
90         * doc/posix-functions/alarm.texi (alarm): Document that alarm
91         exists but still doesn't work in newer mingw.
92         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
93         not existence.  Ensure SIGALRM is not trapped.
94         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
95         * m4/regex.m4 (gl_REGEX): Likewise.
96         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
97         * tests/test-regex.c (main): Use correct probe for alarm.
98
99         putenv: avoid compilation warning on mingw
100         * lib/putenv.c (_unsetenv): Protect variable declaration.
101         (putenv): Fix indentation.
102
103 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
104
105         unistd: don't prevent Tru64 Unix from using gnulib strtod.
106         * lib/unistd.in.h: be careful not to include un-needed system
107         stdlib.h from here, because that prevents gnulib stdlib.h from
108         defining rpl_strtod correctly.
109
110 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
111
112         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
113         changesets, but for the 'precision 0' test.
114         * tests/test-vasprintf-posix.c (test_function): Don't insist on
115         round-to-even, since POSIX says rounding is implementation-defined
116         and OS X 10.8.2 rounds 1.51 to 1 here.
117
118         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
119         changeset.
120         * tests/test-vasprintf-posix.c (test_function): Don't insist on
121         round-to-even, since POSIX says rounding is implementation-defined
122         and OS X 10.8.2 rounds 1.5 to 1 here.
123
124 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
125
126         vasnprintf-posix-tests: allow rounding 1.5 to 1
127         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
128         round-to-even, since POSIX says rounding is implementation-defined
129         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
130         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
131
132         bootstrap: port to FreeBSD
133         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
134         that treat '--' differently.  Reported by Mats Erik Andersson in
135         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
136
137 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
138
139         regex: rename remaining __attribute calls to __attribute__.
140         2012-02-25 changed definition of __attribute, but left some uses
141         unchanged, preventing compilation of regex module on most non-gcc
142         environments.
143         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
144         (lookup_collation_sequence_value, build_range_exp)
145         (build_collating_symbol): Set attributes with newly renamed
146         __attribute__ decorator.
147         * lib/regex_internal.c (re_string_peek_byte_case)
148         (re_node_set_compare, re_node_set_contains): Likewise.
149         * lib/regexec.c (acquire_init_state_context): Likewise.
150
151 2013-03-06  Bruno Haible  <bruno@clisp.org>
152
153         execute: Revert last change, but use a different condition.
154         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
155         on Windows.
156
157 2013-03-05  Eric Blake  <eblake@redhat.com>
158
159         execute: drop dead code
160         * lib/execute.c (nonintr_close, nonintr_open): Delete.
161
162 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
163
164         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
165         * m4/non-recursive-gnulib-prefix-hack.m4
166         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
167         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
168         <http://bugs.gnu.org/10305#237>.
169
170 2013-03-04  Eric Blake  <eblake@redhat.com>
171
172         test-getsockopt: avoid compiler warning
173         * tests/test-getsockopt.c (includes): Ensure close is declared.
174
175 2013-03-02  Bruno Haible  <bruno@clisp.org>
176
177         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
178         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
179
180 2013-03-02  Bruno Haible  <bruno@clisp.org>
181
182         gettext: Update to version 0.18.2.
183         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
184         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
185                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
186
187 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
188
189         regex: merge patches from libc
190
191         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
192         * lib/regex_internal.h (__attribute__): Rename from __attribute.
193         All uses changed.
194         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
195         (re_string_wchar_at, re_string_elem_size_at):
196         Mark function as possibly unused.
197
198         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
199         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
200         elements compare against the byte sequence of it, not its name.
201
202 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
203
204         putenv: port better to native Windows
205         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
206         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
207         (_unsetenv): Use _putenv if available.
208         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
209         a bit less likely to cause damage.
210         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
211         Fix the wrong value with SetEnvironmentVariable.
212         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
213         code better.
214
215 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
216
217         regex: ignore old-style-definition warnings
218         * lib/regex.c: Add pragma to ignore these warnings.
219         Problem reported for GNU tar by Pavel Raiskup.
220
221 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
222
223         getcwd: support coreutils better
224         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
225         but this might not be correct in coreutils, which disables
226         the raw decl checks.  Problem reported by Nagendra in
227         <http://bugs.gnu.org/10305#192>.
228         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
229         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
230         Test the getcwd function, not any macro, since getcwd.c wants the
231         function.
232         * m4/getcwd.m4 (gl_FUNC_GETCWD):
233         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
234         compile, as might happen if there's a macro but no function.
235
236         strtod: support coreutils better
237         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
238         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
239         disables the raw decl checks.  This assumes there is an underlying
240         strtod, but that's a safe assumption these days.
241         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
242
243         mountlist: port to HP NonStop
244         Reported by Joachim Schmitz in
245         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
246         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
247         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
248
249 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
250
251         extern-inline: avoid compilation error with HP-UX cc
252         Reported by Richard Lloyd in
253         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
254         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
255         Suppress extern inline with HP-UX cc.  This should be safe,
256         though it may hurt performance.  Perhaps someone with some HP-UX
257         experience can come up with a higher-performance fix.
258
259 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
260
261         putenv: fix heap corruption with mixed putenv/_putenv
262         Problem reported by Michael Goffioul in
263         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
264         * lib/putenv.c (putenv) [HAVE__PUTENV]:
265         Rely on _putenv to allocate the new environment.
266         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
267         * modules/putenv (configure.ac): Use it.
268
269 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
270
271         unsetenv etc.: port to Solaris 11 + GNU Emacs
272         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
273         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
274         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
275         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
276         idea but is too painful to fix right now), and without this gnulib
277         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
278         compiling unsetenv.c on Solaris 11.  Fix the problem for
279         unsetenv.c, and fix other similar occurrences.
280
281 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
282
283         secure_getenv: fix C++ declaration typo
284         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
285         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
286         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
287
288 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
289
290         careadlinkat: stop exporting careadlinkatcwd
291         Only Emacs used it directly, and Emacs no longer needs it.
292         * NEWS: Document this simplification.
293         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
294         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
295         for readlink.
296         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
297         Don't include stdlib.h; no longer needed.
298         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
299         * lib/relocwrapper.c: Adjust comment to match new dependencies.
300         * modules/areadlink (Depends-on): Add readlink.
301         (Maintainer): Add self.
302         * modules/careadlinkat (Depends-on): Remove readlink.
303
304         extensions: port better to HP-UX
305         This is merged from git Autoconf.
306         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
307         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
308         so that it's compatible with the value used when compiling.
309
310         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
311         Problem reported by Mats Erik Andersson in
312         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
313         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
314         openpty function exists, not merely when we intend to replace it.
315         This corrects the 2013-01-31 patch, which mistakenly defined
316         HAVE_OPENPTY even on hosts that lacked it.
317
318 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
319
320         secure_getenv: fix include typo
321         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
322
323         secure_getenv: port better to FreeBSD and Solaris
324         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
325         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
326         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
327         This works better on BSDish platforms.
328         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
329         Test for issetugid if __secure_getenv is missing.
330
331 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
332
333         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
334         Some of these changes are merged in from git Autoconf.
335         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
336         When deciding whether to define _XOPEN_SOURCE, inspect the
337         preprocessor macro __hpux instead of the more-heavyweight
338         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
339         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
340         as the key for __EXTENSIONS__.
341
342         unistd: avoid namespace pollution on non-glibc systems
343         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
344         This avoids namespace pollution on non-glibc systems, by causing
345         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
346         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
347         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
348
349 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
350
351         tmpdir: use secure_getenv
352         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
353         Define to secure_getenv, not getenv.
354         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
355         as that's now secure_getenv's job.
356         * modules/tmpdir (Depends-on): Add secure_getenv.
357
358         tempname: use secure_getenv
359         * lib/tempname.c (__secure_getenv) [!_LIBC]:
360         Define to secure_getenv, not getenv.
361         * modules/tempname (Depends-on):
362         Add secure_getenv.
363
364         secure_getenv: new module
365         * MODULES.html.sh (Extra functions based on ANSI C 89):
366         Add secure_getenv.
367         * doc/glibc-functions/secure_getenv.texi: New file.
368         * doc/gnulib.texi: Include it.
369         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
370         New files.
371         * lib/stdlib.in.h (secure_getenv): New decl.
372         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
373         * modules/stdlib (stdlib.h):
374         Add secure_getenv checks.
375
376 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
377
378         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
379         Reported for OS X 10.8.2 by Assaf Gordon in
380         <http://bugs.gnu.org/13516>.
381         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
382         !HAVE_OPENAT && !HAVE_FDOPENDIR.
383         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
384         so that they can be kept in sync more easily.  Avoid PATH_MAX
385         test on the Hurd.  Sync from test-getcwd.c for errno tests after
386         mkdir or chdir failure.
387         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
388         lib/getcwd.c.
389         (test_abort_bug): Do not test for the deep directory bug unless we
390         have openat support.  Avoid PATH_MAX test on the Hurd.
391
392         regex-tests, regex: fix bug: memset undeclared
393         * tests/test-regex.c: Don't include regex.h twice.  Include
394         string.h, to declare memset.  Christensen's report also mentioned
395         this issue.
396         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
397         test-regex.c, to avoid future problems like this.  Remove
398         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
399         twice.
400
401         regex-tests: fix link errors on older Solaris
402         These need to link with @LIBINTL@ to get libintl_gettext.
403         Problem reported by Tom G. Christensen in
404         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
405         * modules/regex-tests (test_regex_LDADD): New macro.
406
407 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
408
409         regex-tests: new module
410         * modules/regex-tests, tests/test-regex.c: New files.
411
412         regex: fix off-by-one error in configure test
413         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
414
415 2013-01-31  Eric Blake  <eblake@redhat.com>
416
417         regex: avoid infinite configure test
418         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
419
420 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
421
422         openpty: fix bug where HAVE_OPENPTY wasn't defined
423         See the thread starting at:
424         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
425         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
426         openpty function exists, not merely when we intend to replace it.
427
428 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
429
430         sys_time: port to Solaris 2.6
431         There is a circularity problem on Solaris 2.6, where <time.h> includes
432         <sys/time.h> for struct timespec.  The include nesting is gnulib
433         <time.h>, system <time.h>, gnulib <sys/time.h>, system
434         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
435         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
436         <sys/siginfo.h>; the last, innermost file needs struct
437         timestruc_t, which is defined in <sys/time.h>, which has not been
438         fully parsed.  Problem reported by Tom G. Christensen in
439         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
440         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
441         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
442         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
443         uses split double-inclusion guards.
444
445 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
446
447         regex: test for buffer overrun
448         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
449         for the just-fixed regex bug.
450
451 2013-01-29  Andreas Schwab  <schwab@suse.de>
452
453         regex: fix buffer overrun in regexp matcher [BZ #15078]
454         * lib/regexec.c (extend_buffers): Add parameter min_len.
455         (check_matching): Pass minimum needed length.
456         (clean_state_log_if_needed): Likewise.
457         (get_subexp): Likewise.
458
459 2013-01-28  Pádraig Brady  <P@draigBrady.com>
460
461         mountlist: don't consider "devtmpfs" as dummy
462         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
463         as there is storage associcated with it.
464
465 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
466
467         futimens-tests, utimens-tests: Depend on gettext.
468         This works around a problem introduced in my 2013-01-12 patch,
469         which added @LIBINTL@ to these modules.
470         * modules/futimens-tests (Depends-on):
471         * modules/utimens-tests (Depends-on): Add gettext.
472
473 2013-01-26  Eric Blake  <eblake@redhat.com>
474
475         test-getpeername: fix typo
476         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
477
478 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
479
480         bootstrap: remove the need for a sorted .gitignore file
481         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
482         rename to insert_if_absent(), so that we don't need or generate
483         a sorted .gitignore file.  We do require a .gitignore with no
484         existing duplicate entries and enforce that.
485         (sort_patterns): Remove this function as we now use the simpler
486         technigue of inserting blacklist entries at the top of the file,
487         assuming gnulib won't be inserting !whitelist entries.
488
489 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
490
491         readlinkat: don't depend on gl_FUNC_OPENAT
492         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
493         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
494         renameat.m4, symlinkat.m4; but one thing at a time.
495
496         statat: new module, split out from fstatat
497         GNU Emacs needs the POSIX-specified fstatat, but not the
498         gnulib-specified statat and lstat.  Split the latter two into a
499         new module 'statat'.
500         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
501         * lib/openat.h, lib/statat.c (STATAT_INLINE):
502         Rename from FSTATAT_INLINE. All uses changed.
503         * modules/fstatat (Files): Remove lib/statat.c.
504         (gl_MODULE_INDICATOR([fstatat])): Remove.
505         (lib_SOURCES): Remove.
506         (Maintainer): Add self.
507         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
508         * tests/test-fstatat.c (BASE): Don't define if already defined.
509         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
510
511 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
512
513         tests: don't assume fd 99 is closed
514         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
515         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
516         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
517         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
518         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
519         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
520         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
521         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
522         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
523         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
524         * tests/test-fwrite.c, tests/test-getpeername.c:
525         * tests/test-getsockname.c, tests/test-getsockopt.c:
526         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
527         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
528         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
529         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
530         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
531         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
532         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
533         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
534         * tests/test-unlinkat.c, tests/test-unlockpt.c:
535         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
536         Close file descriptor 99, instead of assuming it's already closed.
537
538 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
539
540         stpncpy: port to OS X 10.8
541         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
542         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
543
544 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
545
546         unistd: port to recent mingw
547         * lib/unistd.in.h: Remove special invocation convention for mingw,
548         which breaks for the latest mingw version.  See John W. Eaton in
549         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
550
551         largefile: port better to Mac OS X 10.5
552         This patch is backported from Autoconf git.
553         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
554         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
555         with ino_t size being different for configuration time versus
556         build/run time.  Problem reported by PHO in
557         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
558
559 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
560
561         doc: clarify -Werror
562         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
563         clarify that it's intended for developers, not for ordinary builds,
564         and mention --enable-gcc-warnings as one possible use.
565
566 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
567
568         stdint: fix build with Android's Bionic fox x86
569         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
570         was already included as _SSIZE_T_DEFINED_ might also be defined
571         in include/machine/_types.h, which is included by stdio.h
572
573 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
574
575         net_if-tests: port to Solaris 7 + GCC 3.4.6
576         Problem reported by Tom G. Christensen in
577         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
578         * tests/test-net_if.c (ni): Move to next the code that uses it,
579         so that it's declared only if needed.
580
581 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
582
583         net_if-tests: port to older Solaris
584         Problem reported by Tom G. Christensen in
585         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
586         * modules/net_if-tests (NET_IF_LIB): New substitution.
587         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
588         (HAVE_IF_NAMEINDEX): New C macro.
589         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
590
591         system-quote-tests: port to older Solaris
592         Problem reported by Tom G. Christensen in
593         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
594         * tests/test-system-quote-child.c (fopen, fread): Undef.
595
596         c-xvasprintf etc.: fix link errors on older Solaris
597         These need to link with @LIBINTL@ to get libintl_gettext.
598         Problem reported by Tom G. Christensen in
599         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
600         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
601         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
602         * modules/futimens-tests (test_futimens_LDADD):
603         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
604
605 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
606
607         locale: port to Solaris 2.6 and 7 + GNU gettext
608         * lib/locale.in.h: Just include_next <locale.h> when
609         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
610         when combining the localename module with GNU gettext 0.18.2.
611         Problem reported by Tom G. Christensen in
612         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
613
614 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
615
616         stdlib: port to Solaris 2.6
617         Also, the code worked on Solaris 7 through 9 only by accident.
618         Problem reported by Tom G. Christensen in
619         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
620         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
621         simply include the system stdlib.h.
622         * lib/getopt.in.h (__need_system_stdlib_h):
623         * lib/pthread.in.h (__need_system_stdlib_h):
624         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
625         Define when including <stdlib.h>, to avoid problems at least for
626         the pthread case on Solaris 2.6 and 7.  These .h files can get by
627         with the system stdlib.h.
628
629 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
630
631         doc: update main copyright year
632         * doc/gnulib.texi: Update copyright date.
633
634         doc: improve ISO 8601 discussion
635         * doc/parse-datetime.texi (Combined date and time of day items):
636         Specify more carefully what formats are supported and what is
637         done with excess precision.
638
639 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
640
641         doc: avoid small caps
642         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
643         they're more trouble than they're worth.  Suggested by Karl Berry
644         in <http://bugs.gnu.org/13360>.
645
646         regex: conform to strict C
647         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
648         From Aharon Robbins.
649
650         gnulib-tool: fix incompatibility with autopoint 0.18.2
651         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
652         Problem reported by Tom G. Christensen in
653         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
654
655 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
656
657         fprintftime: bring back and reword fwrite comment
658         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
659
660         stdio: remove now-unnecessary stdio.c
661         Since stdio.in.h no longer uses inline functions, we no longer
662         need to compile the extern versions.
663         * lib/stdio.c: Remove.
664         * modules/stdio (Files): Remove lib/stdio.c.
665         (lib_SOURCES): Remove.
666
667         unicodeio: depend on stdio, not ignore-value
668         * lib/unicodeio.c: Do not include ignore-value.h.
669         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
670         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
671
672         fprintftime: depend on stdio, not ignore-value
673         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
674         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
675         since the stdio module arranges to silence that warning now.
676         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
677
678 2012-10-04  Simon Josefsson  <simon@josefsson.org>
679
680         stdint-tests: Fix expanded-before-required-warning.
681         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
682
683 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
684
685         fwrite: silence __wur only for older glibc versions
686         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
687         This will help us remove this workaround some time in the far future.
688
689 2013-01-03  Eric Blake  <eblake@redhat.com>
690
691         fwrite: silence __wur without using inline
692         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
693         just gcc, and in a way that avoids inline issues.
694         * modules/stdio (Depends-on): Drop extern-inline.
695
696 2013-01-03  Jim Meyering  <jim@meyering.net>
697
698         update-copyright: avoid copyright notice date corruption
699         Given a sequence of copyright year numbers in which the final
700         one was a two-digit number that happened to be a substring of
701         a preceding four-digit year number, we would mistakenly update
702         the substring (from two- to four-digit) rather than the two-digit
703         number at the end, which, combined with the addition of the current
704         4-digit year number would yield two 5-digit year numbers, e.g.,
705         here, it would convert the first "99" to "1999, 2013" rather than
706         the final one:
707           1991, 99
708           11999, 20131, 1999
709         * build-aux/update-copyright: Tighten a regexp.
710         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
711         Reported by Joseph Myers in
712         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
713
714 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
715
716         regex: omit needless signed-pointer casts
717         * lib/regcomp.c (build_charclass, build_charclass_op):
718         Use char *, not unsigned char *, for class name and extra.
719         The char values are always nonnegative so there's no need to
720         insist on unsigned char * here, and using char * removes the need
721         for casts.  Reported by Aharon Robbins in
722         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
723
724         regex: support Gawk, which never uses alloca
725         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
726         Do not include in this case.  Gawk doesn't supply a substitute
727         alloca.h and doesn't need one.
728
729         regex: port __libc_lock_define usage to C89
730         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
731         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
732         does not conform to C89, as it has an empty macro argument.
733         Reported by Aharon Robbins in
734         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
735
736 2013-01-01  Eric Blake  <eblake@redhat.com>
737
738         maint: update all copyright year number ranges
739         Run "make update-copyright".
740
741         version-etc: bump copyright year reported in --version
742         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
743
744 2012-12-31  Eric Blake  <eblake@redhat.com>
745
746         sigprocmask-tests: skip test if pid is unexpectedly large
747         * tests/test-sigprocmask.c (main): Add range check.
748
749         git-version-gen: avoid test -z portability glitch
750         * build-aux/git-version-gen: Prefer portable test spelling, since
751         git-version-gen is run on more than just developer machines.
752
753 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
754
755         git-version-gen: add --fallback option to use if git is not present
756         * build-aux/git-version-gen: Add support for the new option --fallback,
757         which comes into play when there is no $tarball_version_file and
758         git is not working.
759         (scriptversion): Update.
760
761         maint.mk: handle missing git with more grace
762         * top/maint.mk (no-submodule-changes, public-submodule-commit):
763         Quietly proceed if git is not present.
764
765 2012-12-31  Eric Blake  <eblake@redhat.com>
766
767         dup2: work around cygwin bug
768         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
769         * lib/dup2.c (rpl_dup2): Work around it.
770         * doc/posix-functions/dup2.texi (dup2): Document it.
771
772 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
773
774         regex: remove unnecessary dependency on localcharset.h
775         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
776         hasn't been needed for years.
777         * modules/regex (Depends-on): Remove localcharset.
778
779         regex: revert single-byte change
780         * lib/regexec.c (check_node_accept_bytes): Revert previous change
781         to this function.  This was alredy fixed in a different way, at
782         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
783         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
784         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
785
786         regex: simplify based on Gawk version
787         * lib/regex_internal.c (re_dfa_add_node): Simplify.
788         Reported by Aharon Robbins in
789         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
790
791 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
792
793         regex: check that pattern char is single-byte
794         Reported by Aharon Robbins in
795         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
796         * lib/regexec.c (check_node_accept_bytes):
797         Return 0 if the pattern string has a multibyte character here.
798
799         regex: implement rational ranges
800         Reported by Aharon Robbins in
801         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
802         * lib/regcomp.c (build_range_exp) [!_LIBC]:
803         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
804         Implement rational ranges.
805
806         regex: avoid redefining __wctype
807         Reported by Aharon Robbins in
808         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
809         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
810         #undef before defining.
811
812         regex: port to hosts where malloc (0) == NULL
813         Reported by Aharon Robbins in
814         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
815         * lib/regex_internal.c (re_node_set_alloc):
816         Don't assume that malloc (0) yields nonnull.
817         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
818         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
819         * modules/regex (Files): Add m4/eealloc.m4.
820
821         regex: port to C89
822         Reported by Aharon Robbins in
823         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
824         * lib/regcomp.c (init_word_char): Declaration before statement.
825
826         regex: merge glibc changes
827         Also, copy the license wording from glibc.  This simplifies
828         merging changes.  gnulib-tool will change the wording to GPL as
829         appropriate, when importing it to other packages.  The only
830         glibc change made since the last merge, which needs merging, is:
831         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
832         * lib/regex_internal.h (gettext): Remove use of INTUSE.
833
834         * users.txt: Add Emacs.
835
836         doc: omit mention of version when not needed
837         * doc/gnulib-intro.texi (Portability and Application Code):
838         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
839         Don't mention particular dates or versions when not necessary, so
840         that the documentation won't go out of date so quickly.
841
842         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
843
844 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
845
846         bootstrap: pass --force to autoreconf.
847         * build-aux/bootstrap (AUTORECONFFLAGS): New.
848         Add "--force" so that Automake's ylwrap and other such tools
849         be updated at each bootstrap invocation.
850         Use it.
851
852 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
853
854         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
855         The earlier patch forgot to update one of the #if conditions, causing
856         a problem on Debian testing i386 reported by Mats Erik Andersson
857         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
858         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
859         (__argp_fmtstream_puts, argp_fmtstream_puts)
860         (__argp_fmtstream_write, argp_fmtstream_write)
861         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
862
863         * doc/gnulib-readme.texi: Minor fixups.
864         (Portability guidelines): Modernize URLs.  Remove some repetition.
865         (Indent with spaces not TABs): Reword to avoid too-long lines.
866         Remove some '@ifset standalone' stuff that isn't used.
867
868         * doc/gnulib-readme.texi (Portability guidelines):
869         ctype.h, not ctime.h.
870
871         Correct name of POSIX.1-2001.
872         * doc/posix-functions/fgetc.texi (fgetc):
873         * doc/posix-functions/fgets.texi (fgets):
874         * doc/posix-functions/fread.texi (fread):
875         * doc/posix-functions/fscanf.texi (fscanf):
876         * doc/posix-functions/getc.texi (getc):
877         * doc/posix-functions/getchar.texi (getchar):
878         * doc/posix-functions/scanf.texi (scanf):
879         POSIX.1-2001, not POSIX-2001.
880
881         doc: move README into manual
882         * README: Move contents to new file doc/gnulib-readme.texi.
883         Replace with a one-line summary.
884         * doc/gnulib.texi (Brief Overview): New section,
885         with old intro preface.  Include gnulib-readme.texi for contents.
886         (Philosophy): Rename from "Introduction", since this
887         section no longer introduces the rest.  Write a new preface.
888         * doc/gnulib-readme.texi: New file, with the old contents of
889         README texinfo-ized.  This way, the README info appears
890         in the online and printed manual.
891
892 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
893
894         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
895         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
896         c_vasprintf() prototype.
897
898 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
899
900         c-vasprintf: Fix "empty declaration" warning reported by GCC.
901         * lib/c-vasprintf.h: Remove stray semicolon.
902
903 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
904
905         gettext: avoid obsolete macro AM_PROG_MKDIR_P
906         It is obsolete and is planned to be removed from Automake 1.14; see
907         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
908         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
909         (installdirs-data, installdirs-data-yes):
910         Use $(MKDIR_P), not $(mkdir_p).
911         * m4/intl.m4 (AM_INTL_SUBDIR):
912         * m4/po.m4 (AM_PO_SUBDIRS):
913         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
914
915 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
916
917         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
918         On this platform, we are not optimizing but we are using
919         the substitute for extern inlines, so compile as if
920         C99-style extern inline, or a substitute, is available.
921         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
922         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
923         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
924         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
925         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
926         Declare as ARGP_FS_EI, not as extern.
927         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
928         (__option_is_short, _option_is_end, __option_is_end)
929         [!_LIBC && __USE_EXTERN_INLINES]:
930         Declare as ARGP_EI, not as extern.
931
932 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
933
934         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
935         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
936         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
937         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
938         ...), as the latter is fatal with older Autoconfs.
939         Problem reported and fix suggested by Eric Blake in thread starting at
940         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
941
942 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
943
944         AC_PROG_MKDIR_P: don't workaround if not buggy
945         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
946         Define only for Autoconf versions before 2.62.
947         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
948         undocumented m4_PACKAGE_VERSION, for consistency with the
949         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
950         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
951         was introduced in 2.62.
952
953 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
954
955         New 'c-*printf' modules for formatted output in C locale.
956
957         New module 'c-vasnprintf'.
958         * modules/c-vasnprintf: New file.
959         * lib/c-vasnprintf.c: New file.
960         * lib/c-vasnprintf.h: New file.
961
962         New module 'c-snprintf'.
963         * modules/c-snprintf: New file.
964         * modules/c-snprintf-tests: New file.
965         * lib/c-snprintf.c: New file.
966         * lib/c-snprintf.h: New file.
967         * tests/test-c-snprintf.c: New file.
968         * tests/test-c-snprintf.sh: New file.
969
970         New module 'c-vsnprintf'.
971         * modules/c-vsnprintf: New file.
972         * modules/c-vsnprintf-tests: New file.
973         * lib/c-vsnprintf.c: New file.
974         * lib/c-vsnprintf.h: New file.
975         * tests/test-c-vsnprintf.c: New file.
976         * tests/test-c-vsnprintf.sh: New file.
977
978         New module 'c-vasprintf'.
979         * modules/c-vasprintf: New file.
980         * modules/c-vasprintf-tests: New file.
981         * lib/c-asprintf.c: New file.
982         * lib/c-vasprintf.c: New file.
983         * lib/c-vasprintf.h: New file.
984         * tests/test-c-vasprintf.c  +: New file.
985         * tests/test-c-vasprintf.sh: New file.
986
987         New module 'c-xvasprintf'.
988         * modules/c-xvasprintf: New file.
989         * modules/c-xvasprintf-tests: New file.
990         * lib/c-xasprintf.c: New file.
991         * lib/c-xvasprintf.c: New file.
992         * lib/c-xvasprintf.h: New file.
993         * tests/test-c-xvasprintf.c: New file.
994         * tests/test-c-xvasprintf.sh: New file.
995
996 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
997
998         argp: better 'inline'
999         Use extern-inline module to declare extern inline functions.
1000         This avoids some bogus warning diagnostics.  Problem discovered
1001         when modifying GNU tar to use the manywarnings module.
1002         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1003         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1004         Define based on extern-inline.
1005         * modules/argp (Depends-on): Add extern-inline.
1006
1007 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1008
1009         filemode, sys_stat: Handle MPX files a la AIX.
1010         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1011         * lib/sys_stat.in.h (S_ISMPX): New macro.
1012         * tests/test-sys_stat.c: Add tests for MPX files.
1013
1014 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1015
1016         x-to-1: honor $PERL
1017         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1018         a chance to use his preferred version of Perl.  This is typically
1019         required by Darwin users whose default /usr/bin/perl does not have all
1020         the libraries required by help2man, and who need to use their MacPorts
1021         installation of Perl instead.
1022
1023 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1024
1025         gnu-web-doc-update: add all the new files, even in new directories
1026         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1027         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1028         Use it.
1029         (main): Don't use cvsutils to get the list of unknown files,
1030         just add all the existing files and directories.
1031
1032 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1033
1034         gnu-web-doc-update: improve --help
1035         * build-aux/gnu-web-doc-update: Move comments into --help.
1036
1037 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1038
1039         mountlist: recognize more "dummy" file systems
1040         * lib/mountlist.c (ME_DUMMY_0):
1041         Add these dummy FS names to the list:
1042         - "debugfs" virtual filesystem for kernel debugging
1043         - "devpts" PTY slave filesystem
1044         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1045         - "fusectl" control filesystem for FUSE
1046         - "mqueue" enumerates POSIX message queues
1047         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1048         - "sysfs" is for exporting kernel objects
1049         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1050
1051 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1052
1053         extern-inline: avoid incompatibility with Darwin Libc
1054         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1055         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1056         Problem reported by Akim Demaille in
1057         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1058
1059 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1060
1061         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1062         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1063         let it handle password prompting.
1064
1065 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1066
1067         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1068         * lib/canonicalize.c (canonicalize_filename_mode):
1069         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1070         fetching the current directory.  Don't overrun the beginning of
1071         rpath if there's no slashes after the MS-Windows drive letter.
1072
1073 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1074
1075         maint.mk: avoid extra forks
1076         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1077         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1078         So use that instead of "$(shell test -f FILE && echo FILE)".
1079
1080 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1081
1082         vasnprintf: fix ASCII_ONLY typo
1083         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1084         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1085         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1086         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1087         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1088
1089 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1090
1091         list, oset, xlist, xoset: fix extern inline issue with C99
1092         This was introduced by my recent changes for 'inline'.
1093         Problem reported for gettext by Daiki Ueno in
1094         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1095         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1096         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1097         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1098         (gl_list_previous_node, gl_list_get_at)
1099         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1100         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1101         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1102         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1103         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1104         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1105         (gl_list_iterator_free, gl_sortedlist_search)
1106         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1107         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1108         (gl_sortedlist_remove):
1109         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1110         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1111         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1112         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1113         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1114         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1115         (gl_list_add_at, gl_sortedlist_add):
1116         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1117         Wrap these extern decls inside "#if 0", because they are implemented
1118         as inline functions, and extern inline is not what's wanted here.
1119         It would simplify these .h files to remove the extern decls entirely,
1120         although a downside would be less-clear separation between
1121         specification and implementation.
1122
1123 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1124
1125         sys_stat: no 'static inline'
1126         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1127         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1128
1129         extern-inline: no 'static inline'
1130         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1131         Do not require AC_C_INLINE.
1132         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1133         'static inline', for older compilers.
1134
1135         snippet/warn-on-use: no 'static inline'
1136         * build-aux/snippet/warn-on-use.h:
1137         Remove unnecessary 'inline' in comment.
1138
1139         rbtree-list, rbtreehash-list: no 'static inline'
1140         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1141         * lib/gl_anytree_list2.h (node_at):
1142         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1143         (gl_oset_first, add_nodes_to_buckets):
1144         Now static, not static inline.
1145
1146         regex: no 'static inline'
1147         * lib/regex_internal.c (calc_state_hash):
1148         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1149         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1150         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1151         Now static, not static inline.
1152         (inline) [__GNUC__ < 3 && _LIBC]:
1153         Remove macro; no longer needed.
1154
1155         xvasprintf: no 'static inline'
1156         * lib/xvasprintf.c (xstrcat):
1157         Now static, not static inline.
1158         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1159         Do not require AC_C_INLINE.
1160
1161         parse-datetime, parse-duration: no 'static inline'
1162         * lib/parse-datetime.y (to_uchar):
1163         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1164         (scale_n_add):
1165         Now static, not static inline.
1166         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1167         * modules/parse-duration (configure.ac):
1168         Do not require AC_C_INLINE.
1169
1170         getaddrinfo: no 'static inline'
1171         * lib/getaddrinfo.c (validate_family):
1172         Now static, not static inline.
1173         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1174         Do not require AC_C_INLINE.
1175
1176         ftruncate, fts, lstat, openat, raise: no 'static inline'
1177         * lib/ftruncate.c (chsize_nothrow):
1178         * lib/fts.c (opendirat, diropen):
1179         * lib/lstat.c (orig_lstat):
1180         * lib/openat.c (orig_openat):
1181         * lib/raise.c (raise_nothrow):
1182         Now static, not static inline.
1183         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1184         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1185         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1186         * m4/openat.m4 (gl_PREREQ_OPENAT):
1187         * m4/raise.m4 (gl_PREREQ_RAISE):
1188         Do not require AC_C_INLINE.
1189
1190         fflush, stat: no 'static inline'
1191         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1192         (clear_ungetc_buffer, disable_seek_optimization)
1193         (restore_seek_optimization, update_fpos_cache):
1194         * lib/stat.c (orig_stat):
1195         Now static, not static inline.
1196         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1197         (update_fpos_cache):
1198         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1199         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1200         * m4/stat.m4 (gl_PREREQ_STAT):
1201         Do not require AC_C_INLINE.
1202
1203         error, filevercmp: no 'static inline'
1204         * lib/error.c (is_open, flush_stdout):
1205         * lib/filevercmp.c (order):
1206         Now static, not static inline.
1207         * m4/error.m4 (gl_PREREQ_ERROR):
1208         * modules/filevercmp (configure.ac):
1209         Do not require AC_C_INLINE.
1210
1211         dup, execute, fatal-signal, etc.: no 'static inline'
1212         * lib/dup.c (dup_nothrow):
1213         * lib/execute.c (nonintr_close, nonintr_open):
1214         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1215         * lib/fopen.c (orig_fopen):
1216         * lib/freadseek.c (freadptrinc):
1217         * lib/freopen.c (orig_freopen):
1218         * lib/fstat.c (orig_fstat, fstat_nothrow):
1219         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1220         (get_rusage_as_via_iterator):
1221         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1222         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1223         * lib/isatty.c (_isatty_nothrow):
1224         * lib/open.c (orig_open):
1225         * lib/read.c (read_nothrow):
1226         * lib/sigprocmask.c (signal_nothrow):
1227         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1228         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1229         * lib/wait-process.c (unregister_slave_subprocess):
1230         * lib/write.c (write_nothrow):
1231         Now static, not static inline.
1232         * lib/spawn-pipe.c (nonintr_open): Define only if
1233         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1234         * m4/dup.m4 (gl_PREREQ_DUP):
1235         * m4/execute.m4 (gl_EXECUTE):
1236         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1237         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1238         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1239         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1240         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1241         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1242         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1243         * m4/open.m4 (gl_PREREQ_OPEN):
1244         * m4/read.m4 (gl_PREREQ_READ):
1245         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1246         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1247         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1248         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1249         * m4/write.m4 (gl_PREREQ_WRITE):
1250         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1251         Do not require AC_C_INLINE.
1252
1253         c-strtod, memcoll, readutmp: no 'static inline'
1254         * lib/c-strtod.c (c_locale):
1255         * lib/memcoll.c (strcoll_loop):
1256         * lib/readutmp.c (desirable_utmp_entry):
1257         Now static, not static inline.
1258         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1259         * m4/memcoll.m4 (gl_MEMCOLL):
1260         * m4/readutmp.m4 (gl_READUTMP):
1261         Do not require AC_C_INLINE.
1262
1263         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1264         * lib/arctwo.c (to_uchar):
1265         * lib/md4.c (set_uint32):
1266         * lib/md5.c (set_uint32):
1267         * lib/sha1.c (set_uint32):
1268         * lib/sha256.c (set_uint32):
1269         * lib/sha512.c (set_uint64):
1270         Now static, not static inline.  This is a bit simpler, and doesn't
1271         affect performance with GCC and default optimization.
1272         * m4/arctwo.m4 (gl_ARCTWO):
1273         * m4/md4.m4 (gl_MD4):
1274         * m4/md5.m4 (gl_MD5):
1275         * m4/sha1.m4 (gl_SHA1):
1276         * m4/sha256.m4 (gl_SHA256):
1277         * m4/sha512.m4 (gl_SHA512):
1278         Do not require AC_C_INLINE.
1279
1280         cond, lock, thread: better 'inline'
1281         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1282         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1283         New macros.  Use them instead of static inline, for header functions.
1284         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1285         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1286         * lib/glthread/lock.c (gl_waitqueue_init)
1287         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1288         * lib/glthread/thread.c (get_current_thread_handle):
1289         Change 'static inline' to 'inline'.
1290         * lib/glthread/cond.h, lib/glthread/thread.h:
1291         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1292         * m4/cond.m4 (gl_COND):
1293         * m4/lock.m4 (gl_PREREQ_LOCK):
1294         * m4/thread.m4 (gl_THREAD):
1295         Do not require AC_C_INLINE.
1296         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1297
1298         chdir-long, cycle-check, savewd: better 'inline'
1299         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1300         (find_non_slash):
1301         * lib/cycle-check.c (is_zero_or_power_of_two):
1302         * lib/savewd.c (savewd_delegating):
1303         Change 'static inline' to 'inline'.
1304         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1305         Replace all remaining uses of 'static inline' with it.
1306         * lib/savewd.h:
1307         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1308         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1309         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1310         * m4/savewd.m4 (gl_SAVEWD):
1311         Do not require AC_C_INLINE.
1312         * modules/savewd (Depends-on): Add extern-inline.
1313
1314         base32, base64: no need for 'inline'
1315         * lib/base32.c (to_uchar, get_8, decode_8):
1316         * lib/base64.c (to_uchar, get_4, decode_4):
1317         Change 'static inline' to 'inline'.
1318         * m4/base32.m4 (gl_PREREQ_BASE32):
1319         * m4/base64.m4 (gl_PREREQ_BASE64):
1320         Do not require AC_C_INLINE.
1321
1322         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1323         * lib/gl_array_oset.c (gl_array_nx_add_at):
1324         (gl_array_remove_at):
1325         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1326         (add_to_bucket, remove_from_bucket):
1327         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1328         Change 'static inline' to 'static', as it's simpler to omit
1329         'inline' unless there's a significant performance advantage.
1330
1331         list, oset, xlist, xoset, xsublist: simplify via extern inline
1332         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1333         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1334         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1335         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1336         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1337         New macro.  Replace all uses of 'static inline' with it.
1338         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1339         instead of as macros FOO that are defined to static inline
1340         functions FOO_inline.
1341         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1342         * lib/gl_xsublist.c:
1343         Reimplement from scratch, by defining the corresponding *_INLINE
1344         macro and including the corresponding .h file.  This is simpler.
1345         * modules/list, modules/oset, modules/xlist, modules/xoset:
1346         (Files): Remove m4/gl_list.m4.
1347         (configure.ac): Remove gl_LIST.
1348         * m4/gl_list.m4: Remove.
1349         * modules/list, modules/oset, modules/xlist, modules/xoset:
1350         * modules/xsublist:
1351         (Depends-on): Depend on extern-inline, not inline.
1352
1353         xalloc: better 'inline'
1354         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1355         New macro.  Replace all uses of 'static inline' with it.
1356         (static_inline): Remove.
1357         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1358         Let 'extern inline' do the work automatically, instead of doing
1359         it by hand.
1360         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1361         Remove.  All uses removed.
1362         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1363
1364         gethrxtime: better 'inline'
1365         * lib/xtime.c: New file.
1366         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1367         * lib/xtime.h (XTIME_INCLUDE):
1368         New macros.  Replace all uses of 'static inline' with them.
1369         * lib/gethrxtime.c (gethrxtime): Define only if
1370         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1371         this source file is now always compiled, because of the extern inline.
1372         * lib/gethrxtime.h, lib/xtime.h:
1373         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1374         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1375         if gethrtime works, as they're not needed in that case.
1376         (gl_XTIME): Do not require AC_C_INLINE.
1377         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1378         compiled now.  Move the check into gl_GETHRXTIME.
1379         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1380         (Depends-on): Add extern-inline.
1381         (configure.ac): gethrxtime is always compiled now.
1382         (lib_SOURCES): Add gethrxtime.c.
1383
1384         wctype-h: better 'inline'
1385         * lib/wctype-h.c: New file.
1386         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1387         New macro.  Replace all uses of 'static inline' with it.
1388         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1389         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1390         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1391         (Depends-on): Add extern-inline.
1392
1393         unistd: better 'inline'
1394         * lib/unistd.c: New file.
1395         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1396         New macro.  Replace all uses of 'static inline' with it.
1397         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1398         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1399         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1400         (Depends-on): Add extern-inline.
1401
1402         sys_socket: better 'inline'
1403         * lib/sys_socket.c: New file.
1404         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1405         New macro.  Replace all uses of 'static inline' with it.
1406         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1407         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1408         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1409         (Depends-on): Add extern-inline.
1410
1411         stdio: better 'inline'
1412         * lib/stdio.c: New file.
1413         * lib/stdio.in.h (_GL_STDIO_INLINE):
1414         New macro.  Replace all uses of 'static inline' with it.
1415         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1416         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1417         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1418         (Depends-on): Add extern-inline.
1419
1420         sigaction: better 'inline'
1421         * lib/sig-handler.c: New file.
1422         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1423         New macro.  Replace all uses of 'static inline' with it.
1424         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1425         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1426         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1427         (Depends-on): Add extern-inline.
1428
1429         selinux-h: better 'inline'
1430         * lib/se-context.c, lib/se-selinux.c: New files.
1431         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1432         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1433         New macro.  Replace all uses of 'static inline' with it.
1434         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1435         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1436         New macro.  Replace all uses of 'static inline' with it.
1437         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1438         * modules/selinux-h (Files, lib_SOURCES):
1439         Add lib/se-context.c, lib/se-selinux.c.
1440         (Depends-on): Add extern-inline.
1441         (configure.ac): Do not require AC_C_INLINE.
1442
1443         pthread: better 'inline'
1444         * lib/pthread.c: New file.
1445         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1446         New macro.  Replace all uses of 'static inline' with it.
1447         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1448         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1449         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1450         * modules/pthread (Files): Add lib/pthread.c.
1451         (Depends-on): Add extern-inline.
1452
1453         math: better 'inline'
1454         * lib/math.c: New file.
1455         * lib/math.in.h (_GL_MATH_INLINE):
1456         New macro.  Replace all uses of 'static inline' with it.
1457         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1458         * m4/math_h.m4 (gl_MATH_H):
1459         Do not require AC_C_INLINE.
1460         * modules/math (Files, lib_SOURCES):
1461         Add lib/math.c.
1462         (Depends-on): Add extern-inline.
1463
1464         count-one-bits: better 'inline'
1465         * lib/count-one-bits.c: New file.
1466         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1467         New macro.  Replace all uses of 'static inline' with it.
1468         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1469         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1470         Do not require AC_C_INLINE.
1471         * modules/count-one-bits (Files, lib_SOURCES):
1472         Add lib/count-one-bits.c.
1473         (Depends-on): Add extern-inline.
1474
1475         count-leading-zeros: better 'inline'
1476         * lib/count-leading-zeros.c: New file.
1477         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1478         New macro.  Replace all uses of 'static inline' with it.
1479         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1480         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1481         Do not require AC_C_INLINE.
1482         * modules/count-leading-zeros (Files, lib_SOURCES):
1483         Add lib/count-leading-zeros.c.
1484         (Depends-on): Add extern-inline.
1485
1486         bitrotate: better 'inline'
1487         * lib/bitrotate.c: New file.
1488         * lib/bitrotate.h (BITROTATE_INLINE):
1489         New macros.
1490         Replace all uses of 'static inline' with them.
1491         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1492         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1493         (Depends-on): Add extern-inline.
1494         (configure.ac): Do not require AC_C_INLINE.
1495
1496 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1497
1498         maint.mk: avoid gratuitous failure
1499         Reported by Stefano Lattarini in
1500         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1501         * top/maint.mk (public-submodule-commit): Quote more safely.
1502
1503 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1504
1505         canonicalize, canonicalize-lgpl: support MS-Windows file names
1506         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1507         for test cases, which it'd be nice to add at some point.
1508         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1509         * lib/canonicalize.c (canonicalize_filename_mode):
1510         * lib/canonicalize-lgpl.c (__realpath):
1511         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1512         slash is at the beginning of the file name.  Use ISSLASH, instead
1513         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1514         the first character with '/'.  Test for
1515         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1516         with a drive letter.
1517         * lib/canonicalize.c (SLASHES): New macro.
1518         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1519
1520 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1521
1522         fts: introduce FTS_VERBATIM
1523         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1524         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1525         * lib/fts.c (fts_open): Honor it.
1526
1527 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1528
1529         getlogin-tests: allow errno == ENXIO
1530         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1531         with errno == ENXIO (No controlling tty).
1532         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1533         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1534         with errno == ENOENT.  This was reported to happen in various
1535         situations on GNU/Linux.
1536
1537 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1538
1539         getlogin-tests: allow errno == ENOENT
1540         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1541         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1542         when running a test in an Emacs shell buffer.
1543
1544 2012-11-08  Jim Meyering  <jim@meyering.net>
1545
1546         tests/nap.h: avoid warning about unused variable
1547         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1548
1549         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1550         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1551         white space before each of the special-cased file names, to avoid
1552         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1553         in http://bugs.gnu.org/12830.
1554
1555 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1556
1557         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1558         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1559         fails with errno == EBADF when fd is opened with O_PATH.
1560         Reported by Jim Meyering in
1561         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1562         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1563         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1564
1565 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1566
1567         test-utimens: speed up by taking shorter naps
1568         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1569         New functions.
1570         (nap): Use them, to do a better job of guessing the delay.
1571         On Fedora 17 with ext4 atop md atop hard disks, this made
1572         test-utimens run 10x faster, because the test napped for
1573         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1574         <http://bugs.gnu.org/12820#11>.
1575
1576 2012-11-07  Jim Meyering  <jim@meyering.net>
1577
1578         mountlist.c: fix a compilation failure
1579         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1580         I introduced while transforming commit v0.0-7683-g613bcb6
1581
1582 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1583
1584         errno: port to LynxOS 178 2.2.2
1585         Problem reported by Joel Brobecker in
1586         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1587         * doc/posix-headers/errno.texi (errno.h): Document this.
1588         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1589         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1590         Supply a string for EILSEQ.
1591         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1592
1593 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1594
1595         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1596         Linux kernel 2.6.39 introduced O_PATH (see
1597         <http://lwn.net/Articles/433854/>) and this is a better fallback
1598         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1599         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1600         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1601         * lib/fcntl.in.h (O_ACCMODE):
1602         * tests/test-fcntl-h.c (main):
1603         Do not reject O_ACCMODE merely because it has more than the
1604         minimal number of bits, as POSIX allows extensions here.
1605
1606 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1607
1608         mountlist: do not classify a bind-mounted dir entry as "dummy"
1609         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1610         the "none"-testing clause.
1611         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1612         exception for bind-mounted directories.
1613
1614 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1615
1616         quote: provide a means to escape strings with nul characters
1617         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1618         (quote, quote_n): Rename formal arguments for consistency with
1619         quotearg.
1620
1621 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1622
1623         test-raise: don't assume 199 is an invalid signal
1624         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1625
1626         sh-quote-tests: port to Solaris 9
1627         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1628         Problem reported by Dagobert Michelsen in
1629         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1630
1631 2012-10-28  Jim Meyering  <jim@meyering.net>
1632
1633         maint.mk: rename a new configurable variable
1634         * top/maint.mk (_gl_translatable_string_re): Rename from
1635         translation-markers: _gl_ prefix to insulate from user Makefile code,
1636         and the _re suffix to inform that it's a regular expression.
1637
1638 2012-10-26  Eric Blake  <eblake@redhat.com>
1639
1640         maint.mk: let packages tweak sc_po_check pattern
1641         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1642         finding files with other translation markers.
1643
1644 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1645
1646         euidaccess: speed up 'configure' on GNU hosts
1647         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1648         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1649         it's needed only in this case.  Use AC_CHECK_DECLS, not
1650         AC_CHECK_DECLS_ONCE.
1651         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1652         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1653
1654         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1655
1656 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1657
1658         fchmodat, fchownat, fstatat: port to non-inlining compilers
1659         Problem reported for FreeBSD 9 by Jim Meyering in
1660         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1661         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1662         New files, which define FCHMODAT_INLINE etc.
1663         * lib/fchmodat.c (FCHMODAT_INLINE):
1664         * lib/fchownat.c (FCHOWNAT_INLINE):
1665         * lib/fstatat.c (FSTATAT_INLINE):
1666         Remove, as chmodat.c etc. now do this.
1667         * modules/fchmodat (Files): Add lib/chmodat.c.
1668         * modules/fchownat (Files): Add lib/chownat.c.
1669         * modules/fstatat (Files): Add lib/statat.c.
1670
1671 2012-10-15  Jim Meyering  <jim@meyering.net>
1672
1673         fchmodat.c, fchownat.c: compile-impeding typos
1674         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1675         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1676         Introduced in commit v0.0-7636-gd202279.
1677
1678 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1679
1680         fcntl-h: support GNU flags like O_IGNORE_CTTY
1681         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1682         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1683         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1684         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1685         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1686         Define to 0 if not already defined.
1687         * tests/test-fcntl-h.c: Test these new flags.
1688
1689 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1690
1691         faccessat, etc.: support AT_FDCWD-only use
1692         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1693         this function only if its first argument is AT_FDCWD.
1694         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1695         values other than AT_FDCWD, so it doesn't want all the openat
1696         machinery with fchdir etc.
1697         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1698         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1699         * modules/unlinkat (Files):
1700         Remove lib/openat-priv.h, as at-internal supplies this file.
1701         Removing this file here allows us to support programs like Emacs
1702         that avoid at-internal.
1703
1704         faccessat: speed up 'configure' on mainstream hosts
1705         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1706         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1707         since it's only on unusual platforms that we need to check for
1708         'access', and it's better not to slow 'configure' down on all
1709         platforms.
1710
1711         faccessat: port to Solaris 10
1712         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1713         Needed on Solaris 10, which doesn't have AT_EACCESS,
1714         so we need the Gnulib fcntl.h, which defines it.
1715
1716 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1717         canonicalize: fix C89 compilation
1718         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1719         declarations so C89 is supported.  Also remove the comment
1720         referencing memorty allocation as the suggested feature could
1721         not be implemented as suggested.
1722         Reported by Michael Goffioul.
1723
1724 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1725
1726         group-member: omit unnecessary dependencies
1727         This is for Emacs, which has its own allocator and where we
1728         don't want to use xalloc.
1729         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1730         since we no longer use xmalloc.  Do not include stdbool.h, since
1731         the changes below happen to remove the only use of bool.
1732         (GROUPBUF_SIZE): New constant.
1733         (struct group_info): Remove n_groups member.  Add groupbuf member.
1734         This lets us get the groups without using malloc, usually.
1735         (free_group_info, get_group_info): Adjust to this.
1736         (get_group_info): Return the number of groups found, or -1 on error.
1737         Use plain malloc not xmalloc, and treat its failure as if there
1738         are no groups, as the user already loses in case of error.
1739         (group_member): Simplify, based on changes to get_group_info.
1740         * modules/group-member (Depends-on): Remove dependencies on
1741         xalloc and stdbool.  Add dependency on xalloc-oversized.
1742
1743 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1744
1745         gethrxtime: port to C++
1746         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1747
1748 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1749
1750         ptsname: fix macro-name typo
1751         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1752
1753 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1754
1755         inttostr: Relax license.
1756         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1757
1758 2012-10-03  Eric Blake  <eblake@redhat.com>
1759
1760         ptsname_r: support ptys returned by FreeBSD posix_openpt
1761         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1762         lives in /dev/pts/.
1763
1764 2012-10-02  Eric Blake  <eblake@redhat.com>
1765
1766         pselect: reject invalid file descriptors
1767         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
1768         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
1769         * modules/pselect (Depends-on): Add dup2.
1770         * doc/posix-functions/pselect.texi (pselect): Document this.
1771
1772         select: reject invalid file descriptors
1773         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
1774         * lib/select.c (rpl_select) [!win32]: Work around it.
1775         * modules/select (Depends-on): Add dup2.
1776         * doc/posix-functions/select.texi (select): Document this.
1777
1778         select: enhance test
1779         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
1780         New functions.
1781         (test_function): Enhance test.
1782         (do_select_bad_fd): Avoid any stale errno values.
1783
1784         ptsname: reject invalid file descriptors
1785         http://www.austingroupbugs.net/view.php?id=503
1786         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
1787         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
1788         * modules/stdlib (Makefile.am): Replace witness.
1789         * lib/stdlib.in.h (ptsname): Allow for replacement.
1790         * modules/ptsname (configure.ac): Trigger replacement.
1791         * doc/posix-functions/ptsname.texi (ptsname): Document this.
1792
1793 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
1794
1795         hash-pjw-bare: new module
1796         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
1797         * lib/hash-pjw-bare.h: Likewise.
1798         * modules/hash-pjw-bare: New file.
1799         * MODULES.html.sh (Misc): Add it.
1800
1801 2012-10-02  Eric Blake  <eblake@redhat.com>
1802
1803         manywarnings: cater to more gcc infelicities
1804         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
1805         -Wuninitialized without -O.
1806
1807 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
1808
1809         select, poll tests: Make setsockopt invocation effective.
1810         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
1811         the bind() call.
1812         * tests/test-select.h (open_server_socket): Likewise.
1813
1814 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1815
1816         sockets, sys_stat: restore AC_C_INLINE
1817         This undoes the 2012-09-22 patch.
1818         * m4/sockets.m4 (gl_SOCKETS):
1819         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1820         Restore AC_C_INLINE, since MSVC requires __inline or _inline
1821         and does not support plain 'inline'.  Reported by Bruno Haible in
1822         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
1823
1824 2012-09-30  Bruno Haible  <bruno@clisp.org>
1825
1826         localeconv tests: Avoid test failure on OpenIndiana.
1827         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
1828         skip the 'grouping' and 'mon_grouping' tests.
1829         Reported by Jim Meyering.
1830
1831 2012-09-30  Bruno Haible  <bruno@clisp.org>
1832
1833         havelib: Follow libtool developments.
1834         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
1835         Suggested by Simon Josefsson.
1836
1837 2012-09-29  Jim Meyering  <meyering@redhat.com>
1838
1839         fstatat.c: fix a compile-impeding typo
1840         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
1841         Introduced in commit v0.0-7636-gd202279.
1842         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
1843
1844 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
1845
1846         extern-inline: provide a -Wundef safe config.h
1847         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
1848         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
1849         to produce a -Wundef warning free config.h.
1850
1851 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1852
1853         hash-pjw: relax license to LGPLv2+
1854         * modules/hash-pjw (License): Relax, with consent of author.
1855
1856 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1857
1858         maint.mk: fix strict vs. lazy variable issues with RELEASE
1859         * top/maint.mk (_equal): New function.
1860         (member_check): Strip the result to avoid spurious spaces.
1861         (url_dir_list): Do not use ifeq, which is strict, as it will
1862         require RELEASE_TYPE to be defined.
1863         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
1864         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
1865         (announcement_Cc_alpha,announcement_mail_headers_alpha)
1866         (announcement_Cc_beta,announcement_mail_headers_beta)
1867         (announcement_Cc_stable,announcement_mail_headers_stable): these.
1868         (release): Do not depend on $(release-type), as it forces its
1869         evaluation.  Bounce to it.
1870
1871 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1872
1873         maint.mk: formatting changes
1874         * top/maint.mk: Indent bodies of if's.
1875
1876 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
1877
1878         maint.mk: factor the validation of RELEASE_TYPE
1879         With help from Jim Meyering.
1880         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
1881         * top/maint.mk (_empty, _sp): Move their definition earlier.
1882         (member-check, release-type): New.
1883         Use the latter instead of $(RELEASE_TYPE).
1884         Remove now useless local checks.
1885
1886 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1887
1888         maint.mk: provide "make upload" to ease uploading
1889         See
1890         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
1891         Do not depend simply on the current $(VERSION), as there may have been
1892         new commits since the tarball generation.  Rather, rely on $(RELEASE),
1893         as "make release-commit" already does.
1894
1895         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
1896         "make TYPE".
1897
1898         * top/maint.mk (upload_command, upload, release): New.
1899         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
1900         (VERSION): first word of $(RELEASE) is always right.
1901         (emit_upload_commands): Adjust.
1902         * top/README-release: Update.
1903
1904 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1905
1906         maint.mk: silent rules
1907         With help from Stefano Lattarini.
1908         * top/maint.mk (writable-files): Use $(AM_V_GEN).
1909         (announcement): Use $(AM_V_at).
1910
1911 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1912
1913         localename: port gl_locale_name_thread_unsafe to FreeBSD
1914         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
1915         and use the simpler FreeBSD implementation on Mac OS X as well.
1916         Original idea suggested by Ed Maste in
1917         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
1918
1919 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1920
1921         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
1922         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
1923         * lib/mbuiter.c, lib/xsize.c: New files.
1924         * lib/binary-io.h (BINARY_IO_INLINE):
1925         * lib/eealloc.h (EEALLOC_INLINE):
1926         * lib/mbfile.h (MBFILE_INLINE):
1927         * lib/mbiter.h (MBITER_INLINE):
1928         * lib/mbuiter.h (MBUITER_INLINE):
1929         * lib/xsize.h (XSIZE_INLINE):
1930         New macros.
1931         Replace all uses of 'static inline' with them.
1932         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1933         * m4/eealloc.m4 (gl_EEALLOC):
1934         * m4/mbfile.m4 (gl_MBFILE):
1935         * m4/mbiter.m4 (gl_MBITER):
1936         * m4/xsize.m4 (gl_XSIZE):
1937         Do not require AC_C_INLINE.
1938         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1939         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1940         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
1941         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
1942         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
1943         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
1944         * modules/binary-io, modules/eealloc, modules/mbfile:
1945         * modules/mbiter, modules/mbuiter:
1946         (Depends-on): Add extern-inline.
1947
1948         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
1949         * lib/pipe-filter-aux.c: New file.
1950         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
1951         Replace all uses of 'static inline' with it.
1952         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1953         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
1954         (filter_retcode): No real need for inline here.
1955         * modules/pipe-filter-gi, modules/pipe-filter-ii:
1956         (Files): Add lib/pipe-filter-aux.c.
1957         (Depends-on): Add extern-inline.
1958         (configure.ac): Do not require AC_C_INLINE.
1959         (lib_SOURCES): Add pipe-filter-aux.c.
1960
1961         fdutimensat: omit unnecessary AC_C_INLINE
1962         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
1963
1964         fchmodat, fchownat, fstatat: use extern-inline
1965         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
1966         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
1967         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
1968         New macros.
1969         * lib/openat.h:
1970         Replace all uses of 'static inline' with them.
1971         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1972         * modules/fchmodat, modules/fchownat, modules/fstatat:
1973         * modules/openat-h:
1974         (Depends-on):
1975         Add extern-inline.
1976         (configure.ac): Remove AC_C_INLINE.
1977
1978         acl, mbchar, priv-set: use extern-inline
1979         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
1980         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
1981         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
1982         New macros.
1983         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
1984         Replace all uses of 'static inline' with it.
1985         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1986         * m4/acl.m4 (gl_FUNC_ACL):
1987         * m4/mbchar.m4 (gl_MBCHAR):
1988         * m4/priv-set.m4 (gl_PRIV_SET):
1989         Remove AC_C_INLINE, since 'inline' is no longer used directly.
1990         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
1991         Add extern-inline.
1992
1993         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
1994         * m4/sockets.m4 (gl_SOCKETS):
1995         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1996         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
1997         environments where it's already guaranteed to work, so we needn't
1998         check for it at 'configure'-time.
1999
2000         tls-tests: omit unnecessary 'inline'
2001         * tests/test-tls.c (perhaps_yield): No longer inline.
2002         Simplicity and portability trump efficiency in test cases.
2003
2004         utimens-tests: avoid unnecessary 'inline'
2005         * modules/fdutimensat-tests (configure.ac):
2006         * modules/futimens-tests (configure.ac):
2007         * modules/utimens-tests (configure.ac):
2008         * modules/utimensat-tests (configure.ac):
2009         Remove AC_C_INLINE.
2010         * tests/test-utimens-common.h (ctime_compare):
2011         No longer inline.  Simplicity and portability trump efficiency here.
2012
2013         misc: don't limit commentary to inline functions
2014         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2015         * lib/xalloc-oversized.h, lib/xsize.h:
2016         Contrast macros to functions in general, not just to inline functions,
2017         when the commentary does not apply only to inline functions.
2018
2019 2012-09-20  Jim Meyering  <meyering@redhat.com>
2020
2021         non-recursive-gnulib-prefix-hack: new module
2022         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2023         the file that originated in Bison.
2024         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2025         largely copied from a snippet that resided in bison's configure.ac.
2026         * modules/non-recursive-gnulib-prefix-hack: New file.
2027         * MODULES.html.sh (Support for maintaining and releasing projects):
2028         Add it.
2029
2030 2012-09-18  Jim Meyering  <meyering@redhat.com>
2031
2032         maint.mk: generalize _gl_tight_scope for non-recursive make
2033         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2034         that *.h would describe additional .h files in the directory
2035         specified by $(_gl_TS_dir).  I.e., add this...
2036         (_gl_TS_other_headers): New variable.
2037
2038         maint.mk: exempt trailing blanks found in "binary" files
2039         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2040         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2041         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2042
2043 2012-09-17  Jim Meyering  <meyering@redhat.com>
2044
2045         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2046         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2047         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2048         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2049
2050 2012-09-17  Jim Meyering  <meyering@redhat.com>
2051
2052         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2053         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2054         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2055         It is not in the same category as "exit (0)" or "exit (1)", and
2056         besides, I know of no symbolic name for that 77.  Reported by
2057         Richard W.M. Jones in
2058         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2059
2060 2012-09-17  Jim Meyering  <meyering@redhat.com>
2061
2062         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2063         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2064         all uses of #define, not just those that start in column 1.
2065         Richard W.M. Jones reported a false positive in
2066         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2067
2068 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2069
2070         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2071         * lib/localcharset.c (locale_charset) [DARWIN7]:
2072         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2073         as these two values are incompatible.  Problem reported by Max Horn.
2074         For more discussion, please see
2075         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2076
2077         doc: document sticky-EOF issue
2078         * doc/posix-functions/fgetc.texi (fgetc):
2079         * doc/posix-functions/fgets.texi (fgets):
2080         * doc/posix-functions/fread.texi (fread):
2081         * doc/posix-functions/fscanf.texi (fscanf):
2082         * doc/posix-functions/getc.texi (getc):
2083         * doc/posix-functions/getchar.texi (getchar):
2084         * doc/posix-functions/scanf.texi (scanf):
2085         Mention that glibc and default Solaris do not conform to
2086         C99 and POSIX-2001 or later, with respect to how getchar
2087         etc. behave when feof reports nonzero.
2088
2089 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2090
2091         poll: fix poll(0, NULL, msec)
2092         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2093         but nfd is 0.  In that case poll should behave like select.
2094
2095 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2096             Paolo Bonzini <bonzini@gnu.org>
2097
2098         poll: fix for systems that can't recv() on a non-socket
2099         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2100         is readable.  In this case POLLHUP will not be supported.
2101         * doc/posix-functions/poll.texi: Document this.
2102
2103 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2104
2105         poll/select: document portability problems not fixed by Gnulib.
2106         * doc/posix-functions/poll.texi: poll does not work well on
2107         pipes under Windows.  It has the same limitations as select on
2108         BeOS.
2109         * doc/posix-functions/select.texi: select does not work well
2110         on pipes under Windows.
2111
2112 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2113
2114         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2115         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2116         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2117         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2118
2119 2012-09-06  Eric Blake  <eblake@redhat.com>
2120
2121         net_if: give more details about the bug being fixed
2122         * doc/posix-headers/net_if.texi: Add clarification.
2123
2124 2012-09-05  Eric Blake  <eblake@redhat.com>
2125
2126         net_if: new module
2127         * modules/net_if: New module, borrowing ideas from netinet_in.
2128         * m4/net_if_h.m4: New file.
2129         * lib/net_if.in.h: Likewise.
2130         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2131         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2132         * tests/test-net_if.c: Make function checks conditional.
2133         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2134
2135 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2136
2137         readutmp: fix non-portable UT_PID use
2138         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2139         Use `UT_PID (u) > 0' as absolute condition.
2140
2141 2012-09-04  Jim Meyering  <meyering@redhat.com>
2142
2143         fts: reduce two or more trailing spaces to just one, usually
2144         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2145         or more slashes, trim all but the final one.  But if a name consists
2146         solely of two slashes, don't modify it.  If it consists solely of
2147         three or more slashes, strip all but one.
2148
2149         This is part of the solution to a minor problem with rm:
2150         it would print a bogus ELOOP diagnostic when failing to remove
2151         the slash-decorated name of a symlink-to-directory:
2152
2153             $ mkdir d && ln -s d s && env rm -r s/
2154             rm: cannot remove 's': Too many levels of symbolic links
2155
2156         With the change below and a trivial don't-trim-trailing-slashes
2157         adjustment to remove.c, it does this:
2158
2159             $ env rm -r s/
2160             rm: cannot remove 's/': Not a directory
2161
2162         Improved by: Eric Blake
2163
2164         fts: when there is no risk of overlap, use memcpy, not memmove
2165         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2166
2167 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2168
2169         stdbool: be more compatible with mixed C/C++ compiles
2170         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2171         Define to bool, true, false, respectively, as GCC's builtin
2172         stdbool.h does.  Problem reported by Michael Goffioul in
2173         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2174
2175 2012-08-28  Jim Meyering  <meyering@redhat.com>
2176
2177         revert last change: it was not needed
2178         * tests/test-vc-list-files-git.sh: There's already a test for
2179         a working git, just below.
2180
2181 2012-08-28  Jim Meyering  <meyering@redhat.com>
2182
2183         tests: test-vc-list-files-git.sh: skip if git is not available
2184         * tests/test-vc-list-files-git.sh: Skip this test when git is
2185         not available.
2186
2187 2012-08-26  Bruno Haible  <bruno@clisp.org>
2188
2189         gnulib-tool: Remove no-op option --no-changelog.
2190         * gnulib-tool (func_usage): Don't mention --no-changelog.
2191         (do_changelog): Remove variable.
2192         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2193
2194 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2195
2196         doc: remove fdl-1.2.texi
2197         It is no longer used or maintained, and its use of @acronym
2198         is problematic.  See the thread containing
2199         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2200         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2201         * doc/old-licenses/fdl-1.2.texi: Remove.
2202
2203         execinfo: port to FreeBSD
2204         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2205         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2206         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2207         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2208
2209 2012-08-23  Jim Meyering  <meyering@redhat.com>
2210
2211         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2212         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2213         to placate gcc's -Wold-style-declaration.
2214
2215 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2216
2217         doc: do not use @acronym
2218         * doc/inet_ntoa.texi (inet_ntoa):
2219         * doc/parse-datetime.texi (Seconds since the Epoch)
2220         (Specifying time zone rules):
2221         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2222         Don't use @acronym.  Problem reported by John Darlington in
2223         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2224
2225 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2226
2227         stdnoreturn: port to newer GCCs
2228         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2229         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2230         Problem reported by Jim Meyering in
2231         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2232         Also, rename the 'test' function to a void a clash with the
2233         already-supplied 'main' function; this fixes a bug that incorrectly
2234         rejected GCC 4.7.1's <stdnoreturn.h>.
2235         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2236         Document GCC problem.
2237
2238 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2239
2240         pipe-filter: fix comment typo
2241         * lib/pipe-filter.h: Mention correct function.
2242
2243 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2244
2245         execinfo: new module
2246         This is for Emacs.  Currently, it provides a no-effect stub
2247         on all platforms where it does not already work.
2248         It already works on glibc-based systems, and on Solaris 11.
2249         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2250         New files.
2251         * doc/glibc-headers/execinfo.texi (execinfo.h):
2252         * MODULES.html.sh (Misc): Document it.
2253
2254 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2255
2256         extern-inline: support old GCC 'inline'
2257         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2258         if available.  This applies to GCC versions 2.7 through 4.2, or
2259         when newer GCC is using -fgnu89-inline.  The goal is to address
2260         some of the performance issues mentioned by Bruno Haible in
2261         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2262
2263 2012-08-20  Eric Blake  <eblake@redhat.com>
2264
2265         maint.mk: avoid redundant file name in message
2266         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2267         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2268         (sc_makefile_path_separator_check): Remove bogus $(ME).
2269
2270 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2271
2272         timer-time: fix link order when static linking on glibc
2273         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2274         _after_ -lrt so that it's significant.
2275
2276 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2277
2278         timespec: omit unnecessary AC_C_INLINE
2279         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2280
2281         stat-time: omit unnecessary AC_C_INLINE
2282         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2283         Do not require AC_C_INLINE.
2284
2285         ignore-value: omit unnecessary AC_C_INLINE
2286         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2287
2288         sys_select: avoid 'static inline'
2289         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2290
2291         mktime: avoid 'static inline'
2292         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2293         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2294
2295 2012-08-19  Bruno Haible  <bruno@clisp.org>
2296
2297         gnulib-tool: Improve coding style.
2298         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2299         func_emit_lib_Makefile_am.
2300         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2301
2302 2012-08-19  Bruno Haible  <bruno@clisp.org>
2303
2304         gnulib-tool: Fix indentation.
2305         * gnulib-tool (func_import): Fix indentation.
2306
2307 2012-08-19  Bruno Haible  <bruno@clisp.org>
2308
2309         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2310         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2311         on the list of removed files.
2312
2313 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2314
2315         test-parse-datetime: avoid glibc leap-second glitch
2316         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2317         with the 2012 rules.  Problem reported by Bruce Dubbs in
2318         <http://bugs.gnu.org/12206>.
2319
2320 2012-08-14  Bruno Haible  <bruno@clisp.org>
2321
2322         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2323         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2324         from argument.
2325         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2326
2327 2012-08-14  Eric Blake  <eblake@redhat.com>
2328
2329         ldexp: relax license
2330         * modules/ldexp (License): Trivial relax, since the module only
2331         provides a permissively licensed m4 file.
2332
2333 2012-08-13  Bruno Haible  <bruno@clisp.org>
2334
2335         gnulib-tool: Fix persistence of --witness-c-macro option.
2336         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2337         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2338
2339 2012-08-11  Eric Blake  <eblake@redhat.com>
2340
2341         count-leading-zeros: use a lookup table on non-gcc compilers
2342         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2343         alternate implementation, suggested by Jim Meyering.
2344
2345 2012-08-10  Eric Blake  <eblake@redhat.com>
2346
2347         count-leading-zeros: new module
2348         * modules/count-leading-zeros: New module.
2349         * m4/count-leading-zeros.m4: New file.
2350         * lib/count-leading-zeros.h: Likewise.
2351         * modules/count-leading-zeros-tests: New test.
2352         * tests/test-count-leading-zeros.c: New file.
2353         * MODULES.html.sh (Integer arithmetic functions): Document it.
2354
2355 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2356             Jim Meyering  <meyering@redhat.com>
2357
2358         maintainer-makefile: Fix syntax error with dash.
2359         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2360         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2361
2362 2012-08-05  Jim Meyering  <meyering@redhat.com>
2363
2364         extern-inline: also ignore -Wmissing-declarations
2365         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2366         required with gcc-4.8.0-to-be.
2367
2368         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2369         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2370         for /error ?([^,]*)/.  This avoids false-positives for strings like
2371         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2372
2373 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2374
2375         gnumakefile: better interaction with Automake-NG
2376         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2377         Automake-NG always contain a definition of VPATH, even in non-VPATH
2378         builds (its value being simply '.' in that case).  So, in the
2379         'clean-GNUmakefile' rule, to determine whether running under a
2380         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2381         '$(VPATH)' expands to the empty string.
2382
2383 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2384
2385         base64: Use extern C scope in header file, for C++.
2386         * lib/base64.h: Add C++ namespace protection.
2387
2388 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2389
2390         stat-time, timespec, u64: support naive out-of-dir builds
2391         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2392         Use '#include "foo.h"', not '#include <foo.h>', when including
2393         one's own interface.  This works better when configuring with
2394         out-of-directory builds, since packages need not add an
2395         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2396
2397 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2398
2399         utimens: use extern-inline
2400         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2401         * lib/utimens.h: Add copyright notice, since this is now large enough
2402         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2403         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2404         * modules/utimens (Depends-on): Add extern-inline.
2405
2406         u64: use extern-inline
2407         * lib/u64.c: New file.
2408         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2409         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2410         * modules/u64 (Files): Add lib/u64.c.
2411         (Depends-on): Add extern-inline.
2412         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2413         does that now.
2414         (lib_SOURCES): Add u64.c.
2415
2416         timespec: use extern-inline
2417         * lib/timespec.c: New file.
2418         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2419         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2420         * modules/timespec (Files): Add lib/timespec.c.
2421         (Depends-on): Add extern-inline.
2422         (lib_SOURCES): Add timespec.c.
2423
2424         stat-time: use extern-inline
2425         * lib/stat-time.c: New file.
2426         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2427         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2428         * modules/stat-time (Files): Add lib/stat-time.c.
2429         (Depends-on): Add extern-inline.
2430         (lib_SOURCES): Add stat-time.c.
2431
2432         extern-inline: new module
2433         * modules/extern-inline, m4/extern-inline.m4: New files.
2434         This is for better support of 'extern inline' a la ISO C99,
2435         with a portable alternative on compilers that do not support
2436         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2437         of the Emacs executable, when compiled with debugging disabled,
2438         which is a typical way that Emacs is built while developing.
2439
2440 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2441
2442         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2443         * build-aux/do-release-commit-and-tag: Move variable definitions
2444         together.
2445         ($branch): Instead of defaulting to "master", default to the current
2446         branch (as gnu-web-doc-update does).
2447         (help): Display the current values of the option arguments.
2448         * top/maint.mk (release-commit): New.
2449         * top/README-release: Simplify the corresponding step.
2450
2451 2012-07-30  Eric Blake  <eblake@redhat.com>
2452
2453         passfd: fix comment on recvfd
2454         * lib/passfd.c (recvfd): Fix comment.
2455         Reported by Jann Horn <jannhorn@googlemail.com>.
2456
2457 2012-07-30  Jim Meyering  <meyering@redhat.com>
2458
2459         maint.mk: avoid a sub-shell
2460         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2461
2462 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2463
2464         maint.mk: use silent-rules support from Automake
2465         * top/maint.mk (news-check, vc-diff-check, announcement)
2466         (no-submodule-changes, alpha beta stable, release-prep)
2467         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2468
2469 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2470
2471         maint.mk: provide a web-manual-update target
2472         * top/maint.mk: here.
2473         * top/README-release: Use it to simplify the web manual update step.
2474
2475 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2476
2477         README-release: shorten the circuit to post a news
2478         * top/README-release: Point directly to the news submission form.
2479
2480 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2481
2482         gnu-web-doc-update: fix --help
2483         * build-aux/gnu-web-doc-update: The information "top level" was written
2484         twice.
2485
2486 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2487
2488         maint.mk: absolute VPATH issue
2489         * top/maint.mk (release-prep): Help Git find .git/.
2490         From Jim Meyering.
2491
2492 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2493
2494         gitlog-to-changelog: fix previous change
2495         * build-aux/gitlog-to-changelog: Fix condition.
2496         Add missing ";".
2497
2498 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2499
2500         gitlog-to-changelog: don't expect .git to be in $srcdir
2501         Reported by Bruno Haible.
2502         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2503         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2504         Use it.
2505
2506 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2507
2508         maint.mk: absolute VPATH build fix
2509         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2510         $(srcdir) is not a parent of $(builddir).
2511
2512 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2513
2514         clean-temp: Fix memory leak.
2515         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2516         'files' members of tmpdir.
2517
2518 2012-07-27  Jim Meyering  <meyering@redhat.com>
2519
2520         maint.mk: new rule: refresh-gnulib-patches
2521         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2522         Use this rule to refresh them.
2523         * top/maint.mk (refresh-gnulib-patches): New rule.
2524
2525 2012-07-24  Bruno Haible  <bruno@clisp.org>
2526
2527         gnulib-tool: Fix handling of inctests variable.
2528         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2529         Reported by Nick Bowler <nbowler@elliptictech.com>.
2530
2531 2012-07-22  Bruno Haible  <bruno@clisp.org>
2532
2533         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2534         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2535         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2536         Remove exemption for getpass.h.
2537         Suggested by Eric Blake.
2538
2539 2012-07-20  Eric Blake  <eblake@redhat.com>
2540
2541         verify: document conflict with -Wnested-externs
2542         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2543
2544         maint.mk: forbid exit(-1)
2545         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2546
2547 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2548
2549         fsusage: port back to Solaris
2550         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2551         error (fsd not declared) on Solaris 10.  Reported privately by
2552         Andrew Borodin.
2553
2554 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2555
2556         gnu-web-doc-update: fix error messages
2557         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2558
2559         gnu-web-doc-update: check the requirements.
2560         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2561         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2562         * build-aux/bootstrap (find_tool): Comment change.
2563
2564 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2565
2566         maint.mk: minor simplication.
2567         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2568         for default values.
2569
2570 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2571
2572         gitlog-to-changelog: VPATH build issues
2573         If builddir is not a subdirectory of srcdir, running git from it will
2574         fail.
2575         * build-aux/gitlog-to-changelog (--srcdir): New option.
2576
2577 2012-07-15  Bruno Haible  <bruno@clisp.org>
2578
2579         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2580         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2581         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2582         Remove exemption for fpending.h.
2583         Suggested by Eric Blake.
2584
2585 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2586
2587         pthread_sigmask: fix bug on FreeBSD 9
2588         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2589         Include string.h.
2590         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2591         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2592         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2593         but pthread_sigmask (1729, NULL, NULL) returns zero.
2594         See <http://bugs.gnu.org/11884>.
2595         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2596         by inspecting whether the main call changed the old mask.
2597
2598 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2599
2600         README-release: make it more legible
2601         * top/README-release: Improve typography slightly.
2602
2603 2012-07-15  Jim Meyering  <meyering@redhat.com>
2604
2605         maint: require that each sc_... command start with "@"
2606         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2607         "make sc_maint" helps us avoid this nit.
2608
2609 2012-07-15  Jim Meyering  <meyering@redhat.com>
2610
2611         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2612         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2613
2614 2012-07-13  Eric Blake  <eblake@redhat.com>
2615
2616         maint.mk: new syntax check for HAVE_DECL checks
2617         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2618         * cfg.mk
2619         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2620         Exempt some false positives.
2621         Based on a report by Karel Zak.
2622
2623         argp: make HAVE_DECL usage consistent
2624         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2625         macros, not whether they are defined.
2626         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2627         convention with other declaration checks.
2628         Reported by Karel Zak, with suggestions from Paul Eggert.
2629
2630         stat-time: relax license to LGPLv2+
2631         * modules/stat-time (License): Relax, with consent of all authors.
2632
2633         strndup: fix m4 usage error
2634         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2635         defined, to either 0 or 1.
2636         Reported by Karel Zak.
2637
2638 2012-07-11  Jim Meyering  <meyering@redhat.com>
2639
2640         maint: enable the sc_avoid_if_before_free syntax-check rule
2641         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2642         (if_before_free_offenders_): Define.
2643         (if_before_free_basename_re_): Define.
2644         Exempt current files with useless if-before-free.
2645
2646 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2647
2648         gettext: do not assume '#define ... defined ...' behavior
2649         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2650         Do not use '#define FOO ... defined BAR ...', as the C standard says
2651         it's not portable to expect that this works after macro expansion.
2652         Problem reported for gzip by Steven M. Schweda in
2653         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2654
2655 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2656
2657         getloadavg: clean out old Emacs and Autoconf cruft
2658         See Glenn Morris in <http://bugs.gnu.org/11905>.
2659         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2660         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2661         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2662         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2663
2664 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2665
2666         bootstrap: let warn be like tests/init.sh's warn_
2667         Reported by Jim Meyering.
2668         * build-aux/bootstrap (warn): Remove, replaced by...
2669         (warnf_, warn_): these.
2670         Adjust callers.
2671         Shorten messages that no longer fit in 80 columns.
2672
2673 2012-07-09  Bruno Haible  <bruno@clisp.org>
2674
2675         getopt: Simplify after Emacs changed.
2676         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2677         (gl_GETOPT_IFELSE): Remove macro.
2678
2679 2012-07-09  Jim Meyering  <meyering@redhat.com>
2680
2681         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2682         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2683
2684         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2685         Bugs in both of those conspired to make the
2686         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2687         _sc_search_regexp's handling of non-empty $in_files would filter
2688         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2689         choice of in_files value meant there would be no match in most
2690         projects, due to the presence of two or more Makefile.in files.
2691         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2692         Fix a bug in how a non-empty $$in_files was processed:
2693         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2694         in spite of the name, it's a regexp, not a list of file names.
2695
2696 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2697
2698         getloadavg, getopt: fix commentary re configure.in
2699         Autoconf is deprecating the name 'configure.in', so change it to
2700         to the new name 'configure.ac' in a couple of places.
2701         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2702         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2703         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2704         Emacs has renamed it to configure.ac, and it no longer refers
2705         to these macros anyway.
2706
2707         timespec: mark functions with const attributes
2708         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2709         Mark with _GL_ATTRIBUTE_CONST.
2710
2711 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2712
2713         canonicalize[-lgpl]: handle "guessing" values when cross-building
2714         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2715         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2716         matches "*yes" instead of just "yes".  Regression introduced in commit
2717         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2718
2719 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2720             Bruno Haible  <bruno@clisp.org>
2721
2722         canonicalize: make the right guess when cross-compiling to GNU
2723         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2724         determine whether cross-compiling to glibc systems, so as to
2725         include GNU/Hurd.
2726
2727 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2728
2729         timespec-sub: avoid duplicate include
2730         * lib/timespec-sub.c: Do not include <config.h> twice.
2731         Reported by Juanma Barranquero.
2732
2733 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2734
2735         bootstrap: use a more consistent error reporting scheme
2736         * build-aux/bootstrap (warn, die): New.
2737         Use them.
2738
2739 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2740
2741         sys_time: allow too-wide tv_sec
2742         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2743         timeval even if tv_sec is wider than time_t.  This allows
2744         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2745         as without this patch gnulib replaces struct timeval
2746         and OpenBSD futimes therefore has a type mismatch.
2747         * doc/posix-headers/sys_time.texi: Mention this.
2748
2749         pthread: check for both pthread_create and pthread_join
2750         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2751         alter the check so that it tests for both pthread_create and
2752         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2753         Suggested by Bruno Haible and Richard Yao in
2754         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2755
2756         parse-datetime: doc tuneup
2757         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2758         spacing issues.
2759
2760 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2761
2762         do-release-commit-and-tag: fix the previous commit
2763         * build-aux/do-release-commit-and-tag: Actually the test was right,
2764         but the comment and the error message were misleading.
2765         Fix comment, and improve error message.
2766         Perform check first, so that NEWS is not modified uselessly.
2767
2768         do-release-commit-and-tag: fix typo
2769         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
2770         _not_ start with a stub.
2771
2772 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2773
2774         pthread: check for pthread_create, not pthread_join
2775         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
2776         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
2777         pthread_join in libc.  I hope this removes the need for all the
2778         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
2779         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
2780
2781 2012-07-04  Jim Meyering  <meyering@redhat.com>
2782
2783         parse-datetime: fix failure to diagnose invalid input
2784         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
2785         rather than diagnosing the invalid input.  Now it reports this:
2786         date: invalid date '\260'
2787         * lib/parse-datetime.y (to_uchar): Define.
2788         (yylex): Don't sign-extend "other" bytes.
2789         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
2790         Thanks to Bruno Haible for the patch to this file.
2791         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
2792         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
2793
2794 2012-07-03  Jim Meyering  <meyering@redhat.com>
2795
2796         bootstrap: do not require now-removed build-aux/missing
2797         Now that build-aux/missing is, er, missing, bootstrap would
2798         silently fail.
2799         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
2800         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
2801         no longer part of gnulib.
2802         Diagnose the failure.
2803
2804 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         alloca: add support for HP NonStop TNS/E native
2807         * lib/alloca.in.h (alloca): Support the new host.
2808         From a suggestion by Joachim Schmitz in
2809         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
2810
2811 2012-07-02  Pádraig Brady  <P@draigBrady.com>
2812
2813         fsusage: remove code not needed on non GNU/Linux systems.
2814
2815         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2816         Don't include headers no longer needed in this case.
2817         * lib/fsusage.c [STAT_STATVFS &&
2818         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
2819         STAT_STATFS2_FRSIZE to exclude code not used in this case.
2820
2821 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2822
2823         fsusage: include files needed for glibc 2.6 fallback
2824         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2825         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
2826         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
2827         Problem reported by Ludovic Courtès in
2828         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
2829
2830         fsusage: avoid needless check on GNU/Linux
2831         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
2832         on GNU/Linux systems, since it can't possibly work.
2833
2834 2012-07-01  Bruno Haible  <bruno@clisp.org>
2835
2836         log: Fix an autoconf >= 2.64 warning.
2837         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
2838         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2839
2840 2012-06-28  Bruno Haible  <bruno@clisp.org>
2841
2842         log10f: Fix possible configuration problem.
2843         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
2844         $LOGF_LIBM.
2845         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2846
2847 2012-06-28  Bruno Haible  <bruno@clisp.org>
2848
2849         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
2850         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
2851         not gl_cv_func_unlink_works.
2852         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2853
2854 2012-06-27  Eric Blake  <eblake@redhat.com>
2855
2856         config: drop scripts that automake says are not independent
2857         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
2858         * build-aux/elisp-comp: Delete.
2859         * build-aux/missing: Likewise.
2860         * build-aux/ylwrap: Likewise.
2861         * modules/elisp-comp: Likewise.
2862         * MODULES.html.sh: Drop mention of elisp-comp.
2863         * NEWS: Mention this.
2864
2865 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
2866
2867         root-uid: new module
2868         This is for portability to Tandem's NonStop Kernel.
2869         * lib/root-uid.h, modules/root-uid: New files.
2870         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
2871         * lib/write-any-file.c, tests/test-sethostname2.c:
2872         Include "root-uid.h".
2873         * lib/euidaccess.c (euidaccess):
2874         * lib/pt_chown.c (main):
2875         * lib/unlinkdir.c (cannot_unlink_dir):
2876         * lib/write-any-file.c (can_write_any_file):
2877         * m4/mknod.m4 (gl_FUNC_MKNOD):
2878         * tests/test-sethostname2.c (geteuid, main):
2879         Don't assume ROOT_UID == 0.
2880         * modules/euidaccess (Depends-on):
2881         * modules/pt_chown (Depends-on):
2882         * modules/sethostname-tests (Depends-on):
2883         * modules/unlinkdir (Depends-on):
2884         * modules/write-any-file (Depends-on):
2885         Add root-uid.
2886
2887         regex: use locale-independent comparison for codeset name
2888         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
2889         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
2890         for codeset name.
2891         * lib/regex_internal.h: Do not include <strings.h>, since we
2892         no longer use strcasecmp.
2893         * modules/regex (Depends-on): Remove strcase.
2894
2895 2012-06-23  Bruno Haible  <bruno@clisp.org>
2896
2897         getopt-posix: No longer guarantee that option processing is resettable.
2898         * doc/posix-functions/getopt.texi: Drop description of problem with
2899         internal state. Fix info about mingw and msvc9.
2900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
2901         option processing by getopt(). Run three test programs instead of one.
2902         Simplify cross-compilation guess.
2903         * NEWS: Mention the change.
2904         Reported by Rich Felker <dalias@aerifal.cx>.
2905
2906 2012-06-26  Bruno Haible  <bruno@clisp.org>
2907
2908         argp, regex: Ensure strcasecmp gets declared.
2909         * lib/argp-help.c: Include <strings.h>.
2910         * lib/regex_internal.h: Likewise.
2911         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
2912
2913 2012-06-24  Bruno Haible  <bruno@clisp.org>
2914
2915         ptsname_r: Make it consistent with ptsname on AIX.
2916         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
2917         implementation as for OSF/1.
2918         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
2919         a pty master.
2920
2921         ptsname_r: Make it consistent with ptsname on OSF/1.
2922         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2923         OSF/1.
2924
2925 2012-06-24  Bruno Haible  <bruno@clisp.org>
2926
2927         ttyname_r: Fix result on OSF/1, Solaris.
2928         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
2929
2930 2012-06-24  Bruno Haible  <bruno@clisp.org>
2931
2932         ptsname_r: Add support for Solaris.
2933         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2934         Solaris.
2935
2936         ptsname_r: Fix test failure on native Windows.
2937         * modules/ptsname_r (Depends-on): Add isatty.
2938
2939         ptsname_r: Fix test failures on IRIX, Solaris.
2940         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
2941         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
2942         accordingly.
2943         * lib/ptsname_r.c: Include <fcntl.h>.
2944         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
2945         set errno if fd is invalid.
2946         * tests/test-isatty.c (main): Update comments.
2947
2948 2012-06-24  Bruno Haible  <bruno@clisp.org>
2949
2950         ptsname test: Extend test.
2951         * tests/test-ptsname.c: Include <errno.h>.
2952         (main): Test behaviour with invalid file descriptor.
2953
2954 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2955
2956         time: fix obsolete comment
2957         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
2958         reference to HAVE_STRUCT_TIMESPEC in comment.
2959
2960 2012-06-23  Bruno Haible  <bruno@clisp.org>
2961
2962         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2963         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
2964         does not handle abbreviated long options with equivalent
2965         disambiguations, set gl_replace_getopt to yes.
2966         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
2967
2968 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2969
2970         time_r: fix typo that always overrode localtime_r decl
2971         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
2972         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
2973         not in a standard include.
2974
2975 2012-06-22  Bruno Haible  <bruno@clisp.org>
2976
2977         Write "Mac OS X" instead of "MacOS X".
2978         * README: Write "Mac OS X" instead of "MacOS X".
2979         * build-aux/bootstrap: Likewise.
2980         * build-aux/install-reloc: Likewise.
2981         * lib/acl-internal.h: Likewise.
2982         * lib/acl_entries.c: Likewise.
2983         * lib/argp-ba.c: Likewise.
2984         * lib/argp-pv.c: Likewise.
2985         * lib/config.charset: Likewise.
2986         * lib/copy-acl.c: Likewise.
2987         * lib/csharpexec.c: Likewise.
2988         * lib/euidaccess.c: Likewise.
2989         * lib/fbufmode.c: Likewise.
2990         * lib/fflush.c: Likewise.
2991         * lib/file-has-acl.c: Likewise.
2992         * lib/filemode.h: Likewise.
2993         * lib/fpurge.c: Likewise.
2994         * lib/freadable.c: Likewise.
2995         * lib/freadahead.c: Likewise.
2996         * lib/freading.c: Likewise.
2997         * lib/freadptr.c: Likewise.
2998         * lib/freadseek.c: Likewise.
2999         * lib/fseeko.c: Likewise.
3000         * lib/fseterr.c: Likewise.
3001         * lib/fsusage.c: Likewise.
3002         * lib/fwritable.c: Likewise.
3003         * lib/fwriting.c: Likewise.
3004         * lib/get-rusage-as.c: Likewise.
3005         * lib/get-rusage-data.c: Likewise.
3006         * lib/getdomainname.c: Likewise.
3007         * lib/idpriv-drop.c: Likewise.
3008         * lib/idpriv-droptemp.c: Likewise.
3009         * lib/localcharset.c: Likewise.
3010         * lib/locale.in.h: Likewise.
3011         * lib/localename.c: Likewise.
3012         * lib/mbsrtowcs-state.c: Likewise.
3013         * lib/nproc.c: Likewise.
3014         * lib/passfd.c: Likewise.
3015         * lib/posix_openpt.c: Likewise.
3016         * lib/printf-parse.c: Likewise.
3017         * lib/progreloc.c: Likewise.
3018         * lib/safe-read.h: Likewise.
3019         * lib/safe-write.h: Likewise.
3020         * lib/sched.in.h: Likewise.
3021         * lib/set-mode-acl.c: Likewise.
3022         * lib/signal.in.h: Likewise.
3023         * lib/stdint.in.h: Likewise.
3024         * lib/stdio-impl.h: Likewise.
3025         * lib/stdlib.in.h: Likewise.
3026         * lib/strtod.c: Likewise.
3027         * lib/sys_select.in.h: Likewise.
3028         * lib/tcgetsid.c: Likewise.
3029         * lib/unistd.in.h: Likewise.
3030         * lib/unlockpt.c: Likewise.
3031         * lib/vasnprintf.c: Likewise.
3032         * lib/vma-iter.c: Likewise.
3033         * lib/wcsrtombs-state.c: Likewise.
3034         * m4/acl.m4: Likewise.
3035         * m4/acosl.m4: Likewise.
3036         * m4/asinl.m4: Likewise.
3037         * m4/atanl.m4: Likewise.
3038         * m4/c-stack.m4: Likewise.
3039         * m4/cosl.m4: Likewise.
3040         * m4/expl.m4: Likewise.
3041         * m4/extensions.m4: Likewise.
3042         * m4/fdatasync.m4: Likewise.
3043         * m4/fmal.m4: Likewise.
3044         * m4/frexp.m4: Likewise.
3045         * m4/frexpf.m4: Likewise.
3046         * m4/frexpl.m4: Likewise.
3047         * m4/fsusage.m4: Likewise.
3048         * m4/getdomainname.m4: Likewise.
3049         * m4/getloadavg.m4: Likewise.
3050         * m4/getopt.m4: Likewise.
3051         * m4/gettext.m4: Likewise.
3052         * m4/gnulib-common.m4: Likewise.
3053         * m4/intdiv0.m4: Likewise.
3054         * m4/intlmacosx.m4: Likewise.
3055         * m4/largefile.m4: Likewise.
3056         * m4/ldexpl.m4: Likewise.
3057         * m4/link-follow.m4: Likewise.
3058         * m4/locale-ar.m4: Likewise.
3059         * m4/locale-fr.m4: Likewise.
3060         * m4/locale-ja.m4: Likewise.
3061         * m4/locale-tr.m4: Likewise.
3062         * m4/locale-zh.m4: Likewise.
3063         * m4/locale_h.m4: Likewise.
3064         * m4/lock.m4: Likewise.
3065         * m4/logl.m4: Likewise.
3066         * m4/mathfunc.m4: Likewise.
3067         * m4/minus-zero.m4: Likewise.
3068         * m4/mktime.m4: Likewise.
3069         * m4/mmap-anon.m4: Likewise.
3070         * m4/multiarch.m4: Likewise.
3071         * m4/nanosleep.m4: Likewise.
3072         * m4/nocrash.m4: Likewise.
3073         * m4/poll.m4: Likewise.
3074         * m4/printf-frexpl.m4: Likewise.
3075         * m4/printf.m4: Likewise.
3076         * m4/signbit.m4: Likewise.
3077         * m4/sinl.m4: Likewise.
3078         * m4/sqrtl.m4: Likewise.
3079         * m4/strerror_r.m4: Likewise.
3080         * m4/tanl.m4: Likewise.
3081         * m4/threadlib.m4: Likewise.
3082         * m4/ttyname_r.m4: Likewise.
3083         * m4/unlink.m4: Likewise.
3084         * m4/visibility.m4: Likewise.
3085         * m4/wcwidth.m4: Likewise.
3086         * tests/minus-zero.h: Likewise.
3087         * tests/test-alloca-opt.c: Likewise.
3088         * tests/test-copy-acl.sh: Likewise.
3089         * tests/test-copy-file.sh: Likewise.
3090         * tests/test-fdatasync.c: Likewise.
3091         * tests/test-file-has-acl.sh: Likewise.
3092         * tests/test-flock.c: Likewise.
3093         * tests/test-fsync.c: Likewise.
3094         * tests/test-localename.c: Likewise.
3095         * tests/test-malloca.c: Likewise.
3096         * tests/test-nonblocking-pipe.h: Likewise.
3097         * tests/test-nonblocking-socket.h: Likewise.
3098         * tests/test-openpty.c: Likewise.
3099         * tests/test-posix_openpt.c: Likewise.
3100         * tests/test-ptsname.c: Likewise.
3101         * tests/test-ptsname_r.c: Likewise.
3102         * tests/test-sameacls.c: Likewise.
3103         * tests/test-select.h: Likewise.
3104         * tests/test-set-mode-acl.sh: Likewise.
3105         * tests/test-snprintf-posix.h: Likewise.
3106         * tests/test-sprintf-posix.h: Likewise.
3107         * tests/test-strtod.c: Likewise.
3108         * tests/test-time.c: Likewise.
3109         * tests/test-vasnprintf-posix.c: Likewise.
3110         * tests/test-vasprintf-posix.c: Likewise.
3111         * doc/acl-resources.txt: Likewise.
3112         * doc/**/*.texi: Likewise.
3113         Reported by Max Horn <max@quendi.de>.
3114
3115 2012-06-22  Bruno Haible  <bruno@clisp.org>
3116
3117         grantpt: Relax requirement regarding invalid file descriptors.
3118         * lib/grantpt.c: Don't include <fcntl.h>.
3119         (grantpt): Don't verify the validity of the file descriptor.
3120         * modules/grantpt (Depends-on): Remove fcntl-h.
3121         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3122         file descriptors.
3123         * doc/posix-functions/grantpt.texi: Document more platforms on which
3124         grantpt succeeds for invalid file descriptors.
3125         Reported by Rich Felker <dalias@aerifal.cx>.
3126
3127 2012-06-22  Bruno Haible  <bruno@clisp.org>
3128
3129         fbufmode test: Don't test unportable behaviour.
3130         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3131         (main): Invoke it three times.
3132         Reported by Szabolcs Nagy <nsz@port70.net>
3133         and Rich Felker <dalias@aerifal.cx>.
3134
3135 2012-06-21  Bruno Haible  <bruno@clisp.org>
3136
3137         gnulib-tool: Refactor inctests variable.
3138         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3139         (func_modules_transitive_closure,
3140         func_modules_transitive_closure_separately,
3141         func_import, func_create_testdir): Update.
3142
3143         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3144         * gnulib-tool: Accept option --without-tests.
3145         (func_usage): Document --without-tests option. Rearrange.
3146         (inctests): Normalize according to the mode.
3147         * NEWS: Mention the change.
3148         Suggested by Simon Josefsson.
3149
3150 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3151
3152         parse-duration test: Avoid spurious output.
3153         * tests/test-parse-duration.sh: Reindent with leading tabs.
3154
3155 2012-06-21  Jim Meyering  <meyering@redhat.com>
3156
3157         maint: disable the strncpy prohibition
3158         * cfg.mk: Do not prohibit strncpy here.
3159
3160 2012-06-21  Bruno Haible  <bruno@clisp.org>
3161
3162         nonblocking: Avoid compilation error on mingw64.
3163         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3164         fscanf.
3165         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3166         * modules/vfscanf (configure.ac): Likewise.
3167         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3168         definition only if stdio.h has prepared it.
3169         Reported by Daniel P. Berrange <berrange@redhat.com>.
3170
3171 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3172
3173         gnulib-tool: Use readlink if it is available.
3174         * gnulib-tool (func_readlink): Choose function more appropriately.
3175
3176 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3177
3178         posixtm-tests: port to buggy compiler
3179         Problem reported by Simon Josefsson in
3180         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3181         * modules/posixtm-tests (Depends-on): Add stdint.
3182         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3183         Now of type int_least64_t, not int64_t, both because that's
3184         what INT64_C returns and because int_least64_t works even
3185         on 72-bit hosts.
3186         (T): Use INT64_C on constants outside the traditional int range,
3187         to work around compiler bug noted by Simon.
3188
3189         mktime: fix integer overflow in 'configure'-time test
3190         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3191         after integer overflow.  Problem reported by Rich Felker in
3192         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3193         Also, don't look for further instances of a bug if we've already
3194         found one instance; this helps 'configure' run faster.
3195
3196 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3197
3198         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3199         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3200         GetVersionEx correctly.
3201         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3202
3203 2012-06-20  Bruno Haible  <bruno@clisp.org>
3204
3205         fdopen: Allow implementations that don't reject invalid fd arguments.
3206         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3207         succeeds.
3208         Reported by Rich Felker <dalias@aerifal.cx>.
3209
3210 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3211
3212         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3213         bring in LIBINTL.
3214
3215 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3216
3217         init.sh: do not rely on autoupated PWD
3218         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3219         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3220         Although Nelson's bug was not necessarily fixed by this patch,
3221         it seems wise to make the change for safety.
3222         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3223         automagically after 'cd'; this is not reliable on older shells.
3224         (setup_): Fail if we cannot cd to temporary directory.
3225
3226 2012-06-19  Bruno Haible  <bruno@clisp.org>
3227
3228         stat, fstat: Avoid warnings on mingw64.
3229         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3230         redefining.
3231         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3232         Reported by Daniel P. Berrange <berrange@redhat.com>.
3233
3234 2012-06-19  Bruno Haible  <bruno@clisp.org>
3235
3236         stdioext: Add support for musl libc.
3237
3238         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3239         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3240
3241         * m4/fseterr.m4: New file.
3242         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3243         function exists.
3244         * modules/fseterr (Files): Add m4/fseterr.m4.
3245         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3246         __fseterr does not exist.
3247         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3248
3249         * lib/freadable.h: Update comment.
3250
3251         * lib/fwritable.h: Update comment.
3252
3253         * lib/freading.h: Update comment.
3254
3255         * lib/fwriting.h: Update comment.
3256
3257         * m4/freadahead.m4: New file.
3258         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3259         that function exists.
3260         * modules/freadahead (Files): Add m4/freadahead.m4.
3261         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3262         __freadahead does not exist.
3263         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3264
3265         * m4/freadptr.m4: New file.
3266         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3267         function exists.
3268         * modules/freadptr (Files): Add m4/freadptr.m4.
3269         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3270         __freadptr does not exist.
3271         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3272
3273         * m4/freadseek.m4: New file.
3274         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3275         exists.
3276         * modules/freadseek (Files): Add m4/freadseek.m4.
3277         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3278
3279         * lib/fpurge.c (fpurge): Update comment.
3280
3281         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3282
3283 2012-06-19  Bruno Haible  <bruno@clisp.org>
3284
3285         *printf-posix: Put more info into config.log.
3286         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3287         exit code into config.log.
3288
3289 2012-06-19  Bruno Haible  <bruno@clisp.org>
3290
3291         getopt-gnu: Fix exit code overflow in autoconf test.
3292         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3293         to keep them below < 128.
3294
3295 2012-06-17  Jim Meyering  <meyering@redhat.com>
3296
3297         maint.mk: fix typo in code to derive GPG key at release time
3298         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3299
3300 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3301
3302         regex: avoid warning when pointers are not long
3303         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3304         and uintptr_t, not long, for portability to hosts where pointers and
3305         long have different sizes.  Issue noted by Daniel P. Berrange in
3306         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3307         and fix suggested by Bruno Haible in
3308         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3309
3310 2012-06-17  Bruno Haible  <bruno@clisp.org>
3311
3312         dummy: Relicense into the public domain.
3313         * modules/dummy (License): Set to "public domain".
3314         Suggested by Reuben Thomas.
3315
3316 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3317
3318         announce-gen: VPATH issues
3319         * build-aux/announce-gen (--srcdir): New option, used to trim the
3320         $srcdir part of the path from $builddir to NEWS.
3321         * top/maint.mk (announcement): Adjust.
3322
3323 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3324
3325         gnu-web-doc-update: VPATH builds
3326         * build-aux/gnu-web-doc-update (--builddir): New option.
3327         Revamp the handling of options.
3328         Prefer $(...) to `...`.
3329         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3330         the template, and it is GNU mktemp specific.
3331         Prefer set -e to long series of &&.
3332         Restore the initial git branch, not "master".
3333         Properly initialize submodules (don't rely only on bootstrap).
3334         Do not reconfigure blindly, use config.status.
3335         * top/README-release: Update instructions for gnu-web-doc-update.
3336
3337 2012-06-11  Jim Meyering  <meyering@redhat.com>
3338
3339         maint.mk: revert most of the previous change re "all these"
3340         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3341         For rationale, see the discussion at
3342         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3343
3344 2012-06-10  Karl Berry  <karl@gnu.org>
3345
3346         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3347
3348         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3349
3350 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3351
3352         parse-duration: Relicense under LGPLv2+.
3353         * modules/parse-duration (License): Change to LGPLv2+.
3354
3355 2012-06-10  Jim Meyering  <meyering@redhat.com>
3356
3357         maint.mk: prohibit common grammar error: "all these"
3358         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3359         the list of prohibited word sequences.  It should be "all of these".
3360         * lib/tempname.c (__gen_tempname): Fix one of them.
3361
3362 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3363
3364         do-release-commit-and-tag: support VPATH builds
3365         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3366         (noteworthy): Defined earlier to factor its value.
3367         (noteworthy_stub): New.
3368         Use it to factor.
3369         (help_version): Split into...
3370         (help, version): these.
3371         Adjust the option processing part.
3372         Support "--option=value" in addition to "--option value".
3373         (builddir): New.
3374         (--builddir): New option.
3375         * top/README-release: Document this.
3376         Reword slightly so that the reader cannot understand that he
3377         has to do these steps before calling do-release-commit-and-tag.
3378
3379 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3380
3381         readme-release: also require announce-gen and maintainer-makefile
3382         * modules/readme-release (Depends-on): here.
3383         * modules/announce-gen, modules/do-release-commit-and-tag,
3384         modules/gnu-web-doc-update, modules/maintainer-makefile
3385         (Description): Point to readme-release.
3386
3387 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3388
3389         maint.mk: fix VPATH issues.
3390         * top/maint.mk (news-check): GNU Make understand $< very well.
3391         (release-prep): NEWS is in $(srcdir).
3392
3393 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3394
3395         readme-release: require the promoted modules.
3396         * modules/readme-release (Depends-on): Add
3397         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3398         in this text.
3399
3400 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3401             Bruno Haible  <bruno@clisp.org>
3402
3403         error, strerror-override: Support mingw64 from Fedora 17.
3404         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3405         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3406         EINPROGRESS.
3407         * lib/strerror-override.h (strerror_override): Test it.
3408         * lib/strerror-override.c (strerror_override): Likewise.
3409         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3410
3411 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3412             Bruno Haible  <bruno@clisp.org>
3413
3414         error, strerror-override: Support mingw64 from Fedora 17.
3415         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3416         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3417         * lib/strerror-override.h (strerror_override): Test it.
3418         * lib/strerror-override.c (strerror_override): Likewise.
3419
3420 2012-06-03  Bruno Haible  <bruno@clisp.org>
3421
3422         error, strerror-override: Support new errno values from POSIX:2008.
3423         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3424         ENOTRECOVERABLE.
3425         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3426         platforms.
3427         * lib/strerror-override.c (strerror_override): Conditionalize the
3428         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3429         * lib/strerror-override.h (strerror_override): Declare also if
3430         GNULIB_defined_EOWNERDEAD is defined.
3431         * tests/test-errno.c (e130, e131): New variables.
3432         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3433         ENOTRECOVERABLE.
3434         Reported by Paolo Bonzini.
3435
3436 2012-05-31  Jim Meyering  <meyering@redhat.com>
3437
3438         savewd: add missing dependency on sys_wait module
3439         * modules/savewd (Depends-on): Add sys_wait, needed at least
3440         for MSVC.  Report and suggested change by Michael Goffioul.
3441
3442 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3443
3444         system-quote-tests: port to CentOS 5
3445         Problem reported by Tom G. Christensen in
3446         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3447         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3448
3449 2012-05-29  Jim Meyering  <meyering@redhat.com>
3450
3451         maint: fix typos in comments and ChangeLog
3452         Culprits identified and fixed mostly automatically using these commands:
3453         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3454         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3455         using http://github.com/lyda/misspell-check
3456         * ChangeLog: Fix typos.
3457         * doc/solaris-versions: Likewise.
3458         * lib/regexec.c (re_search_stub): Likewise.
3459         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3460
3461 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3462
3463         manywarnings: remove duplicate -Wmultichar entry
3464         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3465         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3466         so keep the entry marked as documented.
3467
3468 2012-05-27  Karl Berry  <karl@gnu.org>
3469
3470         * config/srclist.txt (mktime.c): remove last libc sync,
3471         perhaps just temporarily.
3472
3473 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3474
3475         regex: don't assume uint64_t or uint32_t
3476         * lib/regcomp.c (init_word_char): Don't assume that the types
3477         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3478         them, and on some 32-bit compilers there is no uint64_t.
3479         Problem reported by Gianluigi Tiesi in
3480         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3481
3482 2012-05-25  Jim Meyering  <meyering@redhat.com>
3483
3484         maint.mk: add strncpy-prohibiting syntax-check rule
3485         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3486
3487 2012-05-24  Jim Meyering  <meyering@redhat.com>
3488
3489         maint.mk: compute $(gpg_key_ID) more portably
3490         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3491         That use of sed is not portable to some fringe systems.
3492         Reported by Paul Eggert in
3493         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3494
3495 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3496
3497         mktime: sync from glibc
3498         * config/srclist.txt: Uncomment mktime.c.
3499         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3500         First, indent with tabs, since glibc uses tabs and doesn't want to
3501         change and we'd rather be identical to glibc.  Also, two small
3502         coding changes:
3503         (isdst_differ): Use &&, not &, as && is the usual style.
3504         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3505         for clarity.
3506
3507 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3508
3509         announce-gen: du -h is more portable than du --human
3510         * build-aux/announce-gen (sizes): Invoke du with -h instead
3511         of --human.  Accept leading white space in its output.
3512
3513 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3514
3515         announce-gen: Improve diagnostics.
3516         * build-aux/announce-gen: When parsing command line options,
3517         prefer "announce-gen: option --release-type requires an argument"
3518         to "Option release-type requires an argument".
3519
3520 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3521
3522         maint.mk: gpg_key_ID: use sed more portably
3523         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3524         the closing brace.
3525         (refresh-po): Fuse two sed invocations into one.
3526
3527 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3528
3529         gitlog-to-changelog: support the log message format used in Bison.
3530         * build-aux/gitlog-to-changelog: Support --strip-tab and
3531         --strip-cherry-picked.
3532
3533 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3534
3535         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3536         the rest of the current time slice to another thread in the current
3537         process. So if the thread that feeds the file decscriptor we're
3538         polling is not in the current process, we get busy-waiting.
3539         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3540         Patch from Theodore Leblond.
3541         * lib/select.c: Split polling out of the loop that sets the output
3542         fd_sets.  Check for zero result and loop if the wait timeout is
3543         infinite.
3544
3545 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3546
3547         select: Fix build error on IRIX 6.5.
3548         * lib/select.c: Include stddef.h for NULL.
3549
3550 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3551
3552         gc: fix libgcrypt detection on older machines.
3553         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3554         copyright years because the file has been distributed every year
3555         since it was created.
3556
3557 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3558
3559         crypto: fix bug in large buffer handling
3560         Problem reported by Serge Belyshev for glibc in
3561         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3562         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3563         * lib/md4.c (md4_process_block):
3564         * lib/md5.c (md5_process_block):
3565         * lib/sha1.c (sha1_process_block):
3566         * lib/sha256.c (sha256_process_block):
3567         Don't assume the buffer length is less than 2**32.
3568         * lib/sha512.c (sha512_process_block): Likewise.
3569         Here, the bug is present only in the rare case where the host does
3570         not support uint64_t or where size_t is wider than 64 bits.
3571         Use u64size to work around the problems.
3572         * lib/u64.h (u64size): New macro.
3573
3574 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3575
3576         fsusage: fix block size returned on older Linux 2.6
3577
3578         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3579         which is available since Linux 2.6.
3580         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3581         when the member is available so it can be used as a fallback.
3582         * doc/posix-functions/statvfs.texi: Mention the hang issue
3583         on Linux < 2.6.36.
3584
3585 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3586
3587         bootstrap: suppress stderr chatter
3588         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3589         Omit unnecessary chatter to stderr.  The main program chatter
3590         was there only inadvertantly.
3591
3592         bootstrap: .gitignore files created by autopoint, libtool
3593         I ran into this problem when bootstrapping the latest diffutils.
3594         After './bootstrap', 'git status' reported lots of untracked files
3595         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3596         autopoint and do not need to be version-controlled.
3597         * build-aux/bootstrap: Put into .gitignore the files that
3598         autopoint and libtool create, by keeping track of files that exist
3599         after but not before these programs are run.
3600         (version_controlled_file): Move up.  2nd arg is now full file
3601         name, not base name; this is more convenient.  Put CVS at the end,
3602         as it's now somewhat deprecated.
3603
3604 2012-05-14  Jim Meyering  <meyering@redhat.com>
3605
3606         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3607         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3608         definition.  Reported by Bruno Haible.
3609
3610 2012-05-13  Bruno Haible  <bruno@clisp.org>
3611             Paul Eggert  <eggert@cs.ucla.edu>
3612
3613         binary-io: Define set_binary_mode function.
3614         * lib/binary-io.h (set_binary_mode): New function.
3615         (SET_BINARY): Define in terms of set_binary_mode.
3616         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3617         * tests/test-binary-io.c (main): Accept an argument, and test either
3618         set_binary_mode or SET_BINARY depending on the argument.
3619         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3620         argument. Clean up also t-bin-out0.tmp.
3621
3622 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3623
3624         bootstrap: take advantage of POSIX shell features
3625
3626         The 'bootstrap' script offered by Gnulib script already uses POSIX
3627         shell features (like $((...)) arithmetic expansions) that are not
3628         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3629         means that bootstrap must already be run using a proper POSIX shell,
3630         which will thus provide more features, like ${var#pattern} parameter
3631         expansion or inversion of a command exit status with '!'.  We can
3632         thus use these features to improve the clarity and the performances
3633         of the bootstrap script.
3634
3635         Suggested by Eric Blake.
3636
3637         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3638         of sed/expr plus command substitutions, to save some forks.  While
3639         we are at it, prefer the POSIX $(...) form of command substitution,
3640         rather than the legacy form `...` (since the former is visually
3641         clearer and interacts better with quoting), and prefer the idiom:
3642           "if ! CMD; then ACTION ..."
3643         over the idiom:
3644           "if CMD; then :; else ACTION ..."
3645         which was required by legacy Bourne shells not supporting '!'.
3646
3647 2012-05-12  Bruno Haible  <bruno@clisp.org>
3648
3649         system-quote: Add more comments.
3650         * lib/system-quote.h: Add more comments about wilcards and limitations.
3651         Suggested by Eli Zaretskii <eliz@gnu.org>.
3652
3653         sh-quote, system-quote: Add comments about wildcards.
3654         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3655         * lib/system-quote.h: Likewise.
3656         Reported by Eli Zaretskii <eliz@gnu.org>.
3657
3658 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3659
3660         fsusage: check for GNU/Linux statvfs problem dynamically
3661         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3662         Define STAT_STATFS2_BSIZE too, since in this case the code now
3663         checks dynamically whether statvfs is reliable, falling back on
3664         Linux-style statfs otherwise.
3665         (statvfs_works): New function, for dynamically testing statvfs.
3666         (get_fs_usage) [STAT_STATVFS]: Use it.
3667         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3668         statvfs on GNU/Linux hosts, since it's now done dynamically.
3669
3670 2012-05-10  Bruno Haible  <bruno@clisp.org>
3671
3672         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3673         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3674         '?' character.
3675         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3676         * tests/test-system-quote-main.c (check_all): Check also strings like
3677         "??????????".
3678         Reported by Eli Zaretskii <eliz@gnu.org>.
3679
3680 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3681
3682         _Noreturn: port config.h to gcc -Wundef
3683         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3684         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3685         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3686
3687 2012-05-10  Bruno Haible  <bruno@clisp.org>
3688
3689         system-quote: Refactor.
3690         * lib/system-quote.h (system_quote_copy): Fix comment.
3691         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3692         New functions, extracted from system_quote_copy.
3693         (system_quote_length, system_quote_copy): Use these functions.
3694         Reported by Paul Eggert.
3695
3696 2012-05-08  Bruno Haible  <bruno@clisp.org>
3697
3698         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3699         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3700
3701 2012-05-08  Bruno Haible  <bruno@clisp.org>
3702
3703         Tests for module 'system-quote'.
3704         * modules/system-quote-tests: New file.
3705         * tests/test-system-quote.sh: New file.
3706         * tests/test-system-quote-main.c: New file.
3707         * tests/test-system-quote-child.c: New file.
3708
3709         New module 'system-quote'.
3710         * lib/system-quote.h: New file.
3711         * lib/system-quote.c: New file.
3712         * modules/system-quote: New file.
3713
3714 2012-05-08  Bruno Haible  <bruno@clisp.org>
3715
3716         sh-quote: Make C++ safe and allow multiple inclusion.
3717         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3718         declarations in extern "C".
3719
3720 2012-05-08  Bruno Haible  <bruno@clisp.org>
3721
3722         sh-quote tests: Make tests stricter.
3723         * tests/test-sh-quote.c (check_one): Check the return value of
3724         shell_quote_copy.
3725         (main): Check a string with a CR character. Check a string that
3726         contains UCHAR_MAX.
3727
3728 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3729
3730         warnings.m4: provide a means to specify the program to compile.
3731         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3732         (gl_WARN_ADD): here.
3733         Use gl_AS_VAR_APPEND.
3734         Support an argument to specify the program to compile.
3735         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3736         AC_SUBST the WARN_CFLAGS when they are used.
3737         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3738         leave this to gl_WARN_ADD.
3739
3740 2012-05-08  Eric Blake  <eblake@redhat.com>
3741
3742         doc: recommendations on gettext version
3743         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3744         choice between versions.
3745         * DEPENDENCIES (gettext): Cover both approaches.
3746
3747 2012-05-08  Jim Meyering  <meyering@redhat.com>
3748
3749         init.sh: explain why EXEEXT support uses aliases rather than functions
3750         * tests/init.sh: Add a comment.
3751
3752         init.sh: don't let bash aliases interfere with tests
3753         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3754         is bash.  This avoids problems for those who alias standard commands to
3755         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3756         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3757
3758 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3759
3760         stdint: be more consistent with glibc, SunOS libc
3761         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3762         (gl_int_fast16_t, gl_uint_fast16_t)
3763         (gl_int_fast32_t, gl_uint_fast32_t)
3764         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3765         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
3766         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3767         Be consistent with glibc by default, and with SunOS 5.10 and later
3768         if __sun is defined.  This lessens the likelihood of clashes if
3769         code compiled for older hosts is combined with code compiled for
3770         newer ones.  Problem reported by Niels Möller in
3771         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
3772
3773 2012-05-07  Eric Blake  <eblake@redhat.com>
3774
3775         isatty: relax license to LGPLv2+
3776         * modules/isatty (License): Relax license.
3777
3778 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3779
3780         stat-size: comment fix
3781         * lib/stat-size.h: Remove obsolete comment about indenting.
3782
3783 2012-05-06  Bruno Haible  <bruno@clisp.org>
3784
3785         Tests for module 'sh-quote'.
3786         * modules/sh-quote-tests: New file.
3787         * tests/test-sh-quote.c: New file.
3788
3789 2012-05-06  Bruno Haible  <bruno@clisp.org>
3790
3791         sh-quote: Improve shell_quote_argv's signature.
3792         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
3793         * lib/sh-quote.c (shell_quote_argv): Likewise.
3794
3795 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3796
3797         stdint: document issues with int_fast8_t etc.
3798         * doc/posix-headers/stdint.texi (stdint.h): Say that other
3799         stdint.h substitutes may define these types differently.  See
3800         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
3801
3802 2012-05-05  Bruno Haible  <bruno@clisp.org>
3803
3804         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
3805         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
3806         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
3807         or 'guessing no (mishandles large arguments)'.
3808
3809 2012-05-05  Bruno Haible  <bruno@clisp.org>
3810
3811         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
3812         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
3813         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3814         set gl_cv_func_link_follows_symlink to "guessing no".
3815
3816 2012-05-05  Bruno Haible  <bruno@clisp.org>
3817
3818         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
3819         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
3820         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
3821         "guessing no".
3822         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
3823
3824 2012-05-05  Bruno Haible  <bruno@clisp.org>
3825
3826         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
3827         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
3828         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3829         set gl_cv_struct_dirent_d_ino to "guessing yes".
3830
3831 2012-05-05  Bruno Haible  <bruno@clisp.org>
3832
3833         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
3834         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
3835         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
3836         "guessing yes".
3837
3838 2012-05-05  Bruno Haible  <bruno@clisp.org>
3839
3840         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
3841         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
3842         compiling to a glibc system, set gl_cv_func_signbit and
3843         gl_cv_func_signbit_gcc to "guessing yes".
3844
3845 2012-05-05  Bruno Haible  <bruno@clisp.org>
3846
3847         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
3848         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
3849         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
3850         to "guessing yes".
3851         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
3852         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
3853
3854 2012-05-05  Bruno Haible  <bruno@clisp.org>
3855
3856         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
3857         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
3858         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
3859         gl_cv_func_realpath_works to "guessing yes".
3860
3861 2012-05-05  Bruno Haible  <bruno@clisp.org>
3862
3863         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
3864         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
3865         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
3866
3867 2012-05-04  Bruno Haible  <bruno@clisp.org>
3868
3869         Tweak last commit.
3870         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
3871         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3872
3873 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
3874
3875         unistd_h: make it easier to avoid sys_types_h
3876         This is useful for Emacs, which has its own method of porting to
3877         Windows, and which therefore does not need the sys_types_h module.
3878         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
3879         code moved here from gl_SYS_TYPES_H.
3880         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
3881         using the code directly.
3882         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
3883         gl_SYS_TYPES_H.
3884         * modules/sys_types (Files):
3885         * modules/unistd (Files): Add m4/off_t.m4.
3886
3887 2012-05-03  Bruno Haible  <bruno@clisp.org>
3888
3889         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
3890         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
3891         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
3892         "guessing yes" or "guessing no".
3893         (gl_FUNC_LSTAT): Update.
3894         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
3895         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3896         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
3897
3898 2012-05-03  Bruno Haible  <bruno@clisp.org>
3899
3900         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
3901         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
3902         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
3903         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
3904         cross-compiling, choose the first alternative on glibc systems.
3905         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
3906
3907 2012-05-03  Bruno Haible  <bruno@clisp.org>
3908
3909         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
3910         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
3911         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
3912
3913 2012-05-03  Bruno Haible  <bruno@clisp.org>
3914
3915         chown: Avoid "guessing no" when cross-compiling to glibc systems.
3916         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
3917
3918 2012-05-03  Bruno Haible  <bruno@clisp.org>
3919
3920         Avoid "guessing no" guesses when cross-compiling to glibc systems.
3921         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
3922         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
3923         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
3924         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
3925         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
3926         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
3927         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
3928         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
3929         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
3930         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3931         gl_cv_func_chown_ctime_works to "guessing yes".
3932         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3933         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3934         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3935         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3936         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3938         compiling to glibc systems, set gl_cv_func_open_directory_works to
3939         "guessing yes".
3940         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
3941         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
3942         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
3943         "guessing yes".
3944         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
3945         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
3946         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
3947         compiling to glibc systems, set gl_cv_func_floorf_ieee to
3948         "guessing yes".
3949         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
3950         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
3951         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
3952         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
3953         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
3954         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
3955         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
3956         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
3957         "guessing yes".
3958         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
3959         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
3960         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
3961         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
3962         "guessing yes".
3963         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
3964         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
3965         "guessing yes".
3966         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
3967         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
3968         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
3969         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
3970         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
3971         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
3972         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
3973         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
3974         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
3975         compiling to glibc systems, set gl_cv_func_log10f_ieee to
3976         "guessing yes".
3977         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
3978         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
3979         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
3980         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
3981         "guessing yes".
3982         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
3983         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
3984         "guessing yes".
3985         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
3986         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
3987         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
3988         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
3989         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
3990         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
3991         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
3992         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
3993         compiling to glibc systems, set gl_cv_func_mkfifo_works to
3994         "guessing yes".
3995         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
3996         compiling to glibc systems, set gl_cv_func_mknod_works to
3997         "guessing yes".
3998         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
3999         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4000         "guessing yes".
4001         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4002         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4003         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4004         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4005         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4006         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4007         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4008         compiling to glibc systems, set gl_cv_func_svid_putenv to
4009         "guessing yes".
4010         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4011         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4012         "guessing yes".
4013         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4014         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4015         "guessing yes".
4016         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4017         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4018         to "guessing yes".
4019         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4020         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4021         to "guessing yes".
4022         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4023         compiling to glibc systems, set gl_cv_func_rmdir_works to
4024         "guessing yes".
4025         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4026         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4027         gl_cv_func_unlink_parent_fails to "guessing yes".
4028         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4029         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4030         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4031         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4032         gl_cv_func_rename_dest_works to "guessing yes".
4033         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4034         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4035         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4036         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4037         "guessing yes".
4038         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4039         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4040         "guessing yes".
4041         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4042         compiling to glibc systems, set gl_cv_func_setenv_works to
4043         "guessing yes".
4044         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4045         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4046         "guessing yes".
4047         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4048         compiling to glibc systems, set gl_cv_func_sleep_works to
4049         "guessing yes".
4050         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4051         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4052         "guessing yes".
4053         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4054         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4055         "guessing yes".
4056         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4057         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4058         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4059         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4060         "guessing yes".
4061         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4062         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4063         "guessing yes".
4064         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4065         compiling to glibc systems, set gl_cv_func_usleep_works to
4066         "guessing yes".
4067         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4068         compiling to glibc systems, set gl_cv_func_futimesat_works to
4069         "guessing yes".
4070
4071 2012-05-03  Bruno Haible  <bruno@clisp.org>
4072
4073         Say "guessing yes" or "guessing no" when cross-compiling.
4074         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4075         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4076         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4077         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4078         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4079         am_cv_func_working_getline to "guessing yes" or "guessing no".
4080         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4081         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4082         (gl_FUNC_MEMMEM): When cross-compiling, set
4083         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4084         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4085         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4087         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4088         "guessing no".
4089         (gl_FUNC_STRCASESTR): When cross-compiling, set
4090         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4091         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4092         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4093         (gl_FUNC_STRSTR): When cross-compiling, set
4094         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4095         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4096         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4097         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4098         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4099
4100 2012-05-01  Bruno Haible  <bruno@clisp.org>
4101
4102         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4103         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4104         * build-aux/reloc-ldflags: Likewise.
4105         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4106
4107 2012-05-01  Bruno Haible  <bruno@clisp.org>
4108
4109         gnulib-tool: Remove transitional code.
4110         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4111         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4112
4113 2012-05-01  Bruno Haible  <bruno@clisp.org>
4114
4115         getcwd: Fix misindentation.
4116         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4117
4118 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4119
4120         exclude: process exclude and include directives in order
4121         This restores the pre-2009 behavior, and is part of a fix of a
4122         grep bug reported by Quentin Arce in
4123         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4124         * lib/exclude.c (struct exclude): Remove 'tail' member.
4125         (new_exclude_segment): Prepend the new segment instead of appending.
4126         Return void, since that's now more convenient.
4127         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4128         (file_name_matches): Renamed from excluded_file_name_p.
4129         (file_pattern_matches, file_name_matches):
4130         Return true if the pattern matches, not if it excludes.
4131         All callers changed.
4132         (excluded_file_name): Process the list in reverse order;
4133         since the list is now reversed this restores the pre-2009 behavior.
4134         (add_exclude): Adjust to new reversed-order list.  Use local var
4135         rather than macro, for clarity.
4136         * tests/test-exclude7.sh: Adjust to corrected behavior.
4137
4138         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4139         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4140         it's not possible here.  Handle the case of \ at end of pattern
4141         without dumping core.
4142         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4143
4144         _Noreturn: future-proof non-GNU and non-MSVC compilers
4145         * build-aux/snippet/_Noreturn.h (_Noreturn):
4146         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4147         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4148         C11 or later.  This is more likely to work with random future C
4149         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4150         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4151
4152         exclude: handle wildcards with FNM_EXTMATCH
4153         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4154         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4155         comment that "has wildcards" really means "has or may have
4156         wildcards".  Simplify by avoiding the need to call strcspn.
4157
4158 2012-04-29  Bruno Haible  <bruno@clisp.org>
4159
4160         gnulib-tool: Fix list of authors.
4161         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4162
4163 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4164
4165         bootstrap: support Automake-NG in $buildreq
4166         * bootstrap (check_versions): Handle automake and aclocal from
4167         Automake-NG specially.  They can be specified as respectively
4168         the "automake-ng" and "aclocal-ng" requirements.
4169
4170 2012-04-25  Eric Blake  <eblake@redhat.com>
4171
4172         bootstrap: only force latest Makefile.in.in for gettext module
4173         * build-aux/bootstrap (with_gettext): Only install latest
4174         Makefile.in.in for projects requesting bleeding edge gettext.
4175
4176 2012-04-22  Bruno Haible  <bruno@clisp.org>
4177
4178         doc: Mention reason for replacement on glibc/Linux systems.
4179         * doc/posix-functions/dprintf.texi: Mention the problem with special
4180         'long double' values.
4181         * doc/posix-functions/fprintf.texi: Likewise.
4182         * doc/posix-functions/printf.texi: Likewise.
4183         * doc/posix-functions/snprintf.texi: Likewise.
4184         * doc/posix-functions/sprintf.texi: Likewise.
4185         * doc/posix-functions/vdprintf.texi: Likewise.
4186         * doc/posix-functions/vfprintf.texi: Likewise.
4187         * doc/posix-functions/vprintf.texi: Likewise.
4188         * doc/posix-functions/vsnprintf.texi: Likewise.
4189         * doc/posix-functions/vsprintf.texi: Likewise.
4190         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4191         platforms with F_DUPFD_CLOEXEC problems.
4192         * doc/posix-functions/glob.texi: Mention which platforms are affected
4193         by the problem with symbolic links.
4194         * doc/posix-functions/linkat.texi: Mention the problem with
4195         AT_SYMLINK_FOLLOW on Linux.
4196
4197 2012-04-22  Bruno Haible  <bruno@clisp.org>
4198
4199         pwrite: Don't replace on all platforms.
4200         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4201
4202 2012-04-22  Bruno Haible  <bruno@clisp.org>
4203
4204         rint* tests: Avoid gcc warnings.
4205         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4206         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4207         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4208
4209 2012-04-21  Bruno Haible  <bruno@clisp.org>
4210
4211         users.txt: Update.
4212         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4213         switched from CVS to git, bzr, or svn.
4214
4215 2012-04-21  Bruno Haible  <bruno@clisp.org>
4216
4217         Large File Support for native Windows platforms.
4218
4219         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4220         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4221
4222         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4223         type.
4224         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4225         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4226         * doc/posix-headers/sys_types.texi: Mention the effect of the
4227         'largefile' module.
4228
4229         * lib/fcntl.in.h: Add comments about off_t.
4230         * modules/fcntl-h (Depends-on): Add sys_types.
4231
4232         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4233         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4234         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4235         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4236         * modules/unistd (Depends-on): Add sys_types.
4237         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4238
4239         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4240         instead of lseek.
4241         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4242         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4243         * modules/lseek (Depends-on): Add sys_types.
4244
4245         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4246         msvc-nothrow.h.
4247         (SetFileSize): New function.
4248         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4249         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4250         if Large File Support is requested.
4251         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4252         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4253
4254         * lib/stdio.in.h: Add comments about off_t.
4255         * modules/stdio (Depends-on): Add sys_types.
4256
4257         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4258         instead of ftello.
4259         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4260         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4261         (gl_PREREQ_FTELLO): New macro.
4262         * modules/ftello (Depends-on): Add sys_types.
4263         (configure.ac): Incoke gl_PREREQ_FTELLO.
4264
4265         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4266         instead of fseeko.
4267         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4268         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4269         (gl_PREREQ_FSEEKO): New macro.
4270         * modules/fseeko (Depends-on): Add sys_types.
4271         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4272
4273         * lib/sys_stat.in.h: Add comments about off_t.
4274         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4275         64-bit integer for st_size in 'struct stat'.
4276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4277         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4278         * modules/sys_stat (Depends-on): Add sys_types.
4279         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4280
4281         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4282         instead of stat or _stat.
4283
4284         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4285         'struct _stati64' instead of fstat and 'struct stat'.
4286         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4287         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4288
4289         Reported by Ray Satiro <raysatiro@yahoo.com>.
4290
4291 2012-04-19  Eric Blake  <eblake@redhat.com>
4292
4293         bootstrap: accommodate older libtool
4294         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4295         Reported by Daniel P. Berrange.
4296
4297 2012-04-19  Jim Meyering  <meyering@redhat.com>
4298
4299         announce-gen: avoid failure due to lack of Digest::SHA1
4300         Even with the preferred Digest::SHA available, this script
4301         would fail when the backup module, Digest::SHA1, was not installed.
4302         * build-aux/announce-gen: Quote the conditional use of "use".
4303         Reported by Reuben Thomas in:
4304         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4305
4306         bootstrap: don't let a user's CDPATH setting affect this script
4307         When CDPATH is set, cd will sometimes generate output.
4308         When "cd" is run in a subshell whose output matters, that
4309         surprising-to-some output can cause malfunction.
4310         Unsetting CDPATH turns off this shell "feature."
4311         * build-aux/bootstrap (CDPATH): Unset.
4312         Reported by Reuben Thomas in:
4313         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4314         and inspired by his patch here:
4315         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4316
4317 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4318         and Jim Meyering  <meyering@redhat.com>
4319
4320         maint.mk: catch "see @xref{}" and similar
4321         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4322         prohibit "See also @xref{", "Also see @pxref{", and similar.
4323
4324 2012-04-16  Jim Meyering  <meyering@redhat.com>
4325
4326         bootstrap: really use gnulib's po/Makefile.in.in
4327         * build-aux/bootstrap: Correct the source file name in previous change.
4328         Reported by Akim Demaille.
4329
4330         configmake: correct minor inconsistency in Makefile rule
4331         * modules/configmake (Makefile.am): All other rules like this one
4332         run the final "mv -f ..." in the same backslash-continued command
4333         as the one that does everything else.  This one put the mv -f ...
4334         command on a separate, non-backslash-continued line.
4335         Make it like the others.
4336
4337         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4338         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4339         the one from gettext.  Reported by Akim Demaille.
4340
4341 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4342
4343         Fix recursion of install-* into po directories.
4344         Bison's install-pdf bug reported by Hans Aberg at
4345         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4346         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4347         (install-info, install-pdf, install-ps): New targets.
4348
4349 2012-04-16  Jim Meyering  <meyering@redhat.com>
4350
4351         maint: avoid spurious "make sc_maint" failure
4352         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4353         exempt all *.class file names, for lib/javaversion.class.
4354
4355 2012-04-15  Bruno Haible  <bruno@clisp.org>
4356
4357         lseek: Make configure test independent of environment.
4358         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4359         Windows, we know that lseek() on pipes is broken; skip the runtime
4360         test.
4361
4362 2012-04-14  Bruno Haible  <bruno@clisp.org>
4363
4364         stat: Bypass buggy override in mingw64.
4365         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4366         * lib/stat.c (stat) [mingw64]: Define to _stat.
4367         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4368
4369 2012-04-14  Bruno Haible  <bruno@clisp.org>
4370
4371         pathmax: Fix compilation error on MSVC 9.
4372         * modules/pathmax (Depends-on): Add unistd.
4373
4374 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4375
4376         README: document pointer comparison assumption
4377         * README (Portability guidelines): Document assumption about
4378         pointer comparisons, in response to a recent bug-gnulib comment by
4379         Jeffrey Kegler.
4380
4381 2012-04-12  Bruno Haible  <bruno@clisp.org>
4382
4383         Tests for module 'getrusage'.
4384         * modules/getrusage-tests: New file.
4385         * tests/test-getrusage.c: New file.
4386
4387         New module 'getrusage'.
4388         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4389         warn-on-use.h.
4390         (getrusage): New declaration.
4391         * lib/getrusage.c: New file.
4392         * m4/getrusage.m4: New file.
4393         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4394         is declared.
4395         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4396         HAVE_GETRUSAGE.
4397         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4398         snippet/c++defs, snippet/warn-on-use.
4399         (Makefile.am): Update generation of sys/resource.h. Substitute
4400         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4401         * modules/getrusage: New file.
4402         * doc/posix-functions/getrusage.texi: Mention the new module.
4403
4404 2012-04-12  Bruno Haible  <bruno@clisp.org>
4405
4406         Tests for module 'sys_resource'.
4407         * modules/sys_resource-tests: New file.
4408         * tests/test-sys_resource.c: New file.
4409
4410         New module 'sys_resource'.
4411         * lib/sys_resource.in.h: New file.
4412         * m4/sys_resource_h.m4: New file.
4413         * modules/sys_resource: New file.
4414         * doc/posix-headers/sys_resource.texi: Mention the new module.
4415
4416 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4417
4418         ioctl: Fix compilation error on mingw.
4419         * lib/ioctl.c: Include <windows.h>.
4420         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4421
4422 2012-04-04  Jim Meyering  <meyering@redhat.com>
4423
4424         regex: correct #pragma guard expression
4425         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4426         not 4.3.  Correct its cpp guard expression.
4427
4428 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4429
4430         regex: remove unnecessary type punning
4431         Problem reported by Vladimir Serbinenko in
4432         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4433         * lib/regex.h (struct re_pattern_buffer): Change the type of
4434         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4435         Fix comment to match code.
4436         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4437         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4438         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4439         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4440         (set_regs):
4441         Omit no-longer-necessary casts.
4442
4443 2012-04-03  Bruno Haible  <bruno@clisp.org>
4444
4445         Tests for module 'ilogbl'.
4446         * modules/ilogbl-tests: New file.
4447         * tests/test-ilogbl.c: New file.
4448
4449         New module 'ilogbl'.
4450         * lib/math.in.h (ilogbl): New declaration.
4451         * lib/ilogbl.c: New file.
4452         * m4/ilogbl.m4: New file.
4453         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4455         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4456         Split sed invocation, to avoid the limit of 100 substitutions of
4457         HP-UX 'sed'.
4458         * modules/ilogbl: New file.
4459         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4460         * doc/posix-functions/ilogbl.texi: Mention the new module.
4461
4462 2012-04-03  Bruno Haible  <bruno@clisp.org>
4463
4464         Tests for module 'ilogbf'.
4465         * modules/ilogbf-tests: New file.
4466         * tests/test-ilogbf.c: New file.
4467
4468         New module 'ilogbf'.
4469         * lib/math.in.h (ilogbf): New declaration.
4470         * lib/ilogbf.c: New file.
4471         * m4/ilogbf.m4: New file.
4472         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4474         REPLACE_ILOGBF.
4475         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4476         REPLACE_ILOGBF.
4477         * modules/ilogbf: New file.
4478         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4479         * doc/posix-functions/ilogbf.texi: Mention the new module.
4480
4481 2012-04-03  Bruno Haible  <bruno@clisp.org>
4482
4483         Tests for module 'ilogb'.
4484         * modules/ilogb-tests: New file.
4485         * tests/test-ilogb.c: New file.
4486         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4487         tests/test-logb-ieee.h.
4488
4489         New module 'ilogb'.
4490         * lib/math.in.h (ilogb): New declaration.
4491         * lib/ilogb.c: New file.
4492         * m4/ilogb.m4: New file.
4493         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4494         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4495         REPLACE_ILOGB.
4496         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4497         REPLACE_ILOGB.
4498         * modules/ilogb: New file.
4499         * tests/test-math-c++.cc: Check the declaration of ilogb.
4500         * doc/posix-functions/ilogb.texi: Mention the new module.
4501
4502 2012-04-03  Bruno Haible  <bruno@clisp.org>
4503
4504         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4505         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4506         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4507         (main): Check their values.
4508         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4509         problem.
4510
4511 2012-04-03  Bruno Haible  <bruno@clisp.org>
4512
4513         Tests for module 'logbl-ieee'.
4514         * modules/logbl-ieee-tests: New file.
4515         * tests/test-logbl-ieee.c: New file.
4516
4517         New module 'logbl-ieee'.
4518         * modules/logbl-ieee: New file.
4519
4520         Tests for module 'logb-ieee'.
4521         * modules/logb-ieee-tests: New file.
4522         * tests/test-logb-ieee.c: New file.
4523
4524         New module 'logb-ieee'.
4525         * modules/logb-ieee: New file.
4526
4527         Tests for module 'logbf-ieee'.
4528         * modules/logbf-ieee-tests: New file.
4529         * tests/test-logbf-ieee.c: New file.
4530         * tests/test-logb-ieee.h: New file.
4531
4532         New module 'logbf-ieee'.
4533         * modules/logbf-ieee: New file.
4534
4535 2012-04-03  Bruno Haible  <bruno@clisp.org>
4536
4537         Tests for module 'logbl'.
4538         * modules/logbl-tests: New file.
4539         * tests/test-logbl.c: New file.
4540
4541         New module 'logbl'.
4542         * lib/math.in.h (logbl): New declaration.
4543         * lib/logbl.c: New file.
4544         * m4/logbl.m4: New file.
4545         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4547         REPLACE_LOGBL.
4548         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4549         REPLACE_LOGBL.
4550         * modules/logbl: New file.
4551         * tests/test-math-c++.cc: Check the declaration of logbl.
4552         * doc/posix-functions/logbl.texi: Mention the new module.
4553
4554 2012-04-02  Bruno Haible  <bruno@clisp.org>
4555
4556         Tests for module 'logbf'.
4557         * modules/logbf-tests: New file.
4558         * tests/test-logbf.c: New file.
4559
4560         New module 'logbf'.
4561         * lib/math.in.h (logbf): New declaration.
4562         * lib/logbf.c: New file.
4563         * m4/logbf.m4: New file.
4564         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4565         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4566         REPLACE_LOGBF.
4567         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4568         REPLACE_LOGBF.
4569         * modules/logbf: New file.
4570         * tests/test-math-c++.cc: Check the declaration of logbf.
4571         * doc/posix-functions/logbf.texi: Mention the new module.
4572
4573 2012-04-02  Bruno Haible  <bruno@clisp.org>
4574
4575         logb tests: More tests.
4576         * tests/test-logb.h: New file, based on tests/test-logb.c and
4577         tests/test-frexp.h.
4578         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4579         (main): Just invoke test_function.
4580         * modules/logb-tests (Files): Add tests/test-logb.h,
4581         tests/minus-zero.h, tests/randomd.c.
4582         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4583
4584         logb: Provide replacement and workarounds.
4585         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4586         is 1.
4587         * lib/logb.c: New file.
4588         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4589         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4591         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4592         * modules/logb (Files): Add lib/logb.c.
4593         (Depends-on): Add isfinite, frexp, isnand.
4594         (configure.ac): Compile the replacement code logb.c if needed.
4595         * tests/test-math-c++.cc: Check the declaration of logb.
4596         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4597         with subnormal numbers.
4598
4599 2012-04-02  Bruno Haible  <bruno@clisp.org>
4600
4601         log10* tests: Speed up.
4602         * tests/test-log10.h (test_function): Reduce amount of random numbers
4603         to test.
4604
4605 2012-04-01  Bruno Haible  <bruno@clisp.org>
4606
4607         logf-ieee: Fix test whether logf works.
4608         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4609
4610 2012-04-01  Bruno Haible  <bruno@clisp.org>
4611
4612         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4613         * lib/log10l.c: Include <float.h>
4614         (log10l): On IRIX, normalize the +Infinity value.
4615         * modules/log10l (Depends-on): Add 'float'.
4616         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4617         +Infinity.
4618
4619         log10f-ieee: Work around test failure on NetBSD 5.1.
4620         * m4/log10f-ieee.m4: New file.
4621         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4622         test whether log10f works with a negative argument. Replace it if not.
4623         * lib/log10f.c (log10f): For negative arguments, return NaN.
4624         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4625         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4626         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4627
4628         log10f-ieee: Work around test failure on Solaris 9.
4629         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4630         (configure.ac): Require gl_FUNC_LOG10F.
4631
4632         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4633         * m4/log10-ieee.m4: New file.
4634         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4635         whether log10 works with a negative argument. Replace it if not.
4636         * lib/log10.c (log10): For negative arguments, return NaN.
4637         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4638         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4639         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4640
4641         Tests for module 'log10l-ieee'.
4642         * modules/log10l-ieee-tests: New file.
4643         * tests/test-log10l-ieee.c: New file.
4644
4645         New module 'log10l-ieee'.
4646         * modules/log10l-ieee: New file.
4647
4648         Tests for module 'log10-ieee'.
4649         * modules/log10-ieee-tests: New file.
4650         * tests/test-log10-ieee.c: New file.
4651
4652         New module 'log10-ieee'.
4653         * modules/log10-ieee: New file.
4654
4655         Tests for module 'log10f-ieee'.
4656         * modules/log10f-ieee-tests: New file.
4657         * tests/test-log10f-ieee.c: New file.
4658         * tests/test-log10-ieee.h: New file.
4659
4660         New module 'log10f-ieee'.
4661         * modules/log10f-ieee: New file.
4662
4663 2012-04-01  Bruno Haible  <bruno@clisp.org>
4664
4665         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4666         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4667         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4668         workaround.
4669         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4670         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4671         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4672         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4673         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4674         (Depends-on): Update conditions.
4675         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4676         IRIX 6.5, OSF/1 5.1 problems.
4677
4678 2012-04-01  Bruno Haible  <bruno@clisp.org>
4679
4680         log10f: Work around OSF/1 5.1 bug.
4681         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4682         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4683         workaround.
4684         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4685         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4686         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4687         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4688         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4689         (Depends-on): Update conditions.
4690         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4691
4692 2012-04-01  Bruno Haible  <bruno@clisp.org>
4693
4694         log10: Work around OSF/1 5.1 bug.
4695         * lib/math.in.h (log10): New declaration.
4696         * lib/log10.c: New file.
4697         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4698         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4699         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4701         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4702         * modules/log10 (Files): Add lib/log10.c.
4703         (Depends-on): Add math.
4704         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4705         * tests/test-math-c++.cc: Check the declaration of log10.
4706         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4707
4708 2012-03-31  Bruno Haible  <bruno@clisp.org>
4709
4710         log10l tests: More tests.
4711         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4712         tests/minus-zero.h, tests/randoml.c.
4713         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4714         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4715         (main): Invoke test_function.
4716
4717         log10f tests: More tests.
4718         * modules/log10f-tests (Files): Add tests/test-log10.h,
4719         tests/minus-zero.h, tests/randomf.c.
4720         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4721         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4722         (main): Invoke test_function.
4723
4724         log10 tests: More tests.
4725         * tests/test-log10.h: New file.
4726         * modules/log10-tests (Files): Add tests/test-log10.h,
4727         tests/minus-zero.h, tests/randomd.c.
4728         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4729         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4730         (main): Invoke test_function.
4731
4732 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4733
4734         fflush: Fix syntax error.
4735         * lib/fflush.c: Include unused-parameter.h, needed for
4736         _GL_UNUSED_PARAMETER.
4737         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4738
4739 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4740
4741         regex: pacify GCC when compiling GRUB
4742         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4743         a diagnostic.  Reported by Vladimir Serbinenko in
4744         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4745
4746 2012-03-29  Eric Blake  <eblake@redhat.com>
4747
4748         stdio: don't assume gets any more
4749         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4750         support.
4751         * modules/stdio (Makefile.am): Likewise.
4752         * lib/stdio-read.c (gets): Likewise.
4753         * tests/test-stdio-c++.cc: Likewise.
4754         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4755         * lib/stdio.in.h (gets): Make warning occur in more places.
4756         * doc/posix-functions/gets.texi (gets): Update documentation.
4757         Reported by Christer Solskogen.
4758
4759         maint.mk: fix syntax checks without exclusions
4760         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4761         Reported by Daniel P. Berrange.
4762
4763         strerror_r: avoid compiler warning
4764         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4765         level.
4766
4767         fflush: avoid compiler warning
4768         * lib/fflush.c (update_fpos_cache): Mark variables that are
4769         potentially unused.
4770
4771 2012-03-25  Bruno Haible  <bruno@clisp.org>
4772
4773         Tests for module 'localeconv'.
4774         * modules/localeconv-tests: New file.
4775         * tests/test-localeconv.c: New file.
4776
4777         New module 'localeconv'.
4778         * lib/locale.in.h (localeconv): New declaration.
4779         * lib/localeconv.c: New file.
4780         * m4/localeconv.m4: New file.
4781         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
4782         REPLACE_LOCALECONV.
4783         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
4784         REPLACE_LOCALECONV.
4785         * modules/localeconv: New file.
4786         * modules/nl_langinfo (Depends-on): Add localeconv.
4787         * modules/human (Depends-on): Likewise.
4788         * doc/posix-functions/localeconv.texi: Mention the new module.
4789
4790 2012-03-25  Bruno Haible  <bruno@clisp.org>
4791
4792         locale: Provide a complete 'struct lconv'.
4793         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4794         'struct lconv' does not contain int_p_cs_precedes.
4795         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4796         * doc/posix-headers/locale.texi: Update.
4797
4798         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
4799         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
4800         * doc/posix-headers/locale.texi: Update.
4801
4802         locale: Provide a working 'struct lconv'.
4803         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
4804         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4805         'struct lconv' does not even contain decimal_point.
4806         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
4807         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
4808         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4809         * doc/posix-headers/locale.texi: Mention the problems with
4810         'struct lconv'.
4811         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4812
4813 2012-03-24  Bruno Haible  <bruno@clisp.org>
4814
4815         Enable common subexpression optimization in GCC.
4816         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
4817         macros.
4818         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
4819         GCC attribute 'const'.
4820         (uc_locale_language): Declare with GCC attribute 'pure'.
4821         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
4822         with GCC attribute 'const'.
4823         * lib/unictype.in.h (uc_is_general_category_withtable,
4824         uc_combining_class, uc_combining_class_name,
4825         uc_combining_class_long_name, uc_bidi_class_name,
4826         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
4827         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
4828         uc_decimal_value, uc_digit_value, uc_numeric_value,
4829         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
4830         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
4831         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
4832         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
4833         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
4834         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
4835         Declare with GCC attribute 'const'.
4836         (uc_general_category_name, uc_general_category_long_name,
4837         uc_general_category_byname, uc_general_category,
4838         uc_is_general_category, uc_combining_class_byname,
4839         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
4840         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
4841         Declare with GCC attribute 'pure'.
4842         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
4843         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
4844         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
4845         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
4846         with GCC attribute 'pure'.
4847         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
4848         'const'.
4849         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
4850         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
4851         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
4852         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
4853         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
4854         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
4855         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
4856         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
4857         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
4858         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
4859         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
4860         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
4861         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
4862         GCC attribute 'pure'.
4863         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
4864         'const'.
4865         * lib/uniwidth.in.h (uc_width): Simplify declaration.
4866         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
4867         u32_strwidth): Declare with GCC attribute 'pure'.
4868
4869         Enable common subexpression optimization in GCC.
4870         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4871         (alphasort): Declare with GCC attribute 'pure'.
4872         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4873         (atoll): Declare with GCC attribute 'pure'.
4874         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4875         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4876         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
4877         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4878         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
4879         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
4880         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
4881
4882 2012-03-24  Bruno Haible  <bruno@clisp.org>
4883
4884         gnulib-tool: Avoid unintended error output from 'cmp'.
4885         * gnulib-tool (func_add_file, func_update_file, func_import): Use
4886         "cmp -s", not "cmp > /dev/null".
4887
4888 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4889
4890         gnulib-tool: fix imprecise comments w.r.t. an automake bug
4891
4892         It's not just Automake versions < 1.9b that creates an empty
4893         pkgdatadir at installation time if pkgdata_DATA is specified
4894         to empty; modern automake versions do this as well, at least
4895         until automake 1.11.4 (not yet released at the moment of writing,
4896         but soon to appear).  That behaviour was generally considered a
4897         feature rather than a bug, at least until this discussion:
4898         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
4899
4900         See also automake bugs #10997 and #11030.
4901
4902         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
4903         reference to relevant automake bug numbers.
4904         (func_emit_tests_Makefile_am): Likewise.
4905
4906 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4907
4908         announce-gen: use Digest::SHA when possible
4909         * build-aux/announce-gen: Use Digest::SHA when possible, falling
4910         back to Digest::SHA1 if necessary.
4911
4912 2012-03-20  Jim Meyering  <meyering@redhat.com>
4913
4914         tests: avoid gcc warnings about argv vs. const initializers
4915         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
4916         warnings about discarding 'const' qualifier from pointer target type.
4917         * tests/test-posix_spawn2.c (main): Likewise.
4918
4919 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4920
4921         README-release: simplify slightly
4922         * top/README-release: Run "git checkout master" only once.
4923
4924 2012-03-15  Mark Wielaard  <mark@klomp.org>
4925
4926         git-merge-changelog: add specific example on how to use with hg.
4927         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
4928
4929 2012-03-18  Mark Wielaard  <mark@klomp.org>
4930
4931         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4932
4933 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4934
4935         git-version-gen: don't let "prefix" envvar cause trouble
4936         * build-aux/git-version-gen (prefix): Initialize properly,
4937         so as not to use a value specified via the environment.
4938         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4939
4940 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4941
4942         regex: diagnose too-large repeat counts in EREs
4943         Previously, the code did not diagnose the too-large repeat count
4944         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
4945         as if it were 'b\{1000000000}', which is unexpected.
4946         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
4947         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
4948         is a reasonable one for this problem.  Another option would be to
4949         create a new REG_OVERFLOW error for repeat counts that are too large.
4950         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
4951         count is too large, so that the caller can distinguish the two cases.
4952         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
4953         "Too large" return code, and that repeat counts are one example of this.
4954
4955 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4956
4957         doc: some glibc x32 integer width issues
4958         * doc/posix-headers/sys_types.texi (sys/types.h):
4959         * doc/posix-headers/time.texi (time.h):
4960         Mention that glibc x32 does not conform to POSIX in a couple of
4961         areas related to integer widths.
4962
4963 2012-03-15  Bruno Haible  <bruno@clisp.org>
4964
4965         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
4966         * lib/fma.c (VOLATILE): New macro.
4967         (FUNC): Use it to work around a GCC compiler bug.
4968
4969 2012-03-13  Bruno Haible  <bruno@clisp.org>
4970
4971         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4972         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
4973         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
4974         REPLACE_HYPOTL to 1.
4975         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
4976
4977 2012-03-13  Bruno Haible  <bruno@clisp.org>
4978
4979         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4980         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
4981         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
4982         REPLACE_REMAINDERL to 1.
4983         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
4984         bug.
4985
4986 2012-03-13  Bruno Haible  <bruno@clisp.org>
4987
4988         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4989         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
4990         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
4991         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
4992         too big rounding errors.
4993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
4994         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
4995         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
4996         (Depends-on): Update conditions.
4997         * tests/test-sqrtl.c (my_ldexpl): New function.
4998         (main): Add test of a particular value.
4999         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5000
5001 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5002
5003         doc: Update timer_* platform portability notes.
5004         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5005         that always return ENOSYS.
5006         * doc/posix-functions/timer_delete.texi: Likewise.
5007         * doc/posix-functions/timer_gettime.texi: Likewise.
5008         * doc/posix-functions/timer_settime.texi: Likewise.
5009
5010 2012-03-13  Bruno Haible  <bruno@clisp.org>
5011
5012         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5013         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5014         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5015         REPLACE_CBRTL to 1.
5016         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5017
5018 2012-03-13  Bruno Haible  <bruno@clisp.org>
5019
5020         remainderl: Avoid compilation error on AIX >= 5.2.
5021         * lib/math.in.h (remainderl): Undefine macro from the system header.
5022
5023 2012-03-13  Bruno Haible  <bruno@clisp.org>
5024
5025         Avoid compilation errors with MSVC option -fp:strict.
5026         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5027         * lib/cbrtf.c: Likewise.
5028         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5029
5030 2012-03-12  Bruno Haible  <bruno@clisp.org>
5031
5032         uninorm: Don't crash in out-of-memory conditions.
5033         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5034         gracefully.
5035         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5036         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5037
5038 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5039
5040         quote: fix syntax-check
5041         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5042         also exports quote_quoting_options.
5043
5044 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5045
5046         Collapse list of copyright years to ranges.  See
5047         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5048         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5049         build-aux/csharpexec.sh.in, build-aux/gnupload,
5050         build-aux/install-reloc, build-aux/javacomp.sh.in,
5051         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5052         build-aux/move-if-change, build-aux/reloc-ldflags,
5053         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5054
5055 2012-03-11  Bruno Haible  <bruno@clisp.org>
5056
5057         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5058         * m4/log2f-ieee.m4: New file.
5059         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5060         whether log2f works with a minus zero argument. Replace it if not.
5061         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5062         (Depends-on): Add log2-ieee.
5063         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5064         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5065
5066         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5067         * m4/log2-ieee.m4: New file.
5068         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5069         whether log2 works with a minus zero argument. Replace it if not.
5070         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5071         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5072         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5073
5074         Tests for module 'log2l-ieee'.
5075         * modules/log2l-ieee-tests: New file.
5076         * tests/test-log2l-ieee.c: New file.
5077
5078         New module 'log2l-ieee'.
5079         * modules/log2l-ieee: New file.
5080
5081         Tests for module 'log2-ieee'.
5082         * modules/log2-ieee-tests: New file.
5083         * tests/test-log2-ieee.c: New file.
5084
5085         New module 'log2-ieee'.
5086         * modules/log2-ieee: New file.
5087
5088         Tests for module 'log2f-ieee'.
5089         * modules/log2f-ieee-tests: New file.
5090         * tests/test-log2f-ieee.c: New file.
5091         * tests/test-log2-ieee.h: New file.
5092
5093         New module 'log2f-ieee'.
5094         * modules/log2f-ieee: New file.
5095
5096 2012-03-11  Bruno Haible  <bruno@clisp.org>
5097
5098         Tests for module 'log2l'.
5099         * modules/log2l-tests: New file.
5100         * tests/test-log2l.c: New file.
5101
5102         New module 'log2l'.
5103         * lib/math.in.h (log2l): New declaration.
5104         * lib/log2l.c: New file.
5105         * m4/log2l.m4: New file.
5106         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5108         REPLACE_LOG2L.
5109         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5110         REPLACE_LOG2L.
5111         * modules/log2l: New file.
5112         * tests/test-math-c++.cc: Check the declaration of log2l.
5113         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5114         and OSF/1 problems.
5115
5116 2012-03-11  Bruno Haible  <bruno@clisp.org>
5117
5118         Tests for module 'log2f'.
5119         * modules/log2f-tests: New file.
5120         * tests/test-log2f.c: New file.
5121
5122         New module 'log2f'.
5123         * lib/math.in.h (log2f): New declaration.
5124         * lib/log2f.c: New file.
5125         * m4/log2f.m4: New file.
5126         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5128         REPLACE_LOG2F.
5129         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5130         REPLACE_LOG2F.
5131         * modules/log2f: New file.
5132         * tests/test-math-c++.cc: Check the declaration of log2f.
5133         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5134         and OSF/1 and Cygwin problems.
5135
5136 2012-03-11  Bruno Haible  <bruno@clisp.org>
5137
5138         Tests for module 'log2'.
5139         * modules/log2-tests: New file.
5140         * tests/test-log2.c: New file.
5141         * tests/test-log2.h: New file.
5142
5143         New module 'log2'.
5144         * lib/math.in.h (log2): New declaration.
5145         * lib/log2.c: New file.
5146         * m4/log2.m4: New file.
5147         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5148         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5149         REPLACE_LOG2.
5150         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5151         REPLACE_LOG2.
5152         * modules/log2: New file.
5153         * tests/test-math-c++.cc: Check the declaration of log2.
5154         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5155         and OSF/1 and Cygwin problems.
5156
5157 2012-03-11  Bruno Haible  <bruno@clisp.org>
5158
5159         exp2* tests: More tests.
5160         * tests/test-exp2.h (test_function): Test all integral arguments that
5161         don't need to overflow or denormalized numbers.
5162         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5163         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5164         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5165
5166 2012-03-10  Bruno Haible  <bruno@clisp.org>
5167
5168         log1pl-ieee: Work around test failure on AIX 7.1.
5169         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5170
5171         log1pl-ieee: Work around test failure on IRIX 6.5.
5172         * m4/log1pl-ieee.m4: New file.
5173         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5174         test whether log1pl works with a minus zero argument. Replace it if
5175         not.
5176         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5178         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5179         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5180         (Depends-on): Update conditions.
5181         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5182         m4/signbit.m4.
5183         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5184         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5185
5186         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5187         * m4/log1pf-ieee.m4: New file.
5188         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5189         test whether log1pf works with a minus zero argument. Replace it if
5190         not.
5191         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5192         m4/signbit.m4.
5193         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5194         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5195
5196         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5197         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5198         (configure.ac): Require gl_FUNC_LOG1PF.
5199
5200         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5201         * m4/log1p-ieee.m4: New file.
5202         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5203         whether log1p works with a minus zero argument. Replace it if not.
5204         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5206         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5207         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5208         (Depends-on): Update conditions.
5209         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5210         m4/signbit.m4.
5211         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5212         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5213
5214         Tests for module 'log1pl-ieee'.
5215         * modules/log1pl-ieee-tests: New file.
5216         * tests/test-log1pl-ieee.c: New file.
5217
5218         New module 'log1pl-ieee'.
5219         * modules/log1pl-ieee: New file.
5220
5221         Tests for module 'log1p-ieee'.
5222         * modules/log1p-ieee-tests: New file.
5223         * tests/test-log1p-ieee.c: New file.
5224
5225         New module 'log1p-ieee'.
5226         * modules/log1p-ieee: New file.
5227
5228         Tests for module 'log1pf-ieee'.
5229         * modules/log1pf-ieee-tests: New file.
5230         * tests/test-log1pf-ieee.c: New file.
5231         * tests/test-log1p-ieee.h: New file.
5232
5233         New module 'log1pf-ieee'.
5234         * modules/log1pf-ieee: New file.
5235
5236 2012-03-10  Bruno Haible  <bruno@clisp.org>
5237
5238         Tests for module 'log1pl'.
5239         * modules/log1pl-tests: New file.
5240         * tests/test-log1pl.c: New file.
5241
5242         New module 'log1pl'.
5243         * lib/math.in.h (log1pl): New declaration.
5244         * lib/log1pl.c: New file.
5245         * m4/log1pl.m4: New file.
5246         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5248         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5249         * modules/log1pl: New file.
5250         * tests/test-math-c++.cc: Check the declaration of log1pl.
5251         * doc/posix-functions/log1pl.texi: Mention the new module.
5252
5253 2012-03-10  Bruno Haible  <bruno@clisp.org>
5254
5255         Tests for module 'log1pf'.
5256         * modules/log1pf-tests: New file.
5257         * tests/test-log1pf.c: New file.
5258
5259         New module 'log1pf'.
5260         * lib/math.in.h (log1pf): New declaration.
5261         * lib/log1pf.c: New file.
5262         * m4/log1pf.m4: New file.
5263         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5264         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5265         REPLACE_LOG1PF.
5266         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5267         REPLACE_LOG1PF.
5268         * modules/log1pf: New file.
5269         * tests/test-math-c++.cc: Check the declaration of log1pf.
5270         * doc/posix-functions/log1pf.texi: Mention the new module.
5271
5272 2012-03-10  Bruno Haible  <bruno@clisp.org>
5273
5274         log1p tests: More tests.
5275         * tests/test-log1p.h: New file.
5276         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5277         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5278         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5279         (main): Invoke test_function.
5280
5281         log1p: Provide replacement for Minix and MSVC.
5282         * lib/math.in.h (log1p): New declaration.
5283         * lib/log1p.c: New file.
5284         * m4/log1p.m4: New file.
5285         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5286         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5287         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5288         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5289         (Depends-on): Add math, isnand, log, round.
5290         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5291         HAVE_LOG1P is 0.
5292         * tests/test-math-c++.cc: Check the declaration of log1p.
5293         * doc/posix-functions/log1p.texi: Mention the replacement.
5294
5295 2012-03-10  Bruno Haible  <bruno@clisp.org>
5296
5297         math tests: Small simplification.
5298         * tests/test-exp.h (test_function): Use the same err_bound for
5299         'double' on platforms with sizeof (long double) == sizeof (double)
5300         than on platforms with sizeof (long double) > sizeof (double).
5301         * tests/test-exp2.h (test_function): Likewise.
5302         * tests/test-expm1.h (test_function): Likewise.
5303         * tests/test-log.h (test_function): Likewise.
5304
5305 2012-03-10  Bruno Haible  <bruno@clisp.org>
5306
5307         Fix some comments.
5308         * lib/expl.c: Fix an ambiguous comment.
5309         * lib/expm1.c: Likewise.
5310         * lib/expm1l.c: Likewise.
5311         * lib/exp2.c: Likewise.
5312         * lib/exp2l.c: Likewise.
5313
5314 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5315
5316         regex: allow inclusion of <regex.h> before <limits.h>
5317         Without this patch, portable programs had to include <limits.h> before
5318         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5319         I ran into this problem with a test version of GNU grep on Solaris 8.
5320         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5321         This is done conditionally so that this change can be merged
5322         back to glibc.
5323         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5324         using the included regex.
5325
5326         fts: depend on fdopendir
5327         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5328         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5329         problem was introduced when fdopendir was split out.
5330
5331 2012-03-10  Bruno Haible  <bruno@clisp.org>
5332
5333         Remove unused variables.
5334         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5335         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5336
5337 2012-03-10  Bruno Haible  <bruno@clisp.org>
5338
5339         isnanf-nolibm: Fix last commit.
5340         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5341
5342         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5343         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5344
5345 2012-03-10  Bruno Haible  <bruno@clisp.org>
5346
5347         logf-ieee: Work around test failure on NetBSD 5.1.
5348         * m4/logf-ieee.m4: New file.
5349         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5350         whether logf works with a negative argument. Replace it if not.
5351         * lib/logf.c (logf): For negative arguments, return NaN.
5352         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5353         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5354         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5355
5356         logf-ieee: Work around test failure on Solaris 9.
5357         * modules/logf-ieee (Depends-on): Add log-ieee.
5358         (configure.ac): Require gl_FUNC_LOGF.
5359
5360         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5361         * m4/log-ieee.m4: New file.
5362         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5363         log works with a negative argument. Replace it if not.
5364         * lib/log.c (log): For negative arguments, return NaN.
5365         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5366         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5367         * doc/posix-functions/log.texi: Mention the log-ieee module.
5368
5369         Tests for module 'logl-ieee'.
5370         * modules/logl-ieee-tests: New file.
5371         * tests/test-logl-ieee.c: New file.
5372
5373         New module 'logl-ieee'.
5374         * modules/logl-ieee: New file.
5375
5376         Tests for module 'log-ieee'.
5377         * modules/log-ieee-tests: New file.
5378         * tests/test-log-ieee.c: New file.
5379
5380         New module 'log-ieee'.
5381         * modules/log-ieee: New file.
5382
5383         Tests for module 'logf-ieee'.
5384         * modules/logf-ieee-tests: New file.
5385         * tests/test-logf-ieee.c: New file.
5386         * tests/test-log-ieee.h: New file.
5387
5388         New module 'logf-ieee'.
5389         * modules/logf-ieee: New file.
5390
5391 2012-03-10  Bruno Haible  <bruno@clisp.org>
5392
5393         log: Fix bug introduced on 2012-03-09.
5394         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5395
5396 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5397
5398         timer-time: link explicitly with pthreads on glibc
5399         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5400         to support static linking, when newer glibc is
5401         detected, as that contains pthread emulation of
5402         POSIX timer functions where required.
5403         * modules/timer-time: Depend on threadlib to
5404         pull in the appropriate library to link.
5405
5406 2012-03-10  Bruno Haible  <bruno@clisp.org>
5407
5408         log* tests: More tests.
5409         * tests/test-log.h: New file.
5410         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5411         (main): Invoke test_function.
5412         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5413         (main): Invoke test_function.
5414         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5415         (main): Invoke test_function.
5416         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5417         tests/randomd.c.
5418         (Makefile.am): Add randomd.c to test_log_SOURCES.
5419         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5420         tests/randomf.c.
5421         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5422         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5423         tests/randoml.c.
5424         (Depends-on): Add 'float'.
5425         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5426
5427 2012-03-09  Bruno Haible  <bruno@clisp.org>
5428
5429         logl: Work around OSF/1 5.1 bug.
5430         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5431         * lib/logl.c (logl): If logl exists, use it and provide just the
5432         workaround.
5433         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5434         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5436         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5437         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5438         (Depends-on): Update conditions.
5439         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5440
5441 2012-03-09  Bruno Haible  <bruno@clisp.org>
5442
5443         logf: Work around OSF/1 5.1 bug.
5444         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5445         * lib/logf.c (logf): If logf exists, use it and provide just the
5446         workaround.
5447         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5448         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5449         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5450         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5451         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5452         (Depends-on): Update conditions.
5453         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5454
5455 2012-03-09  Bruno Haible  <bruno@clisp.org>
5456
5457         log: Work around OSF/1 5.1 bug.
5458         * lib/math.in.h (log): New declaration.
5459         * lib/log.c: New file.
5460         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5461         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5462         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5464         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5465         * modules/log (Files): Add lib/log.c.
5466         (Depends-on): Add math.
5467         (configure.ac): If REPLACE_LOG is 1, compile an override.
5468         * tests/test-math-c++.cc: Check the declaration of log.
5469         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5470
5471 2012-03-09  Jim Meyering  <meyering@redhat.com>
5472
5473         readtokens.c: adjust wording in a comment
5474         * lib/readtokens.c: Insert omitted "that" in a comment.
5475
5476 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5477
5478         modechange: add notations +40, 00440, etc.
5479         * lib/modechange.c (mode_compile): Support new notations
5480         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5481
5482 2012-03-08  Bruno Haible  <bruno@clisp.org>
5483
5484         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5485         * m4/exp2l-ieee.m4: New file.
5486         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5487         test whether exp2l works with a NaN argument and with a negative
5488         infinity argument. Replace it if not.
5489         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5490         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5491         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5492         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5493         (Depends-on): Update conditions.
5494         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5495         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5496         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5497
5498         Tests for module 'exp2l-ieee'.
5499         * modules/exp2l-ieee-tests: New file.
5500         * tests/test-exp2l-ieee.c: New file.
5501
5502         New module 'exp2l-ieee'.
5503         * modules/exp2l-ieee: New file.
5504
5505         Tests for module 'exp2-ieee'.
5506         * modules/exp2-ieee-tests: New file.
5507         * tests/test-exp2-ieee.c: New file.
5508
5509         New module 'exp2-ieee'.
5510         * modules/exp2-ieee: New file.
5511
5512         Tests for module 'exp2f-ieee'.
5513         * modules/exp2f-ieee-tests: New file.
5514         * tests/test-exp2f-ieee.c: New file.
5515         * tests/test-exp2-ieee.h: New file.
5516
5517         New module 'exp2f-ieee'.
5518         * modules/exp2f-ieee: New file.
5519
5520 2012-03-08  Bruno Haible  <bruno@clisp.org>
5521
5522         Tests for module 'exp2l'.
5523         * modules/exp2l-tests: New file.
5524         * tests/test-exp2l.c: New file.
5525
5526         New module 'exp2l'.
5527         * lib/math.in.h (exp2l): New declaration.
5528         * lib/exp2l.c: New file.
5529         * lib/expl-table.c: New file, extracted from lib/expl.c.
5530         * lib/expl.c (gl_expl_table): New declaration.
5531         (expl): Remove expl_table. Update reference.
5532         * m4/exp2l.m4: New file.
5533         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5534         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5535         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5536         * modules/exp2l: New file.
5537         * modules/expl (Files): Add lib/expl-table.c.
5538         (configure.ac): Compile also expl-table.c.
5539         * tests/test-math-c++.cc: Check the declaration of exp2l.
5540         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5541         problem.
5542
5543 2012-03-08  Bruno Haible  <bruno@clisp.org>
5544
5545         Tests for module 'exp2f'.
5546         * modules/exp2f-tests: New file.
5547         * tests/test-exp2f.c: New file.
5548
5549         New module 'exp2f'.
5550         * lib/math.in.h (exp2f): New declaration.
5551         * lib/exp2f.c: New file.
5552         * m4/exp2f.m4: New file.
5553         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5554         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5555         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5556         * modules/exp2f: New file.
5557         * tests/test-math-c++.cc: Check the declaration of exp2f.
5558         * doc/posix-functions/exp2f.texi: Mention the new module and the
5559         IRIX problem.
5560
5561 2012-03-08  Bruno Haible  <bruno@clisp.org>
5562
5563         Tests for module 'exp2'.
5564         * modules/exp2-tests: New file.
5565         * tests/test-exp2.c: New file.
5566         * tests/test-exp2.h: New file.
5567
5568         New module 'exp2'.
5569         * lib/math.in.h (exp2): New declaration.
5570         * lib/exp2.c: New file.
5571         * m4/exp2.m4: New file.
5572         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5574         REPLACE_EXP2.
5575         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5576         REPLACE_EXP2.
5577         * modules/exp2: New file.
5578         * tests/test-math-c++.cc: Check the declaration of exp2.
5579         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5580         and OpenBSD problems.
5581
5582 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5583
5584         savedir: fix comment typo
5585         * lib/savedir.c (savedirstream): Fix typo in comment.
5586
5587 2012-03-08  Bruno Haible  <bruno@clisp.org>
5588
5589         test-readtokens.c: use const; remove unwarranted cast
5590         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5591
5592 2012-03-08  Bruno Haible  <bruno@clisp.org>
5593
5594         fmal: Avoid compilation error on AIX.
5595         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5596         AIX 5.2..7.1.
5597
5598 2012-03-08  Bruno Haible  <bruno@clisp.org>
5599
5600         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5601         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5602         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5603         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5604         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5605         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5606         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5607
5608 2012-03-08  Bruno Haible  <bruno@clisp.org>
5609
5610         remainderf: Override buggy system function on IRIX 6.5.
5611         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5612         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5613         when it exists.
5614         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5615
5616 2012-03-08  Jim Meyering  <meyering@redhat.com>
5617
5618         test-readtokens.c: avoid const-related compilation warnings
5619         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5620
5621 2012-03-07  Jim Meyering  <meyering@redhat.com>
5622             Bruno Haible  <bruno@clisp.org>
5623
5624         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5625         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5626         tests/randomd.c.
5627         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5628         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5629         tests/randoml.c.
5630         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5631
5632 2012-03-07  Bruno Haible  <bruno@clisp.org>
5633
5634         expm1l: Avoid compilation error on AIX.
5635         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5636         AIX 5.2..7.1.
5637
5638 2012-03-07  Bruno Haible  <bruno@clisp.org>
5639
5640         expm1l: Don't override undeclared system function on IRIX 6.5.
5641         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5642         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5643         it exists. Set HAVE_DECL_EXPM1L.
5644         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5645         HAVE_EXPM1L.
5646         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5647         HAVE_EXPM1L.
5648         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5649
5650 2012-03-07  Bruno Haible  <bruno@clisp.org>
5651
5652         remainderl: Don't override undeclared system function on IRIX 6.5.
5653         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5654         HAVE_REMAINDERL.
5655         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5656         declared when it exists. Set HAVE_DECL_REMAINDERL.
5657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5658         not HAVE_REMAINDERL.
5659         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5660         HAVE_REMAINDERL.
5661         * doc/posix-functions/remainderl.texi: Mention missing declaration
5662         problem.
5663
5664 2012-03-07  Bruno Haible  <bruno@clisp.org>
5665
5666         rintf: Don't override undeclared system function on IRIX 6.5.
5667         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5668         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5669         exists. Set HAVE_DECL_RINTF.
5670         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5671         HAVE_RINTF.
5672         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5673         HAVE_RINTF.
5674         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5675
5676 2012-03-07  Bruno Haible  <bruno@clisp.org>
5677
5678         roundl: Avoid compilation error on AIX.
5679         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5680         AIX 5.2..7.1.
5681
5682 2012-03-07  Bruno Haible  <bruno@clisp.org>
5683
5684         roundl: Don't override undeclared system function on IRIX 6.5.
5685         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5686         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5687         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5688         * modules/roundl (configure.ac): For replacement code, test
5689         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5690         (Depends-on): Update conditions.
5691         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5692
5693 2012-03-07  Bruno Haible  <bruno@clisp.org>
5694
5695         roundf: Don't override undeclared system function on IRIX 6.5.
5696         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5697         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5698         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5699         * modules/roundf (configure.ac): For replacement code, test
5700         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5701         (Depends-on): Update conditions.
5702         * modules/roundf-ieee (Depends-on): Update conditions.
5703         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5704
5705 2012-03-07  Bruno Haible  <bruno@clisp.org>
5706
5707         round: Don't override undeclared system function on IRIX 6.5.
5708         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5709         argument.
5710         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5711         also when it is not declared. Set HAVE_ROUND. For replacement code,
5712         test HAVE_ROUND, not HAVE_DECL_ROUND.
5713         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5714         not HAVE_DECL_ROUND.
5715         (Depends-on): Update conditions.
5716         * modules/round-ieee (Depends-on): Update conditions.
5717         * doc/posix-functions/round.texi: Mention the IRIX problem.
5718
5719 2012-03-07  Bruno Haible  <bruno@clisp.org>
5720
5721         copysignf: Don't override undeclared system function on IRIX 6.5.
5722         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5723         HAVE_COPYSIGNF.
5724         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5725         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5727         not HAVE_COPYSIGNF.
5728         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5729         HAVE_COPYSIGNF.
5730         * doc/posix-functions/copysignf.texi: Mention missing declaration
5731         problem.
5732
5733 2012-03-07  Jim Meyering  <meyering@redhat.com>
5734
5735         readtokens: add tests
5736         * modules/readtokens-tests: New file.
5737         * tests/test-readtokens.c: New file.
5738
5739 2012-03-07  Jim Meyering  <meyering@redhat.com>
5740
5741         quotearg: the module must now include quote.h
5742         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5743         So must the module.
5744         * modules/quotearg (Files): Add quote.h.
5745
5746 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5747
5748         readtokens: avoid core dumps with unusual calling patterns
5749         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5750         * lib/readtokens.c: Include limits.h.
5751         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5752         (readtoken): Don't cache the delimiters; the cache code was buggy
5753         if !delim && saved_delim, or if the new n_delim differs from the old.
5754         Also, it wasn't thread-safe.
5755
5756 2012-03-07  Bruno Haible  <bruno@clisp.org>
5757
5758         quote: Adhere to common module description layout.
5759         * modules/quote (Makefile.am): Add back empty section.
5760
5761 2012-03-06  Akim Demaille  <demaille@gostai.com>
5762
5763         quote: fuse into quotearg
5764         This patch is made for the benefit of Bison.
5765         quote does not leave the choice of the quoting style to the user.
5766         quoting_style provides poor customizability, yet quoting_options,
5767         which is very rich, is hidden inside quotearg.c.  So in order to
5768         allow quote customization, move its implementation to quotearg.c.
5769         * lib/quote.c: Remove.
5770         * modules/quote: Adjust.
5771         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
5772         warning: provide all the members of literal structs.
5773         (quote_quoting_options): New.
5774         (quote, quote_n): Import implementation from quote.c.
5775         * lib/quote.h: Import the comments from quote.c.
5776         (quote_quoting_options): New.
5777
5778 2012-03-06  Bruno Haible  <bruno@clisp.org>
5779
5780         Tests for module 'expm1l-ieee'.
5781         * modules/expm1l-ieee-tests: New file.
5782         * tests/test-expm1l-ieee.c: New file.
5783
5784         New module 'expm1l-ieee'.
5785         * modules/expm1l-ieee: New file.
5786
5787         Tests for module 'expm1f-ieee'.
5788         * modules/expm1f-ieee-tests: New file.
5789         * tests/test-expm1f-ieee.c: New file.
5790
5791         New module 'expm1f-ieee'.
5792         * modules/expm1f-ieee: New file.
5793
5794         Tests for module 'expm1-ieee'.
5795         * modules/expm1-ieee-tests: New file.
5796         * tests/test-expm1-ieee.c: New file.
5797         * tests/test-expm1-ieee.h: New file.
5798
5799         New module 'expm1-ieee'.
5800         * modules/expm1-ieee: New file.
5801         * m4/expm1-ieee.m4: New file.
5802         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
5803         whether expm1 works with a minus zero argument. Replace it if not.
5804         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
5805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
5806         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
5807         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
5808         (Depends-on): Update conditions.
5809         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
5810         AIX problem.
5811
5812 2012-03-06  Bruno Haible  <bruno@clisp.org>
5813
5814         Work around expm1f bug on IRIX 6.5.
5815         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
5816         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
5817         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
5818         not work.
5819         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
5820         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
5821         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
5822         (Depends-on): Update conditions.
5823         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
5824
5825 2012-03-06  Bruno Haible  <bruno@clisp.org>
5826
5827         Tests for module 'expm1l'.
5828         * modules/expm1l-tests: New file.
5829         * tests/test-expm1l.c: New file.
5830
5831         New module 'expm1l'.
5832         * lib/math.in.h (expm1l): New declaration.
5833         * lib/expm1l.c: New file.
5834         * m4/expm1l.m4: New file.
5835         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
5836         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
5837         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
5838         * modules/expm1l: New file.
5839         * tests/test-math-c++.cc: Check the declaration of expm1l.
5840         * doc/posix-functions/expm1l.texi: Mention the new module.
5841
5842 2012-03-06  Bruno Haible  <bruno@clisp.org>
5843
5844         Tests for module 'expm1f'.
5845         * modules/expm1f-tests: New file.
5846         * tests/test-expm1f.c: New file.
5847
5848         New module 'expm1f'.
5849         * lib/math.in.h (expm1f): New declaration.
5850         * lib/expm1f.c: New file.
5851         * m4/expm1f.m4: New file.
5852         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
5853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
5854         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
5855         * modules/expm1f: New file.
5856         * tests/test-math-c++.cc: Check the declaration of expm1f.
5857         * doc/posix-functions/expm1f.texi: Mention the new module.
5858
5859 2012-03-06  Bruno Haible  <bruno@clisp.org>
5860
5861         Tests for module 'expm1'.
5862         * modules/expm1-tests: New file.
5863         * tests/test-expm1.c: New file.
5864         * tests/test-expm1.h: New file.
5865
5866         New module 'expm1'.
5867         * lib/math.in.h (expm1): New declaration.
5868         * lib/expm1.c: New file.
5869         * m4/expm1.m4: New file.
5870         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
5871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
5872         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
5873         * modules/expm1: New file.
5874         * tests/test-math-c++.cc: Check the declaration of expm1.
5875         * doc/posix-functions/expm1.texi: Mention the new module.
5876
5877 2012-03-06  Bruno Haible  <bruno@clisp.org>
5878
5879         math: Ensure declarations of math functions.
5880         * modules/acosf (Depends-on): Add 'extensions'.
5881         * modules/asinf (Depends-on): Likewise.
5882         * modules/atan2f (Depends-on): Likewise.
5883         * modules/atanf (Depends-on): Likewise.
5884         * modules/cbrt (Depends-on): Likewise.
5885         * modules/cbrtf (Depends-on): Likewise.
5886         * modules/cbrtl (Depends-on): Likewise.
5887         * modules/copysignf (Depends-on): Likewise.
5888         * modules/copysignl (Depends-on): Likewise.
5889         * modules/cosf (Depends-on): Likewise.
5890         * modules/coshf (Depends-on): Likewise.
5891         * modules/expf (Depends-on): Likewise.
5892         * modules/fabsf (Depends-on): Likewise.
5893         * modules/fabsl (Depends-on): Likewise.
5894         * modules/fmaf (Depends-on): Likewise.
5895         * modules/fmal (Depends-on): Likewise.
5896         * modules/fmodf (Depends-on): Likewise.
5897         * modules/fmodl (Depends-on): Likewise.
5898         * modules/frexpf (Depends-on): Likewise.
5899         * modules/frexpl (Depends-on): Likewise.
5900         * modules/hypot (Depends-on): Likewise.
5901         * modules/hypotf (Depends-on): Likewise.
5902         * modules/hypotl (Depends-on): Likewise.
5903         * modules/ldexpf (Depends-on): Likewise.
5904         * modules/ldexpl (Depends-on): Likewise.
5905         * modules/log10f (Depends-on): Likewise.
5906         * modules/log10l (Depends-on): Likewise.
5907         * modules/log1p (Depends-on): Likewise.
5908         * modules/logb (Depends-on): Likewise.
5909         * modules/logf (Depends-on): Likewise.
5910         * modules/modff (Depends-on): Likewise.
5911         * modules/modfl (Depends-on): Likewise.
5912         * modules/powf (Depends-on): Likewise.
5913         * modules/remainderf (Depends-on): Likewise.
5914         * modules/remainderl (Depends-on): Likewise.
5915         * modules/rintf (Depends-on): Likewise.
5916         * modules/rintl (Depends-on): Likewise.
5917         * modules/sinf (Depends-on): Likewise.
5918         * modules/sinhf (Depends-on): Likewise.
5919         * modules/sqrtf (Depends-on): Likewise.
5920         * modules/tanf (Depends-on): Likewise.
5921         * modules/tanhf (Depends-on): Likewise.
5922         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
5923         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
5924         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
5925         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
5926         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
5927         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
5928         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5929         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
5930         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5931         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5932         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5933         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5934         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5935         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5936         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5937         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5938         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5939         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5940         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
5941         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
5942         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5943         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5944         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5945         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
5946         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5947         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5948         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
5949         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5950         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5951         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5952         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5953         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
5954         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5955         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5956         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5957         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5958         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
5959         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
5960         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
5961         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
5962         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
5963
5964 2012-03-06  Bruno Haible  <bruno@clisp.org>
5965
5966         math: Update module names in warnings.
5967         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5968         tanl): Use specific module name in warn-on-use warning.
5969
5970 2012-03-06  Bruno Haible  <bruno@clisp.org>
5971
5972         expl: Simplify computation.
5973         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
5974
5975 2012-03-05  Bruno Haible  <bruno@clisp.org>
5976
5977         exp* tests: More tests.
5978         * tests/test-exp.h: New file.
5979         * tests/test-exp.c: Include <float.h> and test-exp.h.
5980         (main): Invoke test_function.
5981         * tests/test-expf.c: Include <float.h> and test-exp.h.
5982         (main): Invoke test_function.
5983         * tests/test-expl.c: Include <float.h> and test-exp.h.
5984         (main): Invoke test_function.
5985         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
5986         (Makefile.am): Add randomd.c to test_exp_SOURCES.
5987         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
5988         (Makefile.am): Add randomf.c to test_expf_SOURCES.
5989         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
5990         (Depends-on): Add 'float'.
5991         (Makefile.am): Add randoml.c to test_expl_SOURCES.
5992
5993         expl: Fix precision of computed result.
5994         * lib/expl.c: Completely rewritten.
5995         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
5996         (Maintainer): Add me.
5997         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
5998
5999 2012-03-05  Bruno Haible  <bruno@clisp.org>
6000
6001         cbrt* tests: More tests.
6002         * tests/test-cbrt.h: New file.
6003         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6004         (main): Invoke test_function.
6005         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6006         (main): Invoke test_function.
6007         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6008         (main): Invoke test_function.
6009         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6010         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6011         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6012         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6013         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6014         (Depends-on): Add 'float'.
6015         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6016
6017 2012-03-05  Bruno Haible  <bruno@clisp.org>
6018
6019         hypot* tests: More tests.
6020         * tests/test-hypot.h: New file, partially extracted from
6021         tests/test-hypotl.c.
6022         * tests/test-hypot.c: Include test-hypot.h.
6023         (main): Invoke test_function.
6024         * tests/test-hypotf.c: Include test-hypot.h.
6025         (main): Invoke test_function.
6026         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6027         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6028         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6029         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6030         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6031         tests/randomf.c.
6032         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6033         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6034         tests/randoml.c.
6035         (Depends-on): Add 'fpucw', 'float'.
6036         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6037
6038 2012-03-05  Bruno Haible  <bruno@clisp.org>
6039
6040         fpucw: Doc about FreeBSD.
6041         * lib/fpucw.h: Mention FreeBSD in comments.
6042
6043 2012-03-04  Bruno Haible  <bruno@clisp.org>
6044
6045         sqrt* tests: More tests.
6046         * tests/test-sqrt.h: New file.
6047         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6048         (main): Invoke test_function.
6049         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6050         (main): Invoke test_function.
6051         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6052         (main): Invoke test_function.
6053         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6054         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6055         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6056         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6057         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6058         (Depends-on): Add 'float'.
6059         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6060
6061 2012-03-04  Bruno Haible  <bruno@clisp.org>
6062
6063         remainder* tests: More tests.
6064         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6065         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6066         (main): Invoke test_function.
6067         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6068         (main): Invoke test_function.
6069         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6070         (main): Invoke test_function.
6071         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6072         tests/randomd.c.
6073         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6074         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6075         tests/randomf.c.
6076         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6077         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6078         tests/randoml.c.
6079         (Depends-on): Add 'float'.
6080         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6081
6082 2012-03-04  Bruno Haible  <bruno@clisp.org>
6083
6084         remainder, remainderf, remainderl: Fix computation for large quotients.
6085         * lib/remainder.c: Completely rewritten.
6086         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6087         USE_FLOAT.
6088         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6089         USE_LONG_DOUBLE.
6090         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6091         isnand, isinf. Remove round, fma.
6092         * modules/remainderf (Files): Add lib/remainder.c.
6093         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6094         Remove roundf, fmaf.
6095         * modules/remainderl (Files): Add lib/remainder.c.
6096         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6097         isinf. Remove roundl, fmal.
6098         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6099         REMAINDER_LIBM.
6100         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6101         REMAINDERF_LIBM.
6102         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6103         REMAINDERL_LIBM.
6104
6105 2012-03-04  Bruno Haible  <bruno@clisp.org>
6106
6107         fmod* tests: More tests.
6108         * tests/test-fmod.h (my_ldexp): New function.
6109         (test_function): Reduce amount of random numbers to test. Add tests
6110         of very large quotients x / y.
6111         * tests/test-fmod.c (MAX_EXP): New macro.
6112         * tests/test-fmodf.c (MAX_EXP): Likewise.
6113         * tests/test-fmodl.c (MAX_EXP): Likewise.
6114
6115 2012-03-04  Bruno Haible  <bruno@clisp.org>
6116
6117         fmod, fmodl: Fix computation for large quotients x / y.
6118         * lib/fmod.c: Completely rewritten.
6119         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6120         USE_LONG_DOUBLE.
6121         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6122         isnand. Remove fma.
6123         * modules/fmodl (Files): Add lib/fmod.c.
6124         (Depends-on): Add float, isfinite, signbit, fabsl,
6125         frexpl, ldexpl, isnanl. Remove fma.
6126         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6127         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6128
6129 2012-03-03  Bruno Haible  <bruno@clisp.org>
6130
6131         fmod* tests: More tests.
6132         * tests/test-fmod.h: New file.
6133         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6134         (main): Invoke test_function.
6135         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6136         (main): Invoke test_function.
6137         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6138         (main): Invoke test_function.
6139         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6140         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6141         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6142         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6143         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6144         (Depends-on): Add 'float'.
6145         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6146
6147 2012-03-03  Bruno Haible  <bruno@clisp.org>
6148
6149         rint* tests: More tests.
6150         * tests/test-rint.h: New file, partially extracted from
6151         tests/test-rintl.c.
6152         * tests/test-rint.c: Include test-rint.h.
6153         (main): Invoke test_function.
6154         * tests/test-rintf.c: Include test-rint.h.
6155         (main): Invoke test_function.
6156         * tests/test-rintl.c: Include test-rint.h.
6157         (main): Invoke test_function.
6158         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6159         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6160         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6161         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6162         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6163         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6164
6165 2012-03-03  Bruno Haible  <bruno@clisp.org>
6166
6167         modf* tests: More tests.
6168         * tests/test-modf.h: New file.
6169         * tests/test-modf.c: Include <float.h> and test-modf.h.
6170         (main): Invoke test_function.
6171         * tests/test-modff.c: Include <float.h> and test-modf.h.
6172         (main): Invoke test_function.
6173         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6174         (main): Invoke test_function.
6175         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6176         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6177         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6178         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6179         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6180         (Depends-on): Add 'float'.
6181         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6182
6183 2012-03-03  Bruno Haible  <bruno@clisp.org>
6184
6185         fabs* tests: More tests.
6186         * tests/test-fabs.h: New file, partially extracted from
6187         tests/test-fabsl.c.
6188         * tests/test-fabs.c (RANDOM): New macro.
6189         * tests/test-fabsf.c (RANDOM): New macro.
6190         * tests/test-fabsl.c (RANDOM): New macro.
6191         * modules/fabs-tests (Files): Add tests/randomd.c.
6192         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6193         * modules/fabsf-tests (Files): Add tests/randomf.c.
6194         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6195         * modules/fabsl-tests (Files): Add tests/randoml.c.
6196         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6197
6198 2012-03-03  Bruno Haible  <bruno@clisp.org>
6199
6200         ldexp* tests: More tests.
6201         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6202         * tests/test-ldexp.c (RANDOM): New macro.
6203         * tests/test-ldexpf.c (RANDOM): New macro.
6204         * tests/test-ldexpl.c (RANDOM): New macro.
6205         * modules/ldexp-tests (Files): Add tests/randomd.c.
6206         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6207         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6208         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6209         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6210         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6211
6212 2012-03-03  Bruno Haible  <bruno@clisp.org>
6213
6214         frexp* tests: More tests.
6215         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6216         * tests/test-frexp.c (RANDOM): New macro.
6217         * tests/test-frexpf.c (RANDOM): New macro.
6218         * tests/test-frexpl.c (RANDOM): New macro.
6219         * modules/frexp-tests (Files): Add tests/randomd.c.
6220         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6221         * modules/frexpf-tests (Files): Add tests/randomf.c.
6222         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6223         * modules/frexpl-tests (Files): Add tests/randoml.c.
6224         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6225
6226 2012-03-03  Bruno Haible  <bruno@clisp.org>
6227
6228         Support for pseudo-random numbers in tests.
6229         * tests/randomf.c: New file.
6230         * tests/randomd.c: New file.
6231         * tests/randoml.c: New file.
6232         * tests/macros.h (randomf, randomd, randoml): New declarations.
6233
6234 2012-03-03  Bruno Haible  <bruno@clisp.org>
6235
6236         frexp* tests: Refactor.
6237         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6238         * tests/test-frexp.c: Include and use it.
6239         * tests/test-frexpf.c: Likewise.
6240         * tests/test-frexpl.c: Likewise.
6241         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6242         * modules/frexpf-tests (Files): Likewise.
6243         * modules/frexpl-tests (Files): Likewise.
6244
6245 2012-03-02  Jim Meyering  <meyering@redhat.com>
6246
6247         maint: don't specify XZ_OPT=-9ev in dist-related rule
6248         Using xz's -9 option is warranted only if you have a very large
6249         tarball (see xz's documentation for the sizes vs. presets), and
6250         requires 64MiB of memory at decompression time.
6251         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6252         Automake's default of just "-e" is fine.  Override on a
6253         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6254
6255 2012-03-01  Eric Blake  <eblake@redhat.com>
6256
6257         maint.mk: allow announcement for non-gnulib project
6258         * maint.mk (announcement): Skip gnulib version if not used.
6259
6260 2012-03-01  Jim Meyering  <meyering@redhat.com>
6261
6262         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6263         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6264         envvar settings cannot interfere.  Otherwise, setting envvars like
6265         prohibit=foo require=bar, etc. would cause spurious test failures.
6266
6267 2012-03-01  Eric Blake  <eblake@redhat.com>
6268
6269         maint.mk: add per-line exclusions to prohibitions
6270         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6271         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6272         (sc_const_long_option): Use it.
6273
6274 2012-03-01  Bruno Haible  <bruno@clisp.org>
6275
6276         Tests for module 'expl-ieee'.
6277         * modules/expl-ieee-tests: New file.
6278         * tests/test-expl-ieee.c: New file.
6279
6280         New module 'expl-ieee'.
6281         * modules/expl-ieee: New file.
6282
6283         Tests for module 'exp-ieee'.
6284         * modules/exp-ieee-tests: New file.
6285         * tests/test-exp-ieee.c: New file.
6286
6287         New module 'exp-ieee'.
6288         * modules/exp-ieee: New file.
6289
6290         Tests for module 'expf-ieee'.
6291         * modules/expf-ieee-tests: New file.
6292         * tests/test-expf-ieee.c: New file.
6293         * tests/test-exp-ieee.h: New file.
6294
6295         New module 'expf-ieee'.
6296         * modules/expf-ieee: New file.
6297
6298 2012-02-29  Bruno Haible  <bruno@clisp.org>
6299
6300         cbrtl-ieee: Work around test failure on IRIX 6.5.
6301         * m4/cbrtl-ieee.m4: New file.
6302         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6303         test whether cbrtl works with a minus zero argument. Replace it if not.
6304         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6306         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6307         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6308         (Depends-on): Update conditions.
6309         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6310         m4/signbit.m4.
6311         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6312         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6313         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6314
6315         Tests for module 'cbrtl-ieee'.
6316         * modules/cbrtl-ieee-tests: New file.
6317         * tests/test-cbrtl-ieee.c: New file.
6318
6319         New module 'cbrtl-ieee'.
6320         * modules/cbrtl-ieee: New file.
6321
6322         Tests for module 'cbrt-ieee'.
6323         * modules/cbrt-ieee-tests: New file.
6324         * tests/test-cbrt-ieee.c: New file.
6325
6326         New module 'cbrt-ieee'.
6327         * modules/cbrt-ieee: New file.
6328
6329         Tests for module 'cbrtf-ieee'.
6330         * modules/cbrtf-ieee-tests: New file.
6331         * tests/test-cbrtf-ieee.c: New file.
6332         * tests/test-cbrt-ieee.h: New file.
6333
6334         New module 'cbrtf-ieee'.
6335         * modules/cbrtf-ieee: New file.
6336
6337 2012-02-29  Bruno Haible  <bruno@clisp.org>
6338
6339         cbrtf: Work around bug in IRIX 6.5 system function.
6340         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6341         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6342         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6343         work.
6344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6345         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6346         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6347         (Depends-on): Update conditions.
6348         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6349
6350 2012-02-29  Bruno Haible  <bruno@clisp.org>
6351
6352         Tests for module 'cbrtl'.
6353         * modules/cbrtl-tests: New file.
6354         * tests/test-cbrtl.c: New file.
6355
6356         New module 'cbrtl'.
6357         * lib/math.in.h (cbrtl): New declaration.
6358         * lib/cbrtl.c: New file.
6359         * m4/cbrtl.m4: New file.
6360         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6362         HAVE_DECL_CBRTL.
6363         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6364         HAVE_DECL_CBRTL.
6365         * modules/cbrtl: New file.
6366         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6367         * doc/posix-functions/cbrtl.texi: Mention the new module.
6368
6369 2012-02-29  Bruno Haible  <bruno@clisp.org>
6370
6371         Tests for module 'cbrtf'.
6372         * modules/cbrtf-tests: New file.
6373         * tests/test-cbrtf.c: New file.
6374
6375         New module 'cbrtf'.
6376         * lib/math.in.h (cbrtf): New declaration.
6377         * lib/cbrtf.c: New file.
6378         * m4/cbrtf.m4: New file.
6379         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6381         HAVE_DECL_CBRTF.
6382         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6383         HAVE_DECL_CBRTF.
6384         * modules/cbrtf: New file.
6385         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6386         * doc/posix-functions/cbrtf.texi: Mention the new module.
6387
6388 2012-02-29  Bruno Haible  <bruno@clisp.org>
6389
6390         cbrt: Provide replacement on MSVC and Minix.
6391         * lib/math.in.h (cbrt): New declaration.
6392         * lib/cbrt.c: New file.
6393         * m4/cbrt.m4: New file.
6394         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6396         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6397         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6398         (Depends-on): Add dependencies.
6399         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6400         * tests/test-math-c++.cc: Check the declaration of cbrt.
6401         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6402         replacement.
6403
6404 2012-02-29  Bruno Haible  <bruno@clisp.org>
6405
6406         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6407         * m4/hypotl-ieee.m4: New file.
6408         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6409         test whether hypotl works with mixed NaN and Infinity arguments.
6410         Replace it if not.
6411         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6412         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6413         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6414         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6415         (Depends-on): Update conditions.
6416         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6417         (Depends-on): Add hypot-ieee.
6418         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6419         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6420
6421         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6422         * m4/hypotf-ieee.m4: New file.
6423         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6424         test whether hypotf works with mixed NaN and Infinity arguments.
6425         Replace it if not.
6426         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6427         (Depends-on): Add hypot-ieee.
6428         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6429         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6430
6431         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6432         * lib/math.in.h (hypot): New declaration.
6433         * lib/hypot.c: New file.
6434         * m4/hypot-ieee.m4: New file.
6435         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6436         whether hypot works with mixed NaN and Infinity arguments. Replace it
6437         if not.
6438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6439         REPLACE_HYPOT.
6440         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6441         * modules/hypot (Files): Add lib/hypot.c.
6442         (Depends-on): Add dependencies.
6443         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6444         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6445         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6446         * tests/test-math-c++.cc: Check the declaration of hypot.
6447         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6448
6449         Tests for module 'hypotl-ieee'.
6450         * modules/hypotl-ieee-tests: New file.
6451         * tests/test-hypotl-ieee.c: New file.
6452
6453         New module 'hypotl-ieee'.
6454         * modules/hypotl-ieee: New file.
6455
6456         Tests for module 'hypot-ieee'.
6457         * modules/hypot-ieee-tests: New file.
6458         * tests/test-hypot-ieee.c: New file.
6459
6460         New module 'hypot-ieee'.
6461         * modules/hypot-ieee: New file.
6462
6463         Tests for module 'hypotf-ieee'.
6464         * modules/hypotf-ieee-tests: New file.
6465         * tests/test-hypotf-ieee.c: New file.
6466         * tests/test-hypot-ieee.h: New file.
6467
6468         New module 'hypotf-ieee'.
6469         * modules/hypotf-ieee: New file.
6470
6471 2012-02-29  Bruno Haible  <bruno@clisp.org>
6472
6473         Remove unused variables.
6474         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6475         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6476         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6477         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6478
6479 2012-02-29  Eric Blake  <eblake@redhat.com>
6480
6481         termios: fix pid_t always, not just for tcgetsid
6482         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6483         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6484         just when building tcgetsid.
6485
6486 2012-02-29  Bruno Haible  <bruno@clisp.org>
6487
6488         Tests for module 'hypotl'.
6489         * modules/hypotl-tests: New file.
6490         * tests/test-hypotl.c: New file.
6491
6492         New module 'hypotl'.
6493         * lib/math.in.h (hypotl): New declaration.
6494         * lib/hypotl.c: New file.
6495         * m4/hypotl.m4: New file.
6496         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6498         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6499         * modules/hypotl: New file.
6500         * tests/test-math-c++.cc: Check the hypotl declaration.
6501         * doc/posix-functions/hypotl.texi: Mention the new module.
6502
6503 2012-02-29  Eric Blake  <eblake@redhat.com>
6504
6505         tcgetsid: fix cygwin header bug
6506         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6507
6508         docs: update cygwin progress
6509         * doc/posix-functions/llround.texi (llround): Added in cygwin
6510         1.7.8.
6511         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6512         * doc/glibc-functions/program_invocation_name.texi
6513         (program_invocation_name): Likewise.
6514         * doc/glibc-functions/program_invocation_short_name.texi
6515         (program_invocation_short_name): Likewise.
6516         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6517         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6518         Likewise.
6519         * doc/posix-functions/pthread_spin_destroy.texi
6520         (pthread_spin_destroy): Added in cygwin 1.7.10.
6521         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6522         Likewise.
6523         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6524         Likewise.
6525         * doc/posix-functions/pthread_spin_trylock.texi
6526         (pthread_spin_trylock): Likewise.
6527         * doc/posix-functions/pthread_spin_unlock.texi
6528         (pthread_spin_unlock): Likewise.
6529         * doc/posix-functions/pthread_setschedprio.texi
6530         (pthread_setschedprio): Likewise.
6531         * doc/posix-functions/pthread_attr_getstack.texi
6532         (pthread_attr_getstack): Likewise.
6533         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6534         (pthread_attr_getstackaddr): Likewise.
6535         * doc/glibc-functions/pthread_getattr_np.texi
6536         (pthread_getattr_np): Likewise.
6537         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6538         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6539         * doc/posix-functions/clock_settime.texi (clock_settime):
6540         Likewise.
6541         * doc/posix-functions/pthread_attr_getguardsize.texi
6542         (pthread_attr_getguardsize): Likewise.
6543         * doc/posix-functions/pthread_attr_setguardsize.texi
6544         (pthread_attr_setguardsize): Likewise.
6545         * doc/posix-functions/pthread_attr_setstack.texi
6546         (pthread_attr_setstack): Likewise.
6547         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6548         (pthread_attr_setstackaddr): Likewise.
6549         * doc/posix-functions/clock_getcpuclockid.texi
6550         (clock_getcpuclockid): Likewise.
6551         * doc/posix-functions/pthread_getcpuclockid.texi
6552         (pthread_getcpuclockid): Likewise.
6553         * doc/glibc-functions/error.texi (error): Likewise.
6554         * doc/glibc-functions/error_at_line.texi (error_at_line):
6555         Likewise.
6556         * doc/glibc-functions/error_message_count.texi
6557         (error_message_count): Likewise.
6558         * doc/glibc-functions/error_one_per_line.texi
6559         (error_one_per_line): Likewise.
6560         * doc/glibc-functions/error_print_progname.texi
6561         (error_print_progname): Likewise.
6562         * doc/posix-functions/pthread_condattr_getclock.texi
6563         (pthread_condattr_getclock): Likewise.
6564         * doc/posix-functions/pthread_condattr_setclock.texi
6565         (pthread_condattr_setclock): Likewise.
6566         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6567         Likewise.
6568         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6569         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6570         * doc/glibc-functions/get_current_dir_name.texi
6571         (get_current_dir_name): Likewise.
6572         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6573         Likewise.
6574         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6575         wrong return type.
6576         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6577         1.7.11.
6578
6579 2012-02-29  Bruno Haible  <bruno@clisp.org>
6580
6581         Tests for module 'hypotf'.
6582         * modules/hypotf-tests: New file.
6583         * tests/test-hypotf.c: New file.
6584
6585         New module 'hypotf'.
6586         * lib/math.in.h (hypotf): New declaration.
6587         * lib/hypotf.c: New file.
6588         * m4/hypotf.m4: New file.
6589         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6590         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6591         REPLACE_HYPOTF.
6592         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6593         REPLACE_HYPOTF.
6594         * modules/hypotf: New file.
6595         * tests/test-math-c++.cc: Check the hypotf declaration.
6596         * doc/posix-functions/hypotf.texi: Mention the new module.
6597
6598         hypot: Prepare for hypotf module.
6599         * m4/hypot.m4: New file.
6600         * modules/hypot (Files): Add m4/hypot.m4.
6601         (configure.ac): Invoke gl_FUNC_HYPOT.
6602
6603 2012-02-29  Bruno Haible  <bruno@clisp.org>
6604
6605         hypot tests: More tests.
6606         * tests/test-hypot.c: Include <float.h>.
6607         (main): Add tests about overflow and underflow.
6608
6609 2012-02-29  Bruno Haible  <bruno@clisp.org>
6610
6611         math code: Add comments.
6612         * lib/acosl.c: Add comment about related glibc source files.
6613         * lib/asinl.c: Likewise.
6614         * lib/atanl.c: Likewise.
6615         * lib/expl.c: Likewise.
6616         * lib/logl.c: Likewise.
6617         * lib/sincosl.c: Likewise.
6618         * lib/sinl.c: Likewise.
6619         * lib/tanl.c: Likewise.
6620         * lib/trigl.c: Likewise.
6621         * lib/cosl.c: Likewise. Fix comments.
6622
6623 2012-02-28  Bruno Haible  <bruno@clisp.org>
6624
6625         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6626         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6627         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6628         HUGE_VALL are defined.
6629         (numeric_equald): Renamed from numeric_equal.
6630         (numeric_equalf, numeric_equall): New functions.
6631         (main): Check also HUGE_VALF, HUGE_VALL.
6632         * modules/math-tests (Files): Add tests/macros.h.
6633         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6634         HUGE_VALL.
6635
6636 2012-02-28  Bruno Haible  <bruno@clisp.org>
6637
6638         doc: Move ISO C11 feature notes into POSIX chapters.
6639         * doc/posix-functions/aligned_alloc.texi: Renamed from
6640         doc/glibc-functions/aligned_alloc.texi.
6641         * doc/posix-functions/quick_exit.texi: Renamed from
6642         doc/glibc-functions/quick_exit.texi.
6643         * doc/posix-headers/uchar.texi: Renamed from
6644         doc/glibc-headers/uchar.texi.
6645         * doc/posix-functions/c16rtomb.texi: Renamed from
6646         doc/glibc-functions/c16rtomb.texi.
6647         * doc/posix-functions/c32rtomb.texi: Renamed from
6648         doc/glibc-functions/c32rtomb.texi.
6649         * doc/posix-functions/mbrtoc16.texi: Renamed from
6650         doc/glibc-functions/mbrtoc16.texi.
6651         * doc/posix-functions/mbrtoc32.texi: Renamed from
6652         doc/glibc-functions/mbrtoc32.texi.
6653         * doc/gnulib.texi: Update.
6654         (Glibc uchar.h): Remove section.
6655         Suggested by Eric Blake.
6656
6657 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6658
6659         stdnoreturn: port to MSVC better
6660         MSVC standard headers use __declspec(noreturn), so #define noreturn
6661         to empty on that platform.  Reported by Bruno Haible in
6662         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6663         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6664         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6665
6666 2012-02-28  Bruno Haible  <bruno@clisp.org>
6667
6668         doc: Mention new glibc headers and functions.
6669         * doc/glibc-headers/uchar.texi: New file.
6670         * doc/glibc-functions/aligned_alloc.texi: New file.
6671         * doc/glibc-functions/c16rtomb.texi: New file.
6672         * doc/glibc-functions/c32rtomb.texi: New file.
6673         * doc/glibc-functions/clock_adjtime.texi: New file.
6674         * doc/glibc-functions/fanotify_init.texi: New file.
6675         * doc/glibc-functions/fanotify_mark.texi: New file.
6676         * doc/glibc-functions/inet6_opt_append.texi: New file.
6677         * doc/glibc-functions/inet6_opt_find.texi: New file.
6678         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6679         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6680         * doc/glibc-functions/inet6_opt_init.texi: New file.
6681         * doc/glibc-functions/inet6_opt_next.texi: New file.
6682         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6683         * doc/glibc-functions/inet6_rth_add.texi: New file.
6684         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6685         * doc/glibc-functions/inet6_rth_init.texi: New file.
6686         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6687         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6688         * doc/glibc-functions/inet6_rth_space.texi: New file.
6689         * doc/glibc-functions/login.texi: New file.
6690         * doc/glibc-functions/mbrtoc16.texi: New file.
6691         * doc/glibc-functions/mbrtoc32.texi: New file.
6692         * doc/glibc-functions/name_to_handle_at.texi: New file.
6693         * doc/glibc-functions/ntp_gettimex.texi: New file.
6694         * doc/glibc-functions/open_by_handle_at.texi: New file.
6695         * doc/glibc-functions/prlimit.texi: New file.
6696         * doc/glibc-functions/process_vm_readv.texi: New file.
6697         * doc/glibc-functions/process_vm_writev.texi: New file.
6698         * doc/glibc-functions/recvmmsg.texi: New file.
6699         * doc/glibc-functions/scandirat.texi: New file.
6700         * doc/glibc-functions/sendmmsg.texi: New file.
6701         * doc/glibc-functions/setns.texi: New file.
6702         * doc/glibc-functions/timespec_get.texi: New file.
6703         * doc/gnulib.texi: Include them.
6704         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6705         sections.
6706         Reported by Eric Blake.
6707
6708 2012-02-28  Bruno Haible  <bruno@clisp.org>
6709
6710         Avoid compilation errors with MSVC option -fp:strict.
6711         * lib/floor.c: Use MSVC specific pragma fenv_access.
6712         * lib/ceil.c: Likewise.
6713         * lib/trunc.c: Likewise.
6714         * lib/round.c: Likewise.
6715         * lib/rint.c: Likewise.
6716         * lib/fma.c: Likewise.
6717         * lib/integer_length.c: Likewise.
6718         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6719         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6720         * tests/test-floor2.c: Likewise.
6721         * tests/test-floorf2.c: Likewise.
6722         * tests/test-ceil2.c: Likewise.
6723         * tests/test-ceilf2.c: Likewise.
6724         * tests/test-trunc2.c: Likewise.
6725         * tests/test-truncf2.c: Likewise.
6726         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6727
6728 2012-02-27  Bruno Haible  <bruno@clisp.org>
6729
6730         Tests for module 'sqrtl-ieee'.
6731         * modules/sqrtl-ieee-tests: New file.
6732         * tests/test-sqrtl-ieee.c: New file.
6733
6734         New module 'sqrtl-ieee'.
6735         * modules/sqrtl-ieee: New file.
6736
6737         Tests for module 'sqrt-ieee'.
6738         * modules/sqrt-ieee-tests: New file.
6739         * tests/test-sqrt-ieee.c: New file.
6740
6741         New module 'sqrt-ieee'.
6742         * modules/sqrt-ieee: New file.
6743
6744         Tests for module 'sqrtf-ieee'.
6745         * modules/sqrtf-ieee-tests: New file.
6746         * tests/test-sqrtf-ieee.c: New file.
6747         * tests/test-sqrt-ieee.h: New file.
6748
6749         New module 'sqrtf-ieee'.
6750         * modules/sqrtf-ieee: New file.
6751
6752 2012-02-27  Bruno Haible  <bruno@clisp.org>
6753
6754         remainderl-ieee: Work around test failure on OSF/1.
6755         * m4/remainderl-ieee.m4: New file.
6756         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6757         present, test whether remainderl works with a zero second argument.
6758         Replace it if not.
6759         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6761         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6762         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6763         (Depends-on): Update conditions.
6764         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6765         (Depends-on): Add remainder-ieee.
6766         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
6767         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
6768         module.
6769
6770         remainderf-ieee: Work around test failure on OSF/1.
6771         * m4/remainderf-ieee.m4: New file.
6772         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
6773         present, test whether remainderf works with a zero second argument.
6774         Replace it if not.
6775         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
6776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
6777         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
6778         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
6779         (Depends-on): Update conditions.
6780         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
6781         (Depends-on): Add remainder-ieee.
6782         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
6783         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
6784         module.
6785
6786         remainder-ieee: Work around test failure on OSF/1.
6787         * m4/remainder-ieee.m4: New file.
6788         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
6789         present, test whether remainder works with a zero second argument.
6790         Replace it if not.
6791         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
6792         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
6793         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
6794         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
6795         (Depends-on): Update dependencies.
6796         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
6797         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
6798         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
6799
6800         Tests for module 'remainderl-ieee'.
6801         * modules/remainderl-ieee-tests: New file.
6802         * tests/test-remainderl-ieee.c: New file.
6803
6804         New module 'remainderl-ieee'.
6805         * modules/remainderl-ieee: New file.
6806
6807         Tests for module 'remainder-ieee'.
6808         * modules/remainder-ieee-tests: New file.
6809         * tests/test-remainder-ieee.c: New file.
6810
6811         New module 'remainder-ieee'.
6812         * modules/remainder-ieee: New file.
6813
6814         Tests for module 'remainderf-ieee'.
6815         * modules/remainderf-ieee-tests: New file.
6816         * tests/test-remainderf-ieee.c: New file.
6817         * tests/test-remainder-ieee.h: New file.
6818
6819         New module 'remainderf-ieee'.
6820         * modules/remainderf-ieee: New file.
6821
6822 2012-02-27  Bruno Haible  <bruno@clisp.org>
6823
6824         modff, modfl: Fix configure syntax error.
6825         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
6826         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6827
6828 2012-02-27  Bruno Haible  <bruno@clisp.org>
6829
6830         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
6831         * m4/fmodl-ieee.m4: New file.
6832         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
6833         whether fmodl works with zero arguments. Replace it if not.
6834         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
6835         (Depends-on): Add fmod-ieee.
6836         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
6837         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
6838
6839         fmodf-ieee: Work around test failure on OSF/1.
6840         * m4/fmodf-ieee.m4: New file.
6841         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
6842         whether fmodf works with zero arguments. Replace it if not.
6843         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
6844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
6845         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
6846         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
6847         (Depends-on): Update dependencies.
6848         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
6849         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
6850         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
6851
6852         fmodf-ieee: Work around test failure on MSVC 9.
6853         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
6854         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6855
6856         fmod-ieee: Work around test failures on OSF/1, mingw.
6857         * m4/fmod-ieee.m4: New file.
6858         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6859         whether fmod works with zero arguments. Replace it if not.
6860         * lib/math.in.h (fmod): New declaration.
6861         * lib/fmod.c: New file.
6862         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
6863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
6864         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
6865         * modules/fmod (Files): Add lib/fmod.c.
6866         (Depends-on): Add math, isinf, trunc, fma.
6867         (configure.ac): Arrange to compile lib/fmod.c if needed.
6868         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
6869         m4/signbit.m4.
6870         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
6871         * tests/test-math-c++.cc: Check the declaration of fmod.
6872         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
6873
6874         fmodl-ieee: Fix test failures.
6875         * lib/fmodl.c (fmodl): Treat Inf specially.
6876         * modules/fmodl (Depends-on): Add isinf.
6877
6878         Tests for module 'fmodl-ieee'.
6879         * modules/fmodl-ieee-tests: New file.
6880         * tests/test-fmodl-ieee.c: New file.
6881
6882         New module 'fmodl-ieee'.
6883         * modules/fmodl-ieee: New file.
6884
6885         Tests for module 'fmod-ieee'.
6886         * modules/fmod-ieee-tests: New file.
6887         * tests/test-fmod-ieee.c: New file.
6888
6889         New module 'fmod-ieee'.
6890         * modules/fmod-ieee: New file.
6891
6892         Tests for module 'fmodf-ieee'.
6893         * modules/fmodf-ieee-tests: New file.
6894         * tests/test-fmodf-ieee.c: New file.
6895         * tests/test-fmod-ieee.h: New file.
6896
6897         New module 'fmodf-ieee'.
6898         * modules/fmodf-ieee: New file.
6899
6900 2012-02-27  Bruno Haible  <bruno@clisp.org>
6901
6902         Tests for module 'rintl-ieee'.
6903         * modules/rintl-ieee-tests: New file.
6904         * tests/test-rintl-ieee.c: New file.
6905
6906         New module 'rintl-ieee'.
6907         * modules/rintl-ieee: New file.
6908
6909         Tests for module 'rint-ieee'.
6910         * modules/rint-ieee-tests: New file.
6911         * tests/test-rint-ieee.c: New file.
6912
6913         New module 'rint-ieee'.
6914         * modules/rint-ieee: New file.
6915
6916         Tests for module 'rintf-ieee'.
6917         * modules/rintf-ieee-tests: New file.
6918         * tests/test-rintf-ieee.c: New file.
6919         * tests/test-rint-ieee.h: New file.
6920
6921         New module 'rintf-ieee'.
6922         * modules/rintf-ieee: New file.
6923
6924 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6925
6926         regex: re_search etc. should return -2 when memory exhausted
6927         This bug was uncovered when testing 'grep'.  Without the fix,
6928         re_search and friends return -1 when memory is exhausted, but -1
6929         means no match, and this causes grep to falsely report no-match
6930         instead of memory-exhaustion.  See
6931         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6932         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6933         trouble; this can occur if re_search_internal ran out of memory.
6934
6935 2012-02-26  Bruno Haible  <bruno@clisp.org>
6936
6937         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6938         * m4/modfl-ieee.m4: New file.
6939         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6940         whether modfl works with Inf. Replace it if not.
6941         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
6942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
6943         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
6944         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
6945         (Depends-on): Update dependencies.
6946         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
6947         m4/signbit.m4.
6948         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
6949         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
6950
6951         modfl-ieee: Fix dependencies.
6952         * modules/modfl-ieee (Depends-on): Add modf-ieee.
6953
6954         modfl-ieee: Fix test failures.
6955         * lib/modfl.c (modfl): Treat NaN and Inf specially.
6956         * modules/modfl (Depends-on): Add isfinite, isinf.
6957
6958         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
6959         * m4/modff-ieee.m4: New file.
6960         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
6961         whether modff works with NaN and Inf. Replace it if not.
6962         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
6963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
6964         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
6965         * modules/modff (configure.ac): Consider REPLACE_MODFF.
6966         (Depends-on): Update dependencies.
6967         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
6968         m4/signbit.m4.
6969         (Depends-on): Add modf-ieee.
6970         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
6971         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
6972
6973         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
6974         * m4/modf-ieee.m4: New file.
6975         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
6976         whether modf works with NaN and Inf. Replace it if not.
6977         * lib/math.in.h (modf): New declaration.
6978         * lib/modf.c: New file.
6979         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
6980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
6981         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
6982         * modules/modf (Files): Add lib/modf.c.
6983         (Depends-on): Add math, isfinite, trunc, isinf.
6984         (configure.ac): Addrange to compile lib/modf.c if needed.
6985         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
6986         m4/signbit.m4.
6987         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
6988         * tests/test-math-c++.cc: Check the declaration of modf.
6989         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
6990
6991         Tests for module 'modfl-ieee'.
6992         * modules/modfl-ieee-tests: New file.
6993         * tests/test-modfl-ieee.c: New file.
6994
6995         New module 'modfl-ieee'.
6996         * modules/modfl-ieee: New file.
6997
6998         Tests for module 'modf-ieee'.
6999         * modules/modf-ieee-tests: New file.
7000         * tests/test-modf-ieee.c: New file.
7001
7002         New module 'modf-ieee'.
7003         * modules/modf-ieee: New file.
7004
7005         Tests for module 'modff-ieee'.
7006         * modules/modff-ieee-tests: New file.
7007         * tests/test-modff-ieee.c: New file.
7008         * tests/test-modf-ieee.h: New file.
7009
7010         New module 'modff-ieee'.
7011         * modules/modff-ieee: New file.
7012
7013 2012-02-26  Bruno Haible  <bruno@clisp.org>
7014
7015         Tests for module 'fabsl-ieee'.
7016         * modules/fabsl-ieee-tests: New file.
7017         * tests/test-fabsl-ieee.c: New file.
7018
7019         New module 'fabsl-ieee'.
7020         * modules/fabsl-ieee: New file.
7021
7022         Tests for module 'fabs-ieee'.
7023         * modules/fabs-ieee-tests: New file.
7024         * tests/test-fabs-ieee.c: New file.
7025
7026         New module 'fabs-ieee'.
7027         * modules/fabs-ieee: New file.
7028
7029         Tests for module 'fabsf-ieee'.
7030         * modules/fabsf-ieee-tests: New file.
7031         * tests/test-fabsf-ieee.c: New file.
7032         * tests/test-fabs-ieee.h: New file.
7033
7034         New module 'fabsf-ieee'.
7035         * modules/fabsf-ieee: New file.
7036
7037 2012-02-26  Bruno Haible  <bruno@clisp.org>
7038
7039         Tests for module 'fmal-ieee'.
7040         * modules/fmal-ieee-tests: New file.
7041         * tests/test-fmal-ieee.c: New file.
7042
7043         New module 'fmal-ieee'.
7044         * modules/fmal-ieee: New file.
7045
7046         Tests for module 'fma-ieee'.
7047         * modules/fma-ieee-tests: New file.
7048         * tests/test-fma-ieee.c: New file.
7049
7050         New module 'fma-ieee'.
7051         * modules/fma-ieee: New file.
7052
7053         Tests for module 'fmaf-ieee'.
7054         * modules/fmaf-ieee-tests: New file.
7055         * tests/test-fmaf-ieee.c: New file.
7056         * tests/test-fma-ieee.h: New file.
7057
7058         New module 'fmaf-ieee'.
7059         * modules/fmaf-ieee: New file.
7060
7061 2012-02-26  Bruno Haible  <bruno@clisp.org>
7062
7063         Tests for module 'ldexpl-ieee'.
7064         * modules/ldexpl-ieee-tests: New file.
7065         * tests/test-ldexpl-ieee.c: New file.
7066
7067         New module 'ldexpl-ieee'.
7068         * modules/ldexpl-ieee: New file.
7069
7070         Tests for module 'ldexp-ieee'.
7071         * modules/ldexp-ieee-tests: New file.
7072         * tests/test-ldexp-ieee.c: New file.
7073
7074         New module 'ldexp-ieee'.
7075         * modules/ldexp-ieee: New file.
7076
7077         Tests for module 'ldexpf-ieee'.
7078         * modules/ldexpf-ieee-tests: New file.
7079         * tests/test-ldexpf-ieee.c: New file.
7080         * tests/test-ldexp-ieee.h: New file.
7081
7082         New module 'ldexpf-ieee'.
7083         * modules/ldexpf-ieee: New file.
7084
7085 2012-02-26  Bruno Haible  <bruno@clisp.org>
7086
7087         Refactor frexp*-ieee tests.
7088         * tests/test-frexp-ieee.h: New file.
7089         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7090         (main): Just call test_function.
7091         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7092         (main): Just call test_function.
7093         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7094         (main): Just call test_function.
7095         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7096         * modules/frexp-ieee-tests (Files): Likewise.
7097         * modules/frexpl-ieee-tests (Files): Likewise.
7098
7099         Tests for module 'frexpl-ieee'.
7100         * modules/frexpl-ieee-tests: New file.
7101         * tests/test-frexpl-ieee.c: New file.
7102
7103         New module 'frexpl-ieee'.
7104         * modules/frexpl-ieee: New file.
7105
7106         Tests for module 'frexp-ieee'.
7107         * modules/frexp-ieee-tests: New file.
7108         * tests/test-frexp-ieee.c: New file.
7109
7110         New module 'frexp-ieee'.
7111         * modules/frexp-ieee: New file.
7112
7113         Tests for module 'frexpf-ieee'.
7114         * modules/frexpf-ieee-tests: New file.
7115         * tests/test-frexpf-ieee.c: New file.
7116
7117         New module 'frexpf-ieee'.
7118         * modules/frexpf-ieee: New file.
7119
7120 2012-02-26  Bruno Haible  <bruno@clisp.org>
7121
7122         roundl-ieee tests: More tests.
7123         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7124         (main): Add tests for [MX] shaded specification in POSIX.
7125         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7126         (Depends-on): Add isnanl-nolibm.
7127
7128         round-ieee tests: More tests.
7129         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7130         (main): Add tests for [MX] shaded specification in POSIX.
7131         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7132         (Depends-on): Add isnand-nolibm.
7133
7134         roundf-ieee tests: More tests.
7135         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7136         (main): Add tests for [MX] shaded specification in POSIX.
7137         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7138         (Depends-on): Add isnanf-nolibm.
7139
7140         truncl-ieee tests: More tests.
7141         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7142         (main): Add tests for [MX] shaded specification in POSIX.
7143         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7144         (Depends-on): Add isnanl-nolibm.
7145
7146         trunc-ieee tests: More tests.
7147         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7148         (main): Add tests for [MX] shaded specification in POSIX.
7149         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7150         (Depends-on): Add isnand-nolibm.
7151
7152         truncf-ieee tests: More tests.
7153         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7154         (main): Add tests for [MX] shaded specification in POSIX.
7155         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7156         (Depends-on): Add isnanf-nolibm.
7157
7158         ceill-ieee tests: More tests.
7159         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7160         (main): Add tests for [MX] shaded specification in POSIX.
7161         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7162         (Depends-on): Add isnanl-nolibm.
7163
7164         ceil-ieee tests: More tests.
7165         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7166         (main): Add tests for [MX] shaded specification in POSIX.
7167         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7168         (Depends-on): Add isnand-nolibm.
7169
7170         ceilf-ieee tests: More tests.
7171         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7172         (main): Add tests for [MX] shaded specification in POSIX.
7173         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7174         (Depends-on): Add isnanf-nolibm.
7175
7176         floorl-ieee tests: More tests.
7177         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7178         (main): Add tests for [MX] shaded specification in POSIX.
7179         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7180         (Depends-on): Add isnanl-nolibm.
7181
7182         floor-ieee tests: More tests.
7183         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7184         (main): Add tests for [MX] shaded specification in POSIX.
7185         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7186         (Depends-on): Add isnand-nolibm.
7187
7188         floorf-ieee tests: More tests.
7189         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7190         (main): Add tests for [MX] shaded specification in POSIX.
7191         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7192         (Depends-on): Add isnanf-nolibm.
7193
7194 2012-02-26  Bruno Haible  <bruno@clisp.org>
7195
7196         fpieee: More comments.
7197         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7198
7199 2012-02-25  Bruno Haible  <bruno@clisp.org>
7200
7201         Tests for module 'log10l'.
7202         * modules/log10l-tests: New file.
7203         * tests/test-log10l.c: New file.
7204         * tests/test-math-c++.cc: Check the declaration of log10l.
7205
7206         New module 'log10l'.
7207         * lib/math.in.h (log10l): New declaration.
7208         * lib/log10l.c: New file.
7209         * m4/log10l.m4: New file.
7210         * modules/log10l: New file.
7211         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7212         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7213         HAVE_DECL_LOG10L.
7214         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7215         HAVE_DECL_LOG10L.
7216         * doc/posix-functions/log10l.texi: Mention the new module.
7217
7218 2012-02-25  Bruno Haible  <bruno@clisp.org>
7219
7220         fmodl, remainder*: Avoid wrong results due to rounding errors.
7221         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7222         expected bounds.
7223         * lib/remainderf.c (remainderf): Likewise.
7224         * lib/remainder.c (remainder): Likewise.
7225         * lib/remainderl.c (remainderl): Likewise.
7226
7227 2012-02-25  Bruno Haible  <bruno@clisp.org>
7228
7229         Tests for module 'remainderl'.
7230         * modules/remainderl-tests: New file.
7231         * tests/test-remainderl.c: New file.
7232         * tests/test-math-c++.cc: Check the declaration of remainderl.
7233
7234         New module 'remainderl'.
7235         * lib/math.in.h (remainderl): New declaration.
7236         * lib/remainderl.c: New file.
7237         * m4/remainderl.m4: New file.
7238         * modules/remainderl: New file.
7239         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7241         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7242         HAVE_REMAINDERL.
7243         * doc/posix-functions/remainderl.texi: Mention the new module.
7244
7245 2012-02-25  Bruno Haible  <bruno@clisp.org>
7246
7247         Tests for module 'remainderf'.
7248         * modules/remainderf-tests: New file.
7249         * tests/test-remainderf.c: New file.
7250         * tests/test-math-c++.cc: Check the declaration of remainderf.
7251
7252         New module 'remainderf'.
7253         * lib/math.in.h (remainderf): New declaration.
7254         * lib/remainderf.c: New file.
7255         * m4/remainderf.m4: New file.
7256         * modules/remainderf: New file.
7257         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7258         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7259         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7260         HAVE_REMAINDERF.
7261         * doc/posix-functions/remainderf.texi: Mention the new module.
7262
7263 2012-02-25  Bruno Haible  <bruno@clisp.org>
7264
7265         remainder: Support for MSVC.
7266         * lib/math.in.h (remainder): New declaration.
7267         * lib/remainder.c: New file.
7268         * m4/remainder.m4: New file.
7269         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7270         (Depends-on): Add math, round, fma.
7271         (configure.ac): Use results of gl_FUNC_REMAINDER.
7272         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7273         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7274         HAVE_DECL_REMAINDER.
7275         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7276         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7277         * tests/test-math-c++.cc: Check the declaration of remainder.
7278         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7279         problems are fixed.
7280
7281 2012-02-25  Bruno Haible  <bruno@clisp.org>
7282
7283         Tests for module 'fmodl'.
7284         * modules/fmodl-tests: New file.
7285         * tests/test-fmodl.c: New file.
7286         * tests/test-math-c++.cc: Check the declaration of fmodl.
7287
7288         New module 'fmodl'.
7289         * lib/math.in.h (fmodl): New declaration.
7290         * lib/fmodl.c: New file.
7291         * m4/fmodl.m4: New file.
7292         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7294         REPLACE_FMODL.
7295         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7296         REPLACE_FMODL.
7297         * modules/fmodl: New file.
7298         * doc/posix-functions/fmodl.texi: Mention the new module.
7299
7300 2012-02-25  Bruno Haible  <bruno@clisp.org>
7301
7302         Tests for module 'modfl'.
7303         * modules/modfl-tests: New file.
7304         * tests/test-modfl.c: New file.
7305         * tests/test-math-c++.cc: Check the declaration of modfl.
7306
7307         New module 'modfl'.
7308         * lib/math.in.h (modfl): New declaration.
7309         * lib/modfl.c: New file.
7310         * m4/modfl.m4: New file.
7311         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7313         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7314         * modules/modfl: New file.
7315         * doc/posix-functions/modfl.texi: Mention the new module.
7316
7317 2012-02-25  Bruno Haible  <bruno@clisp.org>
7318
7319         Tests for module 'fabsl'.
7320         * modules/fabsl-tests: New file.
7321         * tests/test-fabsl.c: New file.
7322         * tests/test-math-c++.cc: Check the declaration of fabsl.
7323
7324         New module 'fabsl'.
7325         * lib/math.in.h (fabsl): New declaration.
7326         * lib/fabsl.c: New file.
7327         * m4/fabsl.m4: New file.
7328         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7329         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7330         REPLACE_FABSL.
7331         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7332         REPLACE_FABSL.
7333         * modules/fabsl: New file.
7334         * doc/posix-functions/fabsl.texi: Mention the new module.
7335
7336 2012-02-25  Bruno Haible  <bruno@clisp.org>
7337
7338         fabs tests: More tests.
7339         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7340         (zero): New variable.
7341         (main): Add tests for signed zero.
7342         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7343
7344         fabsf tests: More tests.
7345         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7346         (zero): New variable.
7347         (main): Add tests for signed zero.
7348         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7349
7350 2012-02-24  Bruno Haible  <bruno@clisp.org>
7351
7352         atanl: Provide function definition on MSVC.
7353         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7354         function pointer.
7355         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7356
7357 2012-02-24  Bruno Haible  <bruno@clisp.org>
7358
7359         acosl: Provide function definition on MSVC.
7360         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7361         function pointer.
7362         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7363
7364 2012-02-24  Bruno Haible  <bruno@clisp.org>
7365
7366         asinl: Provide function definition on MSVC.
7367         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7368         function pointer.
7369         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7370
7371 2012-02-24  Bruno Haible  <bruno@clisp.org>
7372
7373         tanl: Provide function definition on MSVC.
7374         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7375         function pointer.
7376         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7377
7378 2012-02-24  Bruno Haible  <bruno@clisp.org>
7379
7380         cosl: Provide function definition on MSVC.
7381         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7382         function pointer.
7383         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7384
7385 2012-02-24  Bruno Haible  <bruno@clisp.org>
7386
7387         sinl: Provide function definition on MSVC.
7388         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7389         function pointer.
7390         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7391
7392 2012-02-24  Bruno Haible  <bruno@clisp.org>
7393
7394         logl: Provide function definition on MSVC.
7395         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7396         function pointer.
7397         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7398
7399 2012-02-24  Bruno Haible  <bruno@clisp.org>
7400
7401         expl: Provide function definition on MSVC.
7402         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7403         function pointer.
7404         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7405
7406 2012-02-24  Bruno Haible  <bruno@clisp.org>
7407
7408         sqrtl: Provide function definition on MSVC.
7409         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7410         a function pointer.
7411         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7412
7413 2012-02-24  Bruno Haible  <bruno@clisp.org>
7414
7415         ceill: Provide function definition on MSVC.
7416         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7417         used as a function pointer.
7418         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7419
7420 2012-02-24  Bruno Haible  <bruno@clisp.org>
7421
7422         floorl: Provide function definition on MSVC.
7423         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7424         used as a function pointer.
7425         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7426
7427 2012-02-24  Bruno Haible  <bruno@clisp.org>
7428
7429         ceilf: Provide function definition on MSVC.
7430         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7431         used as a function pointer.
7432         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7433
7434 2012-02-24  Bruno Haible  <bruno@clisp.org>
7435
7436         floorf: Provide function definition on MSVC.
7437         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7438         used as a function pointer.
7439         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7440
7441 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7442
7443         stdnoreturn: new module
7444         This implements a replacement for C11's <stdnoreturn.h>.
7445         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7446         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7447         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7448         * tests/test-stdnoreturn.c: New files.
7449
7450 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7451
7452         regex: fix false multibyte matches in some regular expressions
7453         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7454         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7455         * lib/regex_internal.c (re_string_skip_chars):
7456         Fix miscomputation of remain_len that may cause incomplete
7457         multi-byte character and false match.
7458
7459 2012-02-24  Jim Meyering  <meyering@redhat.com>
7460
7461         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7462         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7463         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7464         Remove now-unnecessary str''cmp obfuscation.
7465         Suggested by Akim Demaille.
7466
7467 2012-02-24  Bruno Haible  <bruno@clisp.org>
7468
7469         streq: Rename macro.
7470         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7471         * NEWS: Mention the change.
7472         * lib/mbrtowc.c (mbrtowc): Update.
7473         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7474         * lib/wcwidth.c (wcwidth): Update.
7475         Suggested by Akim Demaille and Jim Meyering.
7476
7477 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7478
7479         regex: fix typo in definition of MIN
7480         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7481         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7482
7483 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7484             Bruno Haible  <bruno@clisp.org>
7485
7486         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7487         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7488         entries into a stack-allocated buffer directly.
7489         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7490
7491 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7492             Bruno Haible  <bruno@clisp.org>
7493
7494         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7495
7496          - There were several instances of this pattern:
7497
7498              for (;;) {
7499                n = acl (f, GETACLCNT, 0, NULL);
7500                [ allocate an array A of size N ]
7501                if (acl (f, GETACL, n, a) == n)
7502                  break;
7503              }
7504
7505            This loop might never terminate if some other process is constantly
7506            manipulating the file's ACL.  The loop should be rewritten to
7507            terminate.
7508
7509          - The acl (... GETACLNT ...) call is merely an optimization; its value
7510            is merely a hint as to how big to make the array.  A better
7511            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7512            and just guess a reasonably-big size, growing the size and trying
7513            again if it's not large enough.  This guarantees termination, and
7514            saves a system call.
7515
7516         * lib/acl-internal.h: Include <limits.h>.
7517         (MIN, SIZE_MAX): New macros.
7518         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7519         a stack-allocated buffer, and use malloc if it does not fit. Don't
7520         use GETACLCNT.
7521         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7522
7523 2012-02-19  Bruno Haible  <bruno@clisp.org>
7524
7525         acl: Fix endless loop on Solaris with vxfs.
7526         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7527         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7528         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7529         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7530         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7531         Reported by Bill Jones in
7532         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7533
7534 2012-02-19  Bruno Haible  <bruno@clisp.org>
7535
7536         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7537         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7538         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7539         that this function returns 0 in some more cases.
7540
7541 2012-02-19  Bruno Haible  <bruno@clisp.org>
7542
7543         acl: Update doc references.
7544         * doc/acl-resources.txt: Update links to Solaris documentation.
7545
7546 2012-02-19  Bruno Haible  <bruno@clisp.org>
7547
7548         Fix test failure in many locales on Solaris 11.
7549         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7550         'tr' arguments.
7551         * tests/test-pipe-filter-ii1.c (main): Likewise.
7552         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7553         expressions in the C locale.
7554         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7555         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7556
7557 2012-02-19  Bruno Haible  <bruno@clisp.org>
7558
7559         gnulib-tool: Improve usage message.
7560         * gnulib-tool (func_usage): Move doc of --help and --version to the
7561         section "Operation modes".
7562
7563 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7564
7565         README-release: make it easier to execute commands
7566         * top/README-release: break commands out on to separate lines.
7567
7568 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7569
7570         GNUmakefile: simplify detection of unconfigured trees
7571         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7572         whether the tree make is being run from is already configured or
7573         not.  Related simplifications.
7574
7575 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7576
7577         * gnulib-tool (func_usage): Document --help and --version.
7578
7579 2012-02-11  Jim Meyering  <meyering@redhat.com>
7580
7581         bootstrap: don't exit 0 upon gnulib-tool failure
7582         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7583         its exit status, not 0.
7584
7585 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7586
7587         README-release: various improvements
7588         * top/README-release: Give a command to push changes for the
7589         release.  Add "distcheck" to list of other pre-release checks.
7590         Fix instance of "make stable" which should be "make TYPE".
7591
7592 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7593
7594         maint: replace FSF snail-mail addresses with URLs
7595         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7596         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7597         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7598         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7599         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7600         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7601         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7602         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7603         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7604         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7605         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7606         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7607         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7608         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7609         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7610         * lib/glthread/thread.c, lib/glthread/thread.h:
7611         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7612         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7613         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7614         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7615         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7616         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7617         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7618         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7619         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7620         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7621         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7622         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7623         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7624         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7625         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7626         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7627         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7628         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7629         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7630         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7631         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7632         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7633         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7634         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7635         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7636         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7637         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7638         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7639         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7640         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7641         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7642         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7643         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7644         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7645         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7646         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7647         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7648         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7649         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7650         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7651         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7652         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7653         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7654         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7655         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7656         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7657         * tests/test-poll.c, tests/test-quotearg-simple.c:
7658         * tests/test-quotearg.c, tests/test-quotearg.h:
7659         * tests/test-round-ieee.c, tests/test-round1.c:
7660         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7661         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7662         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7663         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7664         * tests/test-strerror.c, tests/test-strerror_r.c:
7665         * tests/test-strsignal.c, tests/test-strverscmp.c:
7666         * tests/test-xmemdup0.c:
7667         Replace FSF snail mail addresses with URLs, as per GNU coding
7668         standards.  See glibc bug
7669         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7670
7671 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7672
7673         README-release: capitalize a word and split a line
7674         * top/README-release: Fix punctuation and spacing.
7675
7676 2012-02-08  Akim Demaille  <demaille@gostai.com>
7677
7678         fatal-signal: use C prototypes (with explicit void).
7679         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7680         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7681
7682 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7683
7684         regex: spelling fix
7685         * lib/regexec.c: spelling fix
7686
7687         regex: rely on stdint.h for SIZE_MAX
7688         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7689
7690 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7691
7692         regex: merge glibc changes
7693
7694         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7695         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7696         (init_word_char): Work even if bitset words are not exactly 32 or
7697         64 bits wide.  Don't assume there are no padding bits.
7698         * lib/regex.c [_LIBC]: Do not include <config.h>.
7699         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7700         and -Wtype-limits.
7701         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7702         needless disagreement with glibc.  All uses changed.  Define it to
7703         1 only if _GNU_SOURCE, to match glibc.
7704         (_REG_RM_NAME): Remove; no longer needed, since the names in
7705         question are now all protected by __USE_GNU.
7706         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7707         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7708         * lib/regex_internal.h (MIN): New macro.
7709
7710         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7711         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7712
7713         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7714         * lib/regex_internal.c (re_string_fetch_byte_case):
7715         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7716         is miscompiled, and it turns out it is because of an incorrect
7717         attribute on re_string_fetch_byte_case.  Unlike
7718         re_string_peek_byte_case, this one is really not pure, it modifies
7719         memory (increments pstr->cur_idx), and with the pure attribute GCC
7720         assumed it doesn't and it cached the presumed value of
7721         regexp->cur_idx in a variable across the
7722          for (;; ++i)
7723            {
7724              if (i >= BRACKET_NAME_BUF_SIZE)
7725                return REG_EBRACK;
7726              if (token->type == OP_OPEN_CHAR_CLASS)
7727                ch = re_string_fetch_byte_case (regexp);
7728              else
7729                ch = re_string_fetch_byte (regexp);
7730              if (re_string_eoi(regexp))
7731                return REG_EBRACK;
7732              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7733                break;
7734              elem->opr.name[i] = ch;
7735            }
7736
7737         2011-11-29 Andreas Schwab <schwab@redhat.com>
7738         * lib/regcomp.c (build_equiv_class):
7739         Fix access after end of search string in regex matcher.
7740
7741         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7742         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7743
7744         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7745         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7746
7747         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7748         * lib/regcomp.c (parse_branch, parse_sub_exp):
7749         More regex memory leak fixes and tests.
7750         (parse_sub_exp, parse_bracket_exp):
7751         Fix memory leak for some invalid regular expressions.
7752
7753         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7754         * lib/regex_internal.c, lib/regexec.c:
7755         Fix unnecessary overallocation due to incomplete character.  When
7756         incomplete characters are found at the end of a string the code
7757         ran amok and allocated lots of memory.  Stricter limits are now in
7758         place.
7759
7760         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7761         * lib/regex.h: Update documentation.
7762
7763         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7764         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7765
7766         2010-05-05 Andreas Schwab <schwab@redhat.com>
7767         * lib/regexec.c (find_collation_sequence_value):
7768         Fix lookup of collation sequence value during regexp matching.
7769
7770         2010-01-22 Ulrich Drepper <drepper@redhat.com>
7771         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
7772
7773         2008-01-16 Ulrich Drepper <drepper@redhat.com>
7774         * lib/regex.h: Cleanup namespace.
7775
7776         2007-11-26 Ulrich Drepper <drepper@redhat.com>
7777         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
7778
7779         2007-08-26 Ulrich Drepper <drepper@redhat.com>
7780         * lib/regex_internal.h: Prevent some declarations and definitions
7781         to be seen when used in tests.
7782
7783         2005-05-06 Ulrich Drepper <drepper@redhat.com>
7784         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
7785         __libc_lock_* macros if not _LIBC.
7786         (struct re_dfa_t): Add lock.
7787
7788 2012-02-07  Eric Blake  <eblake@redhat.com>
7789
7790         maint.mk: also prohibit lower-case @var@
7791         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
7792         lower case, like @top_srcdir@.
7793
7794 2012-02-04  Eric Blake  <eblake@redhat.com>
7795
7796         canonicalize: avoid uninitialized memory use
7797         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
7798         random '/' left in dest.
7799         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
7800
7801 2012-02-04  Bruno Haible  <bruno@clisp.org>
7802
7803         isatty: Fix test failure of ptsname_r on native Windows.
7804         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
7805         and don't set errno.
7806         (isatty): Test first whether fd is valid. Set errno when returning 0.
7807
7808 2012-02-04  Bruno Haible  <bruno@clisp.org>
7809
7810         spawn-pipe tests: Fix a NULL program name in a diagnostic.
7811         * tests/test-spawn-pipe-main.c: Include progname.h.
7812         (main): Invoke set_program_name.
7813         * modules/spawn-pipe-tests (Depends-on): Add progname.
7814
7815         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
7816         * tests/test-nonblocking-socket-main.c: Include progname.h.
7817         (main): Invoke set_program_name.
7818         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7819
7820         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
7821         * tests/test-nonblocking-pipe-main.c: Include progname.h.
7822         (main): Invoke set_program_name.
7823         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
7824
7825 2012-02-04  Eric Blake  <eblake@redhat.com>
7826
7827         canonicalize-lgpl: fix // handling
7828         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
7829
7830         canonicalize: fix // handling
7831         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
7832         /// to //, since only // is special.
7833
7834 2012-02-04  Bruno Haible  <bruno@clisp.org>
7835
7836         ioctl: Fix test failure on native Windows.
7837         * lib/ioctl.c: Include msvc-nothrow.h.
7838         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
7839
7840 2012-02-04  Bruno Haible  <bruno@clisp.org>
7841
7842         fsync: Avoid test failure on native Windows.
7843         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
7844         read-only.
7845
7846 2012-02-04  Bruno Haible  <bruno@clisp.org>
7847
7848         sys_select: Avoid syntax error on OpenBSD 5.0.
7849         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
7850         currently being included, just include the system's <sys/select.h>.
7851
7852 2012-02-04  Bruno Haible  <bruno@clisp.org>
7853
7854         sys_select: Avoid syntax error on OpenBSD 5.0.
7855         * lib/sys_select.in.h: Include <signal.h> only after the include_next
7856         <sys/select.h>, not before.
7857         Reported by Jiri B <jirib@devio.us>.
7858
7859 2012-02-04  Bruno Haible  <bruno@clisp.org>
7860
7861         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
7862         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
7863         global variables.
7864         * tests/test-get-rusage-data.c (main): Likewise.
7865         Reported by Jim Meyering.
7866
7867 2012-02-04  Bruno Haible  <bruno@clisp.org>
7868
7869         stdioext: Fix last commit.
7870         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
7871
7872 2012-02-03  Bruno Haible  <bruno@clisp.org>
7873
7874         stdioext: Add tentative support for Plan9.
7875         * lib/stdio-impl.h: Include <errno.h>.
7876         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
7877         * lib/freadable.c (freadable): Likewise.
7878         * lib/fwritable.c (fwritable): Likewise.
7879         * lib/fbufmode.c (fbufmode): Likewise.
7880         * lib/freading.c (freading): Likewise.
7881         * lib/fwriting.c (fwriting): Likewise.
7882         * lib/freadptr.c (freadptr): Likewise.
7883         * lib/freadseek.c (freadptrinc): Likewise.
7884         * lib/freadahead.c (freadahead): Likewise.
7885         * lib/fpurge.c (fpurge): Likewise.
7886         * lib/fseeko.c (rpl_fseeko): Likewise.
7887         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
7888         Reported by Jens Staal <staal1978@gmail.com>.
7889
7890 2012-02-02  Jim Meyering  <meyering@redhat.com>
7891
7892         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
7893         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
7894         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
7895         not even to try to add the attribute.  Instead, add a pragma to suppress
7896         the suggestion/warning.
7897
7898 2012-01-31  Karl Berry  <karl@gnu.org>
7899
7900         setstate doc: typo.
7901         * doc/posix-functions/setstate.texi (setstate): { not (.
7902
7903 2012-01-31  Bruno Haible  <bruno@clisp.org>
7904
7905         popen: Make more robust on Windows.
7906         * lib/popen.c: On native Windows, use the _popen based code even if
7907         HAVE_POPEN is set.
7908         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
7909         environment variable on native Windows.
7910
7911 2012-01-30  Bruno Haible  <bruno@clisp.org>
7912
7913         pclose: Fix typo.
7914         * lib/stdio.in.h (pclose): Fix typo in warning message.
7915
7916 2012-01-30  Bruno Haible  <bruno@clisp.org>
7917
7918         doc about getlogin_r, setstate.
7919         * doc/posix-functions/getlogin_r.texi: List the incompatible
7920         declaration problem under "not fixed by gnulib".
7921         * doc/posix-functions/setstate.texi: Mention incompatible declaration
7922         problem on Solaris 11 and other platforms.
7923
7924 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
7925             Bruno Haible  <bruno@clisp.org>
7926
7927         poll tests: Make test more robust.
7928         * tests/test-poll.c: Include macros.h.
7929         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
7930         return value of various I/O operations.
7931         * modules/poll-tests (Files): Add tests/macros.h.
7932
7933 2012-01-30  Bruno Haible  <bruno@clisp.org>
7934
7935         sys_stat: Fix support for mingw64 and MSVC.
7936         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7937         header files already do it.
7938         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7939         stat itself.
7940         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7941
7942 2012-01-30  Bruno Haible  <bruno@clisp.org>
7943
7944         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
7945         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
7946         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
7947
7948 2012-01-29  Bruno Haible  <bruno@clisp.org>
7949
7950         quotearg: Fix test failure on MacOS X 10.5.
7951         * tests/test-quotearg-simple.c: Include localcharset.h.
7952         (main): If the locale encoding is not ASCII, bypass the tests of
7953         locale_quoting_style and clocale_quoting_style.
7954         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
7955
7956 2012-01-29  Jim Meyering  <meyering@redhat.com>
7957
7958         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
7959         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
7960         detect uses of canonicalize_file_name.
7961
7962 2012-01-28  Bruno Haible  <bruno@clisp.org>
7963
7964         test-framework-sh: Fix test failure with AIX 7.1 diff.
7965         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
7966         in column 1, like 'diff -c' does.
7967         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
7968         whether 'diff -u' is used. Instead, test whether the output contains
7969         some '@' character.
7970
7971 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7972
7973         strtoimax: eliminate need for stdint.h, inttypes.h checks
7974         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
7975         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
7976         the prerequisites for a recently-introduced strtoimax test.
7977         I guess this might cause strtoimax to be replaced when not
7978         strictly necessary on older hosts, but this shouldn't introduce
7979         any bugs and it should make Emacs 'configure' faster on typical
7980         modern hosts.  Problem discovered when importing the latest gnulib
7981         to an Emacs test version.
7982         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
7983
7984 2012-01-28  Bruno Haible  <bruno@clisp.org>
7985
7986         sys_time: Override 'struct timeval' on some native Windows platforms.
7987         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
7988         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
7989         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
7990         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
7991         needs to be overridden.
7992         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
7993         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
7994         * tests/test-sys_select.c: Check that the tv_sec member has the same
7995         size as a 'time_t'.
7996         * tests/test-sys_time.c: Likewise.
7997         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
7998         is set, set also REPLACE_GETTIMEOFDAY.
7999         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8000         convert the resulting 'struct timeval' before returning.
8001         * lib/select.c: Include <sys/time.h>.
8002         (select, timeval): Undefine at the right place.
8003         * modules/select (Depends-on): Add sys_time.
8004         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8005         some Windows platforms.
8006         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8007
8008 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8009
8010         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8011         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8012         an integer.
8013         * lib/fcntl.c (dupfd): Likewise.
8014         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8015
8016 2012-01-28  Bruno Haible  <bruno@clisp.org>
8017
8018         fcntl: Avoid compilation error on native Windows.
8019         * modules/fcntl (Depends-on): Add 'close'.
8020
8021 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8022
8023         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8024         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8025         pointer to an integer.
8026         * lib/poll.c (IsConsoleHandle): Likewise.
8027         * lib/isatty.c (IsConsoleHandle): Likewise.
8028
8029 2012-01-28  Jim Meyering  <meyering@redhat.com>
8030
8031         doc: clarify README-release
8032         * top/README-release: Clarify: you should make a point to have
8033         the latest stable versions of build tools in your PATH, and the
8034         reference to buildreq is solely for its list of tool names, not
8035         for its minimal-functional version numbers.
8036         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8037
8038         maint.mk: use more readable (yet functionally equivalent) quoting
8039         It is common to quote a single quote in a single quoted string like
8040         this:  '...'\''...'.  Unless you know the idiom, that looks like
8041         gibberish, so prefer to double-quote the string when possible.
8042         Then you can use a more readable, lone single quote: "...'..."
8043         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8044         "don't" is more readable than the equivalent 'don'\''t'.
8045         (sc_cast_of_x_alloc_return_value): Likewise.
8046         (sc_cast_of_alloca_return_value): Likewise.
8047         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8048         rather than '\'':'\''.
8049
8050 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8051
8052         stdalign: relax _Alignof and tighten _Alignas test
8053         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8054         as it was too strict: alignof must divide offsetof, but it need
8055         not equal offsetof.  Inspired by Joseph S. Myers's comment
8056         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8057         Conversely, tighten the _Alignas test a bit, as the resulting
8058         alignment must be exactly 8.
8059
8060 2012-01-27  Bruno Haible  <bruno@clisp.org>
8061
8062         stdalign: Document the last change.
8063         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8064
8065 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8066
8067         stdalign: check that alignof and offsetof are consistent
8068         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8069         Problem reported for gnulib by Richard W.M. Jones in
8070         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8071
8072 2012-01-27  Jim Meyering  <meyering@redhat.com>
8073
8074         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8075         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8076         convert a sequence with gaps to the minimal containing range.
8077         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8078         * tests/test-update-copyright.sh: Test for this.
8079         The FSF confirmed it is ok to do this, assuming there is at
8080         least one significant change per year in the affected range:
8081         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8082
8083 2012-01-26  Bruno Haible  <bruno@clisp.org>
8084
8085         pipe2: refine doc about thread-safety
8086         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8087         multithread-safety problem.
8088         * doc/glibc-functions/accept4.texi: Likewise.
8089
8090 2012-01-26  Bruno Haible  <bruno@clisp.org>
8091
8092         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8093         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8094         In the test program, include <fcntl.h>, for O_RDONLY.
8095
8096 2012-01-26  Eric Blake  <eblake@redhat.com>
8097
8098         pipe2: document lack of thread-safety in replacement
8099         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8100         issue in replacement.
8101         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8102         Based on a report by Eric Wong.
8103
8104 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8105             Bruno Haible  <bruno@clisp.org>
8106
8107         malloca: Avoid warnings on x86_64 mingw64.
8108         * lib/malloca.c: Include <stdint.h>.
8109         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8110         * modules/malloca (Depends-on): Add stdint.
8111         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8112
8113 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8114
8115         obstack: remove __STDC__ conditionals
8116         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8117         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8118         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8119         m4/include_next.m4 as the only gnulib-maintained places that still
8120         refer to __STDC__.
8121
8122 2012-01-24  Bruno Haible  <bruno@clisp.org>
8123
8124         havelib: Modern quoting.
8125         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8126         the recent change to the GNU coding standards.
8127
8128 2012-01-24  Bruno Haible  <bruno@clisp.org>
8129
8130         stdint: Improve support for Android.
8131         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8132         Reported by Simon Josefsson <simon@josefsson.org>.
8133
8134 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8135
8136         doc: omit trailing empty lines from INSTALL etc.
8137         * doc/Makefile (INSTALL): Omit trailing empty lines.
8138         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8139         omit trailing empty lines.  This simplifies the build procedure.
8140
8141 2012-01-23  Jim Meyering  <meyering@redhat.com>
8142
8143         tests: avoid spurious warnings about gl_sockets_startup
8144         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8145         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8146         reporting a "statement with no effect".
8147         * tests/test-accept.c (main): Mark as "(void)".
8148         * tests/test-accept4.c (main): Likewise.
8149         * tests/test-bind.c (main): Likewise.
8150         * tests/test-connect.c (main): Likewise.
8151         * tests/test-getpeername.c (main): Likewise.
8152         * tests/test-getsockname.c (main): Likewise.
8153         * tests/test-getsockopt.c (main): Likewise.
8154         * tests/test-listen.c (main): Likewise.
8155         * tests/test-recv.c (main): Likewise.
8156         * tests/test-recvfrom.c (main): Likewise.
8157         * tests/test-send.c (main): Likewise.
8158         * tests/test-sendto.c (main): Likewise.
8159         * tests/test-setsockopt.c (main): Likewise.
8160         * tests/test-shutdown.c (main): Likewise.
8161
8162 2012-01-21  Bruno Haible  <bruno@clisp.org>
8163
8164         locale-fr.m4: Fix for Android.
8165         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8166         failure of the test program on Bionic libc.
8167
8168 2012-01-21  Jim Meyering  <meyering@redhat.com>
8169
8170         bootstrap: fail when bootstrap_post_import_hook fails
8171         Otherwise, it's far too easy to miss diagnostics emitted
8172         between gnulib-tool's output and that of running configure.
8173         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8174
8175 2012-01-17  Jim Meyering  <meyering@redhat.com>
8176
8177         maint: enable sc_trailing_blank
8178         * build-aux/pmccabe.css: Remove trailing blanks.
8179         * doc/acl-cygwin.txt: Likewise.
8180         * doc/gnu-oids.texi: Likewise
8181         * cfg.mk: Enable sc_trailing_blank.
8182         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8183
8184 2012-01-17  Jim Meyering  <meyering@redhat.com>
8185
8186         maint: enable sc_prohibit_openat_without_use
8187         * cfg.mk: Enable sc_prohibit_openat_without_use.
8188         Exempt lib/selinux-at.c.
8189
8190 2012-01-17  Jim Meyering  <meyering@redhat.com>
8191
8192         maint: enable sc_prohibit_cloexec_without_use
8193         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8194         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8195
8196 2012-01-17  Jim Meyering  <meyering@redhat.com>
8197
8198         maint: enable sc_prohibit_intprops_without_use
8199         * cfg.mk: Enable sc_prohibit_intprops_without_use
8200         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8201
8202 2012-01-17  Jim Meyering  <meyering@redhat.com>
8203
8204         maint: enable sc_prohibit_hash_pjw_without_use
8205         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8206         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8207         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8208         following " (".
8209
8210 2012-01-17  Jim Meyering  <meyering@redhat.com>
8211
8212         maint: enable double-word-prohibiting rule
8213         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8214         Exempt three files.
8215
8216 2012-01-17  Jim Meyering  <meyering@redhat.com>
8217
8218         maint: remove empty lines at EOF, but excluding modules/*
8219         Apply syntax rules at home as well as abroad.  Most changes
8220         were induced by running this:
8221           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8222             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8223             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8224         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8225         Exempt modules/* and two binary files.
8226         Also exempt doc/INSTALL*, per request from Bruno Haible.
8227         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8228         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8229         * doc/Copyright/request-assign.future: Likewise.
8230         * doc/Copyright/request-disclaim.changes: Likewise.
8231         * doc/INSTALL: Likewise.
8232         * doc/INSTALL.ISO: Likewise.
8233         * doc/INSTALL.UTF-8: Likewise.
8234         * doc/acl-cygwin.txt: Likewise.
8235         * doc/acl-resources.txt: Likewise.
8236         * doc/fdl-1.2.texi: Likewise.
8237         * doc/fdl-1.3.texi: Likewise.
8238         * doc/fdl.texi: Likewise.
8239         * lib/argp-pin.c: Likewise.
8240         * lib/round.c: Likewise.
8241         * lib/unicase/u16-totitle.c: Likewise.
8242         * lib/unictype/block_test.c: Likewise.
8243         * lib/uninorm/canonical-decomposition.c: Likewise.
8244         * m4/README: Likewise.
8245         * m4/relocatable-lib.m4: Likewise.
8246         * tests/test-isnand-nolibm.c: Likewise.
8247         * tests/test-isnand.c: Likewise.
8248         * tests/uninorm/NormalizationTest.txt: Likewise.
8249
8250 2012-01-17  Jim Meyering  <meyering@redhat.com>
8251
8252         maint: add framework to run syntax-check rules against gnulib sources
8253         * cfg.mk: New file, to disable all currently-failing tests.
8254         We'll enable them one by one, as they are made to pass.
8255         * Makefile (sc_maint): New rule.
8256
8257 2012-01-21  Bruno Haible  <bruno@clisp.org>
8258
8259         stdint: Add support for Android.
8260         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8261         include the system's <stdint.h>.
8262         Reported by Simon Josefsson <simon@josefsson.org>.
8263
8264 2012-01-19  Jim Meyering  <meyering@redhat.com>
8265
8266         bootstrap: add bootstrap_post_import_hook
8267         Bison does still need something like the gnulib_mk_hook whose
8268         invocation I had to remove along with slurp in commit 767ccd40.
8269         Technically, we could get along without it, but doing so would
8270         have required living with a warning and a mandatory post-bootstrap
8271         automake rerun.
8272         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8273         (bootstrap_post_import_hook): New function.
8274         Invoke it after gnulib-tool --import and before autoreconf.
8275
8276 2012-01-18  Jim Meyering  <meyering@redhat.com>
8277
8278         gitlog-to-changelog: don't use "no_"-prefixed variable name
8279         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8280         to enable both --cluster and --no-cluster.  Change variable name,
8281         s/\$no_cluster/$cluster/, and reverse usage to match.
8282
8283         gitlog-to-changelog: use "||", not "or" in expressions
8284         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8285         expressions.
8286
8287 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8288
8289         gitlog-to-changelog: new option --no-cluster
8290         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8291         clustering of adjacent commit messages.
8292
8293 2012-01-17  Jim Meyering  <meyering@redhat.com>
8294
8295         maint: spell file systems with two words, not one
8296         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8297         two words, not one.
8298
8299 2012-01-16  Jim Meyering  <meyering@redhat.com>
8300
8301         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8302         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8303
8304 2012-01-16  Eric Blake  <eblake@redhat.com>
8305
8306         bootstrap: cater to autoconf 2.59
8307         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8308         is not available.
8309
8310         bootstrap: properly check for libtool
8311         * build-aux/bootstrap (libtoolize): Also run libtool when older
8312         usage is detected.
8313
8314 2012-01-15  Bruno Haible  <bruno@clisp.org>
8315
8316         Improve support for MSVC 9.
8317         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8318         clashes on MSVC.
8319         * lib/fcntl.in.h: Likewise.
8320         * lib/stdlib.in.h: Likewise.
8321         * lib/sys_stat.in.h: Likewise.
8322
8323 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8324
8325         gnupload: we hold the master copy of this script now
8326         For motivation and more information, see:
8327         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8328         * build-aux/gnupload: Make it clear in the heading comments that the
8329         master copy of this file is maintained by gnulib.  Since we are at
8330         it, bump its copyright year and ...
8331         ($scriptversion): ... the date in its version.
8332         ($usage): Patches and bug reports should be sent to the gnulib list,
8333         not the automake one.
8334         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8335         anymore.
8336
8337 2012-01-15  Bruno Haible  <bruno@clisp.org>
8338
8339         Fix module 'random'.
8340         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8341         initstate, setstate are declared.
8342
8343 2012-01-14  Bruno Haible  <bruno@clisp.org>
8344
8345         Tests for module 'random'.
8346         * modules/random-tests: New file.
8347         * tests/test-random.c: New file, based on tests/test-random_r.c.
8348
8349         New module 'random'.
8350         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8351         declarations.
8352         * lib/random.c: New file, based on glibc/stdlib/random.c.
8353         * m4/random.m4: New file.
8354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8355         HAVE_RANDOM.
8356         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8357         * modules/random: New file.
8358         * config/srclist.txt: Add an entry for random.c.
8359         * doc/posix-functions/random.texi: Mention the 'random' module.
8360         * doc/posix-functions/initstate.texi: Likewise.
8361         * doc/posix-functions/setstate.texi: Likewise.
8362         * doc/posix-functions/srandom.texi: Likewise.
8363
8364 2012-01-12  Bruno Haible  <bruno@clisp.org>
8365
8366         random_r: Use common idioms.
8367         * lib/random_r.c: Include <stdlib.h> first.
8368
8369         random_r: Override incompatible API on AIX, OSF/1.
8370         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8371         Override the system function if REPLACE_RANDOM_R is 1.
8372         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8373         and OSF/1, set REPLACE_RANDOM_R.
8374         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8375         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8376         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8377         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8378         * doc/glibc-functions/random_r.texi: Likewise.
8379         * doc/glibc-functions/setstate_r.texi: Likewise.
8380
8381         random_r: Support for MSVC 9.
8382         * lib/random_r.c: Include stdint.h, not inttypes.h.
8383
8384 2012-01-12  Eric Blake  <eblake@redhat.com>
8385
8386         inet_ntop: guard extra work by IF_LINT
8387         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8388         better code generation when not checking for warnings.
8389         Suggested by Paul Eggert and Jim Meyering.
8390
8391         strptime: fix regression on mingw
8392         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8393         Fix regression.  Reported by Bruno Haible.
8394
8395 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8396             Bruno Haible  <bruno@clisp.org>
8397
8398         copy-file: add error-code-returning variant.
8399         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8400         (qcopy_file_preserving): New declaration.
8401         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8402         copy_file_preserving. Change return type to 'int'. Don't emit an error
8403         message here.
8404         (copy_file_preserving): New function.
8405         * tests/test-copy-file.c: Include <stdlib.h>.
8406         (main): Test qcopy_file_preserving if the environment variable
8407         NO_STDERR_OUTPUT is set.
8408         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8409         with NO_STDERR_OUTPUT
8410         * tests/test-copy-file-2.sh: Likewise.
8411
8412 2012-01-10  Bruno Haible  <bruno@clisp.org>
8413
8414         copy-file: Use 'quote' module consistently.
8415         * lib/copy-file.c (copy_file_preserving): Use quote().
8416
8417         copy-file: Refactor.
8418         * lib/copy-file.c: Include quote.h.
8419         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8420         message here.
8421         * modules/copy-file (Depends-on): Add quote.
8422
8423         acl: Export qcopy_acl.
8424         * lib/acl.h (qcopy_acl): New declaration.
8425         * lib/copy-acl.c (qcopy_acl): Make non-static.
8426
8427         acl: Rename a local variable.
8428         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8429
8430         acl: Align return values of copy_acl and qcopy_acl.
8431         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8432         maybe < -1.
8433
8434 2012-01-11  Eric Blake  <eblake@redhat.com>
8435
8436         strptime: silence gcc warnings
8437         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8438         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8439         Reported by Daniel P. Berrange.
8440
8441         inet_ntop: silence gcc warning
8442         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8443         Reported by Daniel P. Berrange.
8444
8445 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8446
8447         getloadavg test: skip the test on GNU/Linux without /proc mounted
8448         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8449         file.  When /proc is not mounted, it always fails with ENOENT.
8450         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8451         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8452
8453 2012-01-10  Bruno Haible  <bruno@clisp.org>
8454
8455         regex: Avoid link error on MSVC 9.
8456         * modules/regex (Depends-on): Add wctype.
8457
8458 2012-01-10  Bruno Haible  <bruno@clisp.org>
8459
8460         doc: Mention --with-tests option.
8461         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8462         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8463         --with-tests.
8464         Reported by Reuben Thomas.
8465
8466 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8467
8468         users.txt: order package names lexicographically.
8469         * users.txt: Order package names lexicographically.
8470
8471 2012-01-10  Jim Meyering  <meyering@redhat.com>
8472
8473         maint.mk: fix description in comment
8474         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8475
8476         ignore-value: remove deprecated ignore_ptr function
8477         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8478         * NEWS: Note this.
8479
8480 2012-01-09  Jim Meyering  <meyering@redhat.com>
8481
8482         test-init.sh: avoid a subshell
8483         * tests/test-init.sh: Remove protective subshell.
8484         Suggested by Bernhard Voelker.  While a subshell is normally
8485         required to protect against older shells (Solaris, FreeBSD) that
8486         warn about a missing program before performing redirection, the
8487         shell-selection tests performed by init.sh probably exclude any
8488         offending shell.
8489
8490 2012-01-08  Bruno Haible  <bruno@clisp.org>
8491
8492         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8493         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8494         variable.
8495
8496 2012-01-08  Bruno Haible  <bruno@clisp.org>
8497
8498         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8499         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8500         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8501         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8502         macro.
8503         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8504         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8505         * lib/spawn_faction_addopen.c: Add workaround implementation if
8506         HAVE_WORKING_POSIX_SPAWN.
8507         * modules/spawn (Makefile): Substitute
8508         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8509         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8510         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8511         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8512         (Depends-on): Update conditions.
8513         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8514         the Solaris 11 bug.
8515
8516 2012-01-08  Bruno Haible  <bruno@clisp.org>
8517
8518         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8519         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8520         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8521         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8522         macro.
8523         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8524         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8525         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8526         HAVE_WORKING_POSIX_SPAWN.
8527         * modules/spawn (Makefile): Substitute
8528         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8529         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8530         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8531         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8532         (Depends-on): Update conditions.
8533         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8534         the Solaris 11 bug.
8535
8536 2012-01-08  Bruno Haible  <bruno@clisp.org>
8537
8538         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8539         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8540         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8541         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8542         HAVE_WORKING_POSIX_SPAWN.
8543         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8544         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8545         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8546         * lib/spawn_faction_addclose.c: Add workaround implementation if
8547         HAVE_WORKING_POSIX_SPAWN.
8548         * modules/spawn (Makefile): Substitute
8549         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8550         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8551         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8552         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8553         (Depends-on): Update conditions.
8554         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8555         the Solaris 11 bug.
8556
8557 2012-01-08  Bruno Haible  <bruno@clisp.org>
8558
8559         doc: Update for Solaris 11 2011-11.
8560         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8561         * m4/printf.m4: Update comments.
8562
8563 2012-01-08  Bruno Haible  <bruno@clisp.org>
8564
8565         mktime: Avoid compilation error on Solaris 11.
8566         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8567
8568 2012-01-08  Bruno Haible  <bruno@clisp.org>
8569
8570         doc: Small fix.
8571         * doc/posix-headers/nl_types.texi: Correct platforms list.
8572
8573 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8574
8575         Add lgpl-3.0 module.
8576         * MODULES.html.sh (Support for building documentation): Add
8577         lgpl-3.0.
8578         * modules/lgpl-3.0: New file.
8579
8580 2012-01-08  Jim Meyering  <meyering@redhat.com>
8581
8582         select.c: indent with spaces, not TABs
8583         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8584
8585 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8586
8587         quotearg: do not use grave accent for left quote
8588         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8589         locale_quoting_style.
8590         (quotearg_buffer_restyled): Fix example.
8591         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8592
8593 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8594
8595         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8596         Most programs do not have translation catalogs for English and much
8597         less separate catalogs for British and American English.  Drop the
8598         suggestion to translators about these two, and provide it
8599         automatically for Unicode locales.  Like most programs, even those
8600         using American English, we use single quotation marks.  This conflicts
8601         with the American typographic convention, but works better when you
8602         cite the entire error message within double quotes.  It also tries not
8603         to clash with established practice and with what non-gnulib programs
8604         will usually do.
8605         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8606         using an UTF-8 or GB-18030 locale.  The list of other locales with
8607         quotes was provided by Bruno Haible.
8608         (quotearg_buffer_restyled): Adjust instructions to translators.
8609         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8610         text, since this would be wrong when using Unicode.
8611         * modules/quotearg: Depend on c-strcaseeq.
8612
8613 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8614
8615         quotearg: fix Wikipedia link
8616         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8617
8618 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8619
8620         Fix for mingw with MSVC9.
8621         * m4/ld-version-script.m4: Check that compiler rejects version
8622         scripts with syntax errors.  Reported by Bruno Haible
8623         <bruno@clisp.org>.
8624
8625 2012-01-06  Bruno Haible  <bruno@clisp.org>
8626
8627         Talk about "native Windows API", not "Woe32".
8628         * lib/accept4.c: Update comments to mention native Windows.
8629         * lib/execute.c: Likewise.
8630         * lib/fatal-signal.c: Likewise.
8631         * lib/localcharset.c: Likewise.
8632         * lib/nanosleep.c: Likewise.
8633         * lib/nl_langinfo.c: Likewise.
8634         * lib/pclose.c: Likewise.
8635         * lib/pipe-filter-gi.c: Likewise.
8636         * lib/pipe-filter-ii.c: Likewise.
8637         * lib/pipe.c: Likewise.
8638         * lib/pipe2.c: Likewise.
8639         * lib/popen.c: Likewise.
8640         * lib/progreloc.c: Likewise.
8641         * lib/relocatable.c: Likewise.
8642         * lib/sigaction.c: Likewise.
8643         * lib/sigprocmask.c: Likewise.
8644         * lib/spawn-pipe.h: Likewise.
8645         * lib/spawn-pipe.c: Likewise.
8646         * lib/spawni.c: Likewise.
8647         * lib/stat-time.h: Likewise.
8648         * lib/w32spawn.h: Likewise.
8649         * tests/test-isatty.c: Likewise.
8650         * lib/config.charset: More comments.
8651         * doc/gnulib-intro.texi: Mention native Windows.
8652         * doc/posix-functions/_Exit_C99.texi: Likewise.
8653         * doc/posix-headers/fcntl.texi: Likewise.
8654
8655 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8656
8657         argp: Avoid crash if translator uses % characters in a translation.
8658         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8659         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8660
8661 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8662
8663         doc: C11 and C++11 are now official
8664         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8665         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8666         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8667         * modules/stdalign:
8668         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8669
8670 2012-01-06  Bruno Haible  <bruno@clisp.org>
8671
8672         uc-is-grapheme-break tests: Tweak.
8673         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8674         message.
8675
8676 2012-01-06  Bruno Haible  <bruno@clisp.org>
8677
8678         test-init.sh: correct the test for diff -u
8679         * tests/test-init.sh: Also redirect stdout to /dev/null.
8680
8681 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8682
8683         Use ', not `, for quoting output.
8684         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8685         (print_changelog_deltas, get_tool_versions, main program):
8686         * build-aux/git-version-gen:
8687         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8688         * build-aux/move-if-change (help):
8689         * build-aux/useless-if-before-free (usage, main program):
8690         * check-module (parse_module_file, usage)
8691         (find_included_lib_files, check_module):
8692         * lib/argmatch.c (main) [TEST]:
8693         * lib/argp-help.c (_help):
8694         * lib/getopt1.c (main) [TEST]:
8695         * lib/git-merge-changelog.c (usage):
8696         * lib/xstrtol-error.c (xstrtol_error):
8697         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8698         * m4/argz.m4 (gl_FUNC_ARGZ):
8699         * m4/bison.m4 (gl_BISON):
8700         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8701         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8702         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8703         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8704         * m4/gc-random.m4 (gl_GC_RANDOM):
8705         * m4/intl.m4 (gt_CHECK_DECL):
8706         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8707         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8708         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8709         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8710         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8711         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8712         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8713         * tests/test-dirname.c (main):
8714         * tests/test-getpass.c (main):
8715         * tests/test-iconvme.c (main):
8716         * tests/test-parse-datetime.c (LOG):
8717         * tests/test-xstrtoimax.sh:
8718         * tests/test-xstrtol.sh:
8719         * tests/test-xstrtoll.sh:
8720         * tests/test-xstrtoumax.sh:
8721         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8722         * top/GNUmakefile (abort-due-to-no-makefile):
8723         Quote 'like this', not `like this', as per the recent change to
8724         the GNU coding standards.
8725
8726 2012-01-05  Bruno Haible  <bruno@clisp.org>
8727
8728         strtoimax: Don't force a replacement on systems where intmax_t is int.
8729         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8730         'intmax_t' is not larger than 'int'.
8731         Reported by Pádraig Brady <P@draigBrady.com>.
8732
8733 2012-01-05  Bruno Haible  <bruno@clisp.org>
8734
8735         doc: Mention NetBSD bugs.
8736         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8737         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8738
8739 2012-01-05  Bruno Haible  <bruno@clisp.org>
8740
8741         strtoumax tests: Enhance tests.
8742         * tests/test-strtoumax.c (main): Add tests for large values.
8743
8744 2012-01-05  Bruno Haible  <bruno@clisp.org>
8745
8746         strtoimax: Work around AIX 5.1 bug.
8747         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8748         definition.
8749         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8750         Set HAVE_STRTOIMAX.
8751         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8752         REPLACE_STRTOIMAX.
8753         * modules/inttypes-incomplete (Makefile.am): Substitute
8754         REPLACE_STRTOIMAX.
8755         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8756         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8757         (Depends-on): Update conditions.
8758         * tests/test-strtoimax.c (main): Add tests for large values.
8759         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8760
8761 2012-01-05  Bruno Haible  <bruno@clisp.org>
8762
8763         inttypes: Modernize.
8764         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8765         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
8766         (Makefile.am): Update inttypes.h rule.
8767
8768 2012-01-05  Jim Meyering  <meyering@redhat.com>
8769
8770         init.sh: don't waste a subshell just to redirect stderr
8771         * tests/init.sh: In testing for diff -u and diff -c, use a
8772         stderr-redirecting exec inside `...` rather than a subshell.
8773
8774         test-init.sh: avoid failure on HP-UX 11.00
8775         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
8776         resolves to diff -c or cmp.  Reported by Bruno Haible.
8777
8778 2012-01-05  Bruno Haible  <bruno@clisp.org>
8779
8780         Tests for module 'strtoull'.
8781         * modules/strtoull-tests: New file.
8782         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
8783
8784 2012-01-05  Bruno Haible  <bruno@clisp.org>
8785
8786         Tests for module 'strtoll'.
8787         * modules/strtoll-tests: New file.
8788         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
8789
8790 2012-01-05  Bruno Haible  <bruno@clisp.org>
8791
8792         Tests for module 'strtoul'.
8793         * modules/strtoul-tests: New file.
8794         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
8795
8796 2012-01-05  Bruno Haible  <bruno@clisp.org>
8797
8798         Tests for module 'strtol'.
8799         * modules/strtol-tests: New file.
8800         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
8801
8802 2012-01-04  Jim Meyering  <meyering@redhat.com>
8803
8804         test-init.sh: accommodate Solaris 5.10's different diff -u output
8805         * tests/test-init.sh: Also exempt @@ lines from the comparison
8806         of diff output, since Solaris 5.10 and GNU diff formats differ.
8807         Reported by Stefano Lattarini.
8808
8809 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8810
8811         test-posixtm: don't assume signed integer wraparound
8812         * tests/test-posixtm.c (main): Don't assume wraparound semantics
8813         after signed integer overflow.  Inspired by (though it may not
8814         fix) Bruno Haible's bug report in
8815         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
8816
8817         Spell out "Windows 9x" and "Windows XP".
8818         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
8819         "Windows 9x" and "WinXP" with "Windows XP".
8820
8821 2012-01-04  Jim Meyering  <meyering@redhat.com>
8822
8823         test-vc-list-files-cvs.sh: remove obsolete comment
8824         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
8825         double exit.  Now that's all encapsulated via skip_ and Exit.
8826
8827 2012-01-04  Bruno Haible  <bruno@clisp.org>
8828
8829         Talk about "native Windows API", not "Win32".
8830         * lib/classpath.c: Update comments to mention native Windows.
8831         * lib/csharpexec.c: Likewise.
8832         * lib/dup2.c: Likewise.
8833         * lib/error.c: Likewise.
8834         * lib/fcntl.c: Likewise.
8835         * lib/filename.h: Likewise.
8836         * lib/findprog.c: Likewise.
8837         * lib/get-rusage-as.c: Likewise.
8838         * lib/get-rusage-data.c: Likewise.
8839         * lib/getpagesize.c: Likewise.
8840         * lib/javaexec.c: Likewise.
8841         * lib/msvc-inval.c: Likewise.
8842         * lib/msvc-nothrow.c: Likewise.
8843         * lib/nanosleep.c: Likewise.
8844         * lib/nonblocking.c: Likewise.
8845         * lib/printf-parse.c: Likewise.
8846         * lib/setlocale.c: Likewise.
8847         * lib/sigaction.c: Likewise.
8848         * lib/strerror_r.c: Likewise.
8849         * lib/tmpdir.c: Likewise.
8850         * lib/vasnprintf.c: Likewise.
8851         * lib/w32spawn.h: Likewise.
8852         * lib/waitpid.c: Likewise.
8853         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
8854         * m4/locale-ar.m4: Likewise.
8855         * m4/locale-fr.m4: Likewise.
8856         * m4/locale-ja.m4: Likewise.
8857         * m4/locale-tr.m4: Likewise.
8858         * m4/locale-zh.m4: Likewise.
8859         * m4/printf.m4: Likewise.
8860         * tests/test-cloexec.c: Likewise.
8861         * tests/test-copy-acl.sh: Likewise.
8862         * tests/test-copy-file.sh: Likewise.
8863         * tests/test-file-has-acl.sh: Likewise.
8864         * tests/test-set-mode-acl.sh: Likewise.
8865         * tests/test-dup-safer.c: Likewise.
8866         * tests/test-dup2.c: Likewise.
8867         * tests/test-dup3.c: Likewise.
8868         * tests/test-fcntl.c: Likewise.
8869         * tests/test-nonblocking-pipe.h: Likewise.
8870         * tests/test-nonblocking-socket.h: Likewise.
8871         * tests/test-pipe.c: Likewise.
8872         * tests/test-pipe2.c: Likewise.
8873         * tests/test-spawn-pipe-child.c: Likewise.
8874         * doc/acl-resources.txt: Likewise.
8875         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8876         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
8877         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
8878         * lib/localcharset.c: Update comments to mention native Windows.
8879         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8880         * lib/localename.c: Likewise.
8881         * lib/progreloc.c: Likewise.
8882         * lib/relocatable.c: Likewise.
8883         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8884         (windows_compute_revents): Renamed from win32_compute_revents.
8885         (windows_compute_revents_socket): Renamed from
8886         win32_compute_revents_socket.
8887         * lib/select.c: Update comments to mention native Windows.
8888         (windows_poll_handle): Renamed from win32_poll_handle.
8889         * m4/threadlib.m4: Update comments to mention native Windows.
8890         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
8891         --enable-threads=windows instead of --enable-threads=win32. Set
8892         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
8893         * lib/glthread/lock.h: Update comments to mention native Windows.
8894         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
8895         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
8896         USE_WIN32_THREADS.
8897         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
8898         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
8899         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
8900         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
8901         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
8902         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
8903         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
8904         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
8905         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
8906         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
8907         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
8908         * tests/test-tls.c: Likewise.
8909         Rationale:
8910         Microsoft renamed the "Win32 API" to "Windows API", as it is available
8911         on both 32-bit and 64-bit Windows systems.
8912         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
8913         line of distinction is between "native Windows" on one side and Unix/
8914         POSIX systems on the other side. More details in
8915         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
8916         Suggested by Paul Eggert.
8917
8918 2012-01-03  Bruno Haible  <bruno@clisp.org>
8919
8920         isatty: Support for MSVC 9.
8921         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
8922         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
8923         (_isatty_nothrow): New function.
8924         (isatty): Use it instead of _isatty.
8925         (IsConsoleHandle): Add comment, from Paolo Bonzini.
8926         * lib/poll.c (IsConsoleHandle): Likewise.
8927         * lib/select.c (IsConsoleHandle): Likewise.
8928         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
8929         (gl_PREREQ_ISATTY): New macro.
8930         * modules/isatty (Depends-on): Add msvc-inval.
8931         (configure.ac): Invoke gl_PREREQ_ISATTY.
8932
8933 2012-01-03  Jim Meyering  <meyering@redhat.com>
8934
8935         maint.mk: remove temporary transition aid from over 1.5 years ago
8936         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8937         purpose was to aid in the transition (avoiding silent malfunction)
8938         from that old name to the new _sc_search_regexp.  This shim was
8939         added by commit 219c504b.
8940
8941         init.sh: do not try to accommodate compare arguments starting with "-"
8942         * tests/init.sh (compare_dev_null_): Do not try to accommodate
8943         compare arguments that start with "-".  Besides, we do not worry
8944         about this when invoking diff or cmp; why start now with sed?
8945         Using "--" to separate options from argument would trigger sed
8946         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
8947         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
8948
8949 2012-01-02  Bruno Haible  <bruno@clisp.org>
8950
8951         Enhance tests for module 'isatty'.
8952         * modules/isatty-tests (Depends-on): Add pipe-posix.
8953         * tests/test-isatty.c: Include <fcntl.h>.
8954         (DEV_NULL): New macro.
8955         (main): Test the resut of isatty() also on regular files, pipes, and
8956         /dev/null.
8957
8958         New module 'isatty'.
8959         * lib/unistd.in.h (isatty): New declaration.
8960         * lib/isatty.c: New file, based on an idea of
8961         Bastien Roucariès <roucaries.bastien@gmail.com>.
8962         * m4/isatty.m4: New file.
8963         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
8964         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
8965         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
8966         REPLACE_ISATTY.
8967         * modules/isatty: New file.
8968         * doc/posix-functions/isatty.texi: Mention the new module.
8969         Suggested by Paolo Bonzini.
8970
8971 2012-01-02  Bruno Haible  <bruno@clisp.org>
8972
8973         canonicalize: Tweak 2011-12-29 commit.
8974         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
8975         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
8976
8977 2012-01-02  Jim Meyering  <meyering@redhat.com>
8978
8979         gitlog-to-changelog: describe input syntax in --help output
8980         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
8981
8982         gitlog-to-changelog: fix typo in --help: show backslash before email @
8983         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
8984         in sources, but not in actual output.
8985
8986 2011-12-30  Jim Meyering  <meyering@redhat.com>
8987
8988         gitlog-to-changelog: don't malfunction when name contains %-directive
8989         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
8990         in a name string cause trouble.  E.g., with a user name of "%s",
8991         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
8992
8993 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
8994
8995         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
8996         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
8997         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
8998         the "  (tiny change)" notation that is appended to the standard
8999         ChangeLog "date  name  email" header line.
9000
9001 2012-01-01  Jim Meyering  <meyering@redhat.com>
9002
9003         test-framework-sh: init.sh: fix "make dist" failure
9004         When using gnulib-tool's --with-tests option and any module that
9005         depends on test-framework-sh, "make dist" would fail due to the
9006         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9007         in the gltests directory, and not in the gllib/ directory.
9008         One way to work around that is to move the EXTRA_DIST += init.sh
9009         from the primary module to the -tests one:
9010         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9011         * modules/test-framework-sh (Makefile.am): ...not here.
9012         Reported by Tom G. Christensen in
9013         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9014
9015         version-etc: update copyright year reported by --version
9016         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9017
9018 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9019
9020         canonicalize: only stat() if required
9021         * lib/canonicalize.c (canonicalize_filename_mode):
9022         Avoid calling l?stat() when both CAN_MISSING,
9023         and CAN_NOLINKS are set, as we neither need
9024         to resolve symlinks or test component existence.
9025
9026 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9027
9028         doc: cover st_ino issues once; add OpenVMS etc.
9029         * doc/posix-functions/stat.texi (stat):
9030         * doc/posix-functions/lstat.texi (lstat):
9031         * doc/posix-functions/fstatat.texi (fstatat):
9032         * doc/posix-functions/fstat.texi (fstat):
9033         Move general 'struct stat' stuff to sys_stat.texi,
9034         leaving behind a pointer.
9035         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9036         Merge duplicate info about 'struct stat' problems into here.
9037         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9038         and suggest partial workarounds.
9039
9040         same-inode: port to OpenVMS
9041         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9042         three st_ino values.
9043
9044 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9045
9046         canonicalize: fix references to stat() and lstat()
9047         * lib/canonicalize.c (canonicalize_filename_mode):
9048         Ensure references always resolve to a replacement
9049         function if required (even via a macro).
9050
9051 2011-12-30  Jim Meyering  <meyering@redhat.com>
9052
9053         gitlog-to-changelog: remove a little duplication
9054         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9055         rather than twice.
9056
9057 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9058
9059         canonicalize: add support for not resolving symlinks
9060         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9061         indicate we don't want to follow symlinks.  Also
9062         provide CAN_MODE_MASK to aid setting these existing
9063         mutually exclusive values.
9064         * lib/canonicalize.c (canonicalize_filename_mode):
9065         Extract the flags from can_mode parameter, which
9066         are currently just used to select between stat()
9067         and lstat().  Also ensure that mutually exclusive
9068         values are flagged immediately as invalid.
9069         * tests/test-canonicalize.c: Verify symlinks are
9070         not followed, and that invalid flag combinations
9071         are diagnosed.
9072
9073 2011-12-25  Jim Meyering  <meyering@redhat.com>
9074
9075         gitlog-to-changelog: do not clump multi-paragraph entries
9076         Identical header lines (date,name,email+coauthors) are suppressed,
9077         thus putting all entries with those same characteristics under
9078         a single header.  However, when a log entry consists of two or
9079         more paragraphs, it may not be clear where it starts and ends.
9080         This change makes it so that such an entry is always separated
9081         from others by a header line, even when that header would
9082         otherwise be suppressed.
9083         * build-aux/gitlog-to-changelog: Implement the above.
9084         Inspired by a related request from Stefano Lattarini in
9085         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9086
9087 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9088
9089         announce-gen: fix `cmd' typo in diagnostic
9090         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9091         diagnostic: a missing '$' meant that the command was not output.
9092
9093 2011-12-23  Jim Meyering  <meyering@redhat.com>
9094
9095         test-framework-sh: distribute init.sh
9096         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9097         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9098         fail due to the lack of init.sh.
9099
9100         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9101         * modules/atexit-tests: Rather than listing tests/init.sh,
9102         now that there's a module for it, simply depend on that new module.
9103         * modules/closein-tests: Likewise.
9104         * modules/exclude-tests: Likewise.
9105         * modules/getcwd-tests: Likewise.
9106         * modules/perror-tests: Likewise.
9107         * modules/pread-tests: Likewise.
9108         * modules/pwrite-tests: Likewise.
9109         * modules/vc-list-files-tests: Likewise.
9110         * modules/verify-tests: Likewise.
9111         * modules/xalloc-die-tests: Likewise.
9112         * modules/xstrtoimax-tests: Likewise.
9113         * modules/xstrtol-tests: Likewise.
9114         * modules/xstrtoll-tests: Likewise.
9115         * modules/xstrtoumax-tests: Likewise.
9116         * modules/yesno-tests: Likewise.
9117
9118 2011-12-22  Jim Meyering  <meyering@redhat.com>
9119
9120         test-framework-sh: add minimal tests of init.sh's compare function
9121         * modules/test-framework-sh-tests: New file.
9122         * tests/test-init.sh: New file.
9123
9124         test-framework-sh: new module
9125         * modules/test-framework-sh: New file.
9126         * MODULES.html.sh (Support for maintaining and releasing projects):
9127         List it.
9128
9129         init.sh: do not emit simulated diff output to stderr
9130         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9131
9132 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9133
9134         .gitignore: ignore gnulib.dvi and regex.info
9135         * doc/.gitignore:add gnulib.dvi and regex.info
9136
9137 2011-12-22  Jim Meyering  <meyering@redhat.com>
9138
9139         init.sh: correct previous change
9140         * tests/init.sh (compare): My previous change was wrong.
9141         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9142
9143         init.sh: avoid unwarranted test failure when using "set -e"
9144         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9145         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9146         a use like "compare exp out" would get evoke an unconditional failure.
9147
9148 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9149
9150         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9151         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9152         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9153         autoreconf that did not.
9154         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9155         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9156
9157 2011-12-17  Jim Meyering  <meyering@redhat.com>
9158
9159         bootstrap: remove some now-unneeded code
9160         This script arose back when gnulib-tool was young.
9161         Since then, it has seen improvements that render much of this
9162         script unnecessary.  In particular, it can now make symlinks
9163         to the files it uses.  Also, I no longer see as much value in
9164         marking files as read-only via comments.
9165         If you relied on the symlink-creation feature of the preceding
9166         version of this script, you can get most of that functionality
9167         by adding the --symlink option to the definition of
9168         gnulib_tool_option_extras in your bootstrap.conf file.
9169         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9170         Run autopoint and libtoolize *before* gnulib-tool.
9171         After it, run an abbreviated autoreconf, rather than a loop around
9172         all tools.
9173         (slirp, bt_mark_as_generated): Remove functions.
9174
9175 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9176
9177         ftoastr: fix typo
9178         * lib/ftoastr.h: Fix misspelling in comment.
9179
9180 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9181
9182         * top/README-release: fix punctuation.
9183
9184 2011-12-17  Jim Meyering  <meyering@redhat.com>
9185
9186         bootstrap: correct the recent buildreq change
9187         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9188         had no effect.
9189         * build-aux/bootstrap (buildreq): Bracket each search term with
9190         "*...*", so that the shell "case" statement works as intended.
9191         Add comments.
9192
9193 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9194
9195         build: let bootstrap resort to wget when downloading .po files
9196         * build-aux/bootstrap (download_po_files): Fallback to wget when
9197         downloading the .po files via rsync fails.  This is necessary to
9198         bootstrap from behind a strict firewall.
9199
9200 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9201
9202         stdint: don't assume C++11 when compiling with g++
9203         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9204         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9205         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9206         work also in C++ before C++11, as that improperly inhibits
9207         generating a substitute stdint.h for that case.
9208
9209 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9210
9211         alloca: protect comment from gnulib-tool
9212         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9213         that gnulib-tool doesn't think it's a license, and munge it to
9214         say "GCC version 3".
9215
9216 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9217
9218         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9219         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9220         $(abs_top_builddir) instead of $(top_builddir).
9221
9222 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9223
9224         strftime-tests: also test nanoseconds
9225         * tests/test-strftime.c (T): Add a test of %N.
9226
9227 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9228
9229         inttypes, stdint: add C++11 support
9230         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9231         when including inttypes.h and stdint.h.  Support this change to
9232         the standard.
9233         * doc/posix-headers/inttypes.texi (inttypes.h):
9234         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9235         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9236         Define if not defined already, for the benefit of pre-C++11 hosts.
9237         Define the standard format macros (e.g., PRId8) always.
9238         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9239         Likewise, if __cpluspus.  Define the standard constant and limit
9240         macros (e.g., INT8_C, INT8_MAX) always.
9241         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9242         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9243         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9244         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9245         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9246         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9247         Likewise.
9248
9249 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9250
9251         nonblocking tests: Fix test failure on Linux/PPC.
9252         Suggested by Prerna Saxena in
9253         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9254         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9255         Set to 1100000.
9256
9257 2011-12-12  Jim Meyering  <meyering@redhat.com>
9258
9259         argmatch: don't hard-code `' when listing valid option arguments
9260         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9261         use the quote function to add quotes.  Use fputs rather than
9262         fprintf for the format string with no format directive.
9263
9264 2011-12-07  Eric Blake  <eblake@redhat.com>
9265
9266         bootstrap: detect tools required by gnulib-tool
9267         * build-aux/bootstrap (buildreq): Provide minimum implicit
9268         dependencies.
9269         * DEPENDENCIES: Mention patch as a prereq.
9270
9271 2011-12-04  Bruno Haible  <bruno@clisp.org>
9272
9273         sethostname: Port to Windows platforms.
9274         * lib/sethostname.c: Provide an alternate implementation for Windows
9275         platforms.
9276         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9277         (main): Skip the test if sethostname() fails with EPERM. On Windows
9278         platforms, don't check the result of gethostname().
9279
9280 2011-12-04  Bruno Haible  <bruno@clisp.org>
9281             Jim Meyering  <meyering@redhat.com>
9282
9283         tests: Avoid spurious error message on platforms without mktemp program.
9284         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9285
9286 2011-12-04  Bruno Haible  <bruno@clisp.org>
9287
9288         sethostname: Fix documentation.
9289         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9290         "not fixed" section.
9291
9292 2011-12-03  Bruno Haible  <bruno@clisp.org>
9293
9294         gnulib-tool: Verify that the License field is present and non-empty.
9295         * gnulib-tool (func_get_license_raw): New function, extracted from
9296         func_get_license.
9297         (func_get_license): Use it. Warn if the module is not a test module and
9298         has no license.
9299         Suggested by Jim Meyering.
9300
9301 2011-12-03  Bruno Haible  <bruno@clisp.org>
9302
9303         sethostname tests: Fix link error on mingw.
9304         * tests/test-sethostname1.c: New file, extracted from
9305         tests/test-sethostname.c.
9306         * tests/test-sethostname2.c: New file, extracted from
9307         tests/test-sethostname.c.
9308         * tests/test-sethostname.c: Remove file.
9309         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9310         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9311         (Depends-on): Add gethostname.
9312         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9313         Link the latter with $(GETHOSTNAME_LIB).
9314
9315         sethostname tests: Fix compilation error on mingw.
9316         * tests/test-sethostname.c: Don't include <sys/types.h>.
9317         (geteuid): Use a dummy value without uid_t.
9318         * modules/sethostname-tests (Depends-on): Remove sys_types.
9319
9320         sethostname tests: Avoid a gcc warning.
9321         * tests/test-sethostname.c (main): Remove an unused variable.
9322
9323         Tweak last commit.
9324         * modules/sethostname-tests (Files): Sort by decreasing importance.
9325         (configure.ac): Check for geteuid.
9326         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9327         the test when there's nothing to test. Drop an unnecessary cast.
9328         Improve an error message. Verify that the final sethostname() call
9329         succeeds.
9330
9331 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9332
9333         Add a test suite for the sethostname module.
9334         * modules/sethostname-tests: New file.  A test program
9335         for the sethostname module.
9336         * tests/test-sethostname.c: Likewise.
9337
9338 2011-12-03  Bruno Haible  <bruno@clisp.org>
9339
9340         Tweak last commit.
9341         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9342         Fix preprocessor directives indentation. Fix typos.
9343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9344         * modules/unistd (Makefile): Likewise.
9345
9346 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9347
9348         Integrate the sethostname module into unistd.
9349         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9350         into the unistd.h header.
9351         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9352         preprocessor directives.
9353         * modules/unistd: Setup the Makefile substitutions of the
9354         SETHOSTNAME preprocessor directives.
9355
9356 2011-12-03  Bruno Haible  <bruno@clisp.org>
9357
9358         Tweak last commit.
9359         * lib/sethostname.c: Don't include <string.h>.
9360         (sethostname): No need to copy the argument string to the stack. Don't
9361         call clearerr. Preserve errno when fprintf failed.
9362         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9363         Don't invoke AC_REPLACE_FUNCS.
9364         * modules/sethostname (Link): Remove empty section.
9365         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9366         failure problem.
9367
9368 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9369
9370         New module 'sethostname'.
9371         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9372         for systems that lack it.
9373         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9374         sethostname declaration and function.
9375         * modules/sethostname: New file.  Define the sethostname module.
9376
9377 2011-12-03  Bruno Haible  <bruno@clisp.org>
9378
9379         Tweak last commit.
9380         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9381
9382 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9383
9384         Split the HOST_NAME_MAX detection into a separate m4 macro.
9385         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9386         macro so it can be used by the pending sethostname module.
9387
9388 2011-12-03  Bruno Haible  <bruno@clisp.org>
9389
9390         Fix module descriptions syntax.
9391         * modules/argv-iter (License): Fix syntax.
9392         * modules/di-set (License): Likewise.
9393         * modules/ino-map (License): Likewise.
9394         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9395
9396 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9397
9398         stdalign: port to Clang 3.0
9399         Problem reported by Simon Josefsson in
9400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9401         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9402         which has <stdalign.h> but which does not define alignof.
9403         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9404
9405 2011-12-01  Eric Blake  <eblake@redhat.com>
9406
9407         mktempd: silence dd usage
9408         * build-aux/mktempd (rand_bytes): Silence dd.
9409
9410 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9411
9412         manywarnings: Don't mention gcc version in docstring.
9413         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9414         Jim Meyering <meyering@redhat.com>.
9415
9416 2011-11-30  Jim Meyering  <meyering@redhat.com>
9417
9418         hash: mark a few floating point constants with "f" suffix
9419         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9420         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9421         floating point constants with "f", since they're destined to be
9422         saved/used as "float"s.
9423
9424 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9425
9426         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9427         * tests/test-float.c (test_long_double): Correct and re-enable the
9428         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9429
9430 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9431
9432         Avoid subtracting two pointers that don't point into the same block.
9433         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9434         only pointers into the same memory block are subtracted. We cannot
9435         assume that sizeof (ptrdiff_t) == sizeof (void *).
9436
9437 2011-11-29  Eric Blake  <eblake@redhat.com>
9438
9439         maint.mk: add syntax check for use of compare from init.sh
9440         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9441         moved here from coreutils.
9442
9443         manywarnings: drop -Wunsuffixed-float-constants
9444         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9445         '1.0D', which is the only way to silence this warning for 'double'.
9446
9447 2011-11-29  Jim Meyering  <meyering@redhat.com>
9448
9449         hash: mark compute_bucket_size with the pure attribute
9450         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9451
9452         quotearg, propername: correct pragma guard expression
9453         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9454         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9455
9456 2011-11-28  Jim Meyering  <meyering@redhat.com>
9457
9458         propername: do not mark proper_name with the const attribute
9459         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9460         since it examines data pointed to by its parameter.
9461         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9462         the suggestion from -Wsuggest-attribute=const.
9463
9464         propername: mark one more function as const
9465         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9466
9467 2011-11-27  Jim Meyering  <meyering@redhat.com>
9468
9469         mark functions with const and pure attributes
9470
9471         Mark functions per suggestions from gcc-4.6 when using these options:
9472         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9473         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9474         Follow these guidelines: when possible, apply the attribute to
9475         an extern declaration, not to its definition.  Apply it to the
9476         definition only when the definition is static.
9477         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9478         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9479         * lib/base64.h (isbase64): Likewise.
9480         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9481         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9482         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9483         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9484         (c_tolower, c_toupper): Likewise.
9485         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9486         * lib/chdir-long.c (find_non_slash): Likewise.
9487         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9488         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9489         * lib/file-type.h (file_type): Likewise.
9490         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9491         * lib/filevercmp.c (verrevcmp): Likewise.
9492         * lib/freadahead.h (freadahead): Likewise.
9493         * lib/fts.c (fts_maxarglen): Likewise.
9494         * lib/hash-pjw.h (hash_pjw): Likewise.
9495         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9496         * lib/hash.c (is_prime, next_prime): Likewise.
9497         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9498         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9499         (hash_table_ok, hash_get_first, hash_string): Likewise.
9500         (compute_bucket_size): Likewise.
9501         * lib/i-ring.h (i_ring_empty): Likewise.
9502         * lib/isnan.c (isnanl): Likewise.
9503         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9504         * lib/memcasecmp.h (memcasecmp): Likewise.
9505         * lib/memchr2.h (memchr2): Likewise.
9506         * lib/memcmp2.h (memcmp2): Likewise.
9507         * lib/parse-datetime.y (lookup_zone): Likewise.
9508         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9509         [!WINDOWS_SOCKETS]: Likewise.
9510         * lib/strnlen1.h (strnlen1): Likewise.
9511         * lib/uniwidth.in.h (uc_width): Likewise.
9512         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9513         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9514         (quoting_options_from_style): Add a comment.
9515         * lib/propername.h (proper_name): Add a comment.
9516
9517 2011-11-27  Bruno Haible  <bruno@clisp.org>
9518
9519         Remove unused macros from !_LIBC code in glibc-borrowed files.
9520         * lib/fnmatch.c (STRCOLL): Remove macro.
9521         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9522         * lib/glob.c (__stat, __readdir64): Remove macros.
9523         * lib/tempname.c (__open64, __xstat64): Remove macros.
9524         Suggested by Paul Eggert.
9525
9526 2011-11-27  Bruno Haible  <bruno@clisp.org>
9527
9528         getcwd: Fix link error on MSVC 9.
9529         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9530
9531 2011-11-27  Bruno Haible  <bruno@clisp.org>
9532
9533         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9534         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9535         HAVE_OPENDIR is 0.
9536         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9537         HAVE_CLOSEDIR is 0.
9538         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9539         is 0.
9540         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9541
9542 2011-11-27  Bruno Haible  <bruno@clisp.org>
9543
9544         getcwd: Fix bug from 2011-08-17.
9545         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9546         platforms that need it.
9547         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9548         code of 4 to be a failure, not a success. This ensures that
9549         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9550
9551 2011-11-27  Bruno Haible  <bruno@clisp.org>
9552
9553         binary-io tests: Avoid test failure on mingw when libtool is used.
9554         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9555         Don't verify the size of t-bin-out1.tmp here.
9556         * tests/test-binary-io.sh: Verify it here.
9557         Reported by Simon Josefsson.
9558
9559 2011-11-26  Bruno Haible  <bruno@clisp.org>
9560
9561         Fix conflict between two instantiations of module 'unistd'.
9562         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9563         ${include_guard_prefix} also in the autoconf snippet.
9564         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9566         GNULIB_UNISTD_H_GETOPT.
9567         * modules/getopt-posix (configure.ac): Set the
9568         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9569         * modules/getopt-gnu (configure.ac): Likewise.
9570         * modules/unistd (Makefile.am): Change the substitution value of
9571         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9572         Reported by Simon Josefsson.
9573
9574 2011-11-25  Bruno Haible  <bruno@clisp.org>
9575
9576         pagealign_alloc: Doc and comments.
9577         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9578         module.
9579         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9580
9581 2011-11-25  Jim Meyering  <meyering@redhat.com>
9582
9583         test-update-copyright.sh: avoid false-positive failure
9584         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9585         around false positive failure on Cygwin/Windows.  The latter was
9586         matching erroneously-created files with names like
9587         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9588
9589 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9590
9591         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9592         * m4/valgrind-tests.m4: Check that the parameters that will be
9593         used works, not just a subset of them.  Reported by Bruno Haible
9594         <bruno@clisp.org>.
9595
9596 2011-11-24  Jim Meyering  <meyering@redhat.com>
9597
9598         test-stdalign.c: comment out long double tests
9599         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9600         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9601         error: '_Alignas' specifiers cannot reduce alignment of \
9602         'static_longdouble_alignas'.
9603
9604 2011-11-22  Jim Meyering  <meyering@redhat.com>
9605
9606         init.sh: make "compare /dev/null FILE" output more readable
9607         * tests/init.sh (compare_): Document the preferred order of arguments.
9608         (emit_diff_u_header_): New function.
9609         (compare_dev_null_): Emit a simulated diff, rather than just the
9610         contents of the unexpected file.  Suggestion from Bruno Haible.
9611
9612 2011-11-21  Jim Meyering  <meyering@redhat.com>
9613             Eric Blake  <eblake@redhat.com>
9614
9615         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9616         * tests/init.sh: Make our compare function slightly more portable.
9617         Reported by Bruno Haible in
9618         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9619
9620 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9621
9622         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9623         before using it, in code that ends up in config.h.
9624
9625 2011-11-20  Bruno Haible  <bruno@clisp.org>
9626
9627         getcwd: Work around getcwd bug on AIX 5..7.
9628         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9629         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9630         Use a different value for gl_cv_func_getcwd_path_max. Move the
9631         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9632         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9633         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9634         Define HAVE_MINIMALLY_WORKING_GETCWD.
9635         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9636         where it is not even minimally working, that is, on AIX.
9637         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9638         m4/getcwd-path-max.m4.
9639         (main): Update exit code computation.
9640         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9641         getcwd does not handle long file names.
9642
9643 2011-11-20  Bruno Haible  <bruno@clisp.org>
9644
9645         getcwd: Fix bug from 2009-09-10.
9646         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9647         like "no".
9648
9649 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9650
9651         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9652
9653 2011-11-20  Bruno Haible  <bruno@clisp.org>
9654
9655         fma tests: Avoid shadowing local variables.
9656         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9657         expected.
9658
9659 2011-11-20  Bruno Haible  <bruno@clisp.org>
9660
9661         copysignf tests: Fix.
9662         * tests/test-copysignf.c: Fix signature check.
9663
9664 2011-11-20  Bruno Haible  <bruno@clisp.org>
9665
9666         fma: Remove unused code.
9667         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9668         unused macros.
9669
9670 2011-11-20  Bruno Haible  <bruno@clisp.org>
9671
9672         sethostname: Fix doc about AIX.
9673         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9674         sethostname; it has it.
9675
9676         sethostname: Mention more portability problems.
9677         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9678         problem.
9679         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9680
9681 2011-11-19  Bruno Haible  <bruno@clisp.org>
9682
9683         Depend on module fcntl-h when AT_FDCWD is used.
9684         * modules/utimens (Depends-on): Add fcntl-h.
9685         * modules/areadlinkat (Depends-on): Likewise.
9686         * modules/areadlinkat-with-size (Depends-on): Likewise.
9687         * modules/faccessat (Depends-on): Likewise.
9688         * modules/fchmodat (Depends-on): Likewise.
9689         * modules/fchownat (Depends-on): Likewise.
9690         * modules/getcwd (Depends-on): Likewise.
9691         * modules/mkdirat (Depends-on): Likewise.
9692         * modules/mkfifoat (Depends-on): Likewise.
9693         * modules/readlinkat (Depends-on): Likewise.
9694         * modules/symlinkat (Depends-on): Likewise.
9695         * modules/dup2-tests (Depends-on): Likewise.
9696         * modules/fdutimensat-tests (Depends-on): Likewise.
9697         * modules/futimens-tests (Depends-on): Likewise.
9698
9699 2011-11-19  Bruno Haible  <bruno@clisp.org>
9700
9701         euidaccess: Update a comment.
9702         * lib/euidaccess.c: Update comment about platforms with faccessat.
9703
9704 2011-11-19  Bruno Haible  <bruno@clisp.org>
9705
9706         openat: Fix file list.
9707         * modules/openat (Files): Remove lib/at-func.c.
9708
9709 2011-11-19  Bruno Haible  <bruno@clisp.org>
9710
9711         fstatat: Simplify.
9712         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9713         gnulib should define rpl_fstatat, there is a
9714         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9715
9716 2011-11-19  Bruno Haible  <bruno@clisp.org>
9717
9718         Ensure 'inline' can be used in tests/test-utimens-common.h.
9719         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9720         * modules/futimens-tests (configure.ac): Likewise.
9721         * modules/utimens-tests (configure.ac): Likewise.
9722         * modules/utimensat-tests (configure.ac): Likewise.
9723
9724 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9725
9726         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9727         not hash_insert0.
9728         (hash_insert_if_absent): Doc fix.
9729
9730 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9731
9732         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9733
9734 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9735
9736         test-getcwd: disambiguate exit status
9737         * tests/test-getcwd.c (test_long_name): Return 0..7.
9738         (main): Exit with an unambiguous exit status.  The old
9739         code yielded a mysterious mixture of two failure codes.
9740
9741         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9742         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9743         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9744         rpl_fstatat or fstatat.  This should fix the other problem
9745         reported by Kai Habel in
9746         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9747         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9748         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9749         and I reproduced it on a Solaris 8 host we still have in production.
9750
9751 2011-11-18  Jim Meyering  <meyering@redhat.com>
9752
9753         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9754         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9755         Add a sentence to the comment.
9756         (hash_insert0): New function that simply calls hash_insert_if_absent.
9757         * lib/hash.h (hash_insert_if_absent): Declare it.
9758         (hash_insert0): Add deprecation attribute.
9759         (_GL_ATTRIBUTE_DEPRECATED): Define.
9760         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9761         not hash_insert0.
9762         * NEWS: Mention it, even though it's not really an incompatible change.
9763
9764 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9765
9766         openat: avoid compilation failure due to lack of <errno.h> inclusion
9767         * lib/openat.c: Include <errno.h>.
9768
9769 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9770
9771         * modules/getcwd (Depends-on): Add fdopendir.
9772         This fixes one of the two problems reported by Kai Habel in
9773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9774
9775         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
9776         stdalign problem reported by Ian Beckwith in
9777         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
9778         * modules/crypto/gc-arcfour (Depends-on):
9779         Depend conditionally on crypto/arcfour.
9780         * modules/crypto/gc-arctwo (Depends-on):
9781         Depend conditionally on crypto/arctwo.
9782         * modules/crypto/gc-des (Depends-on):
9783         Depend conditionally on crypto/des.
9784         * modules/crypto/gc-hmac-md5 (Depends-on):
9785         Depend conditionally on crypto/hmac-md5.
9786         * modules/crypto/gc-hmac-sha1 (Depends-on):
9787         Depend conditionally on crypto/hmac-sha1.
9788         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
9789         * modules/crypto/gc-md4 (Depends-on):
9790         Depend conditionally on crypto/md4.
9791         * modules/crypto/gc-md5 (Depends-on):
9792         Depend conditionally on crypto/md5.
9793         * modules/crypto/gc-rijndael (Depends-on):
9794         Depend conditionally on crypto/rijndael.
9795         * modules/crypto/gc-sha1 (Depends-on):
9796         Depend conditionally on crypto/sha1.
9797         * modules/crypto/gc-arcfour:
9798         * modules/crypto/gc-arctwo:
9799         * modules/crypto/gc-des:
9800         * modules/crypto/gc-hmac-md5:
9801         * modules/crypto/gc-hmac-sha1:
9802         * modules/crypto/gc-md2:
9803         * modules/crypto/gc-md4:
9804         * modules/crypto/gc-md5:
9805         * modules/crypto/gc-rijndael:
9806         * modules/crypto/gc-sha1:
9807         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
9808         now that the conditional dependencies do the work for us.
9809
9810 2011-11-17  Jim Meyering  <meyering@redhat.com>
9811
9812         tests: factor st_ctime-comparison out of two headers
9813         * tests/test-utimens-common.h (ctime_compare): Define.
9814         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
9815         * tests/test-lutimens.h (test_lutimens): Likewise.
9816         * tests/test-utimens.h (test_utimens): Likewise.
9817
9818         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
9819         Invoke the test program via an init.sh-using wrapper.
9820         * tests/test-getcwd.sh: New file.
9821         * modules/getcwd-tests (Files): Add it.
9822         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
9823
9824 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
9825
9826         gitlog-to-changelog: support multi-author commits.
9827         The FSF cares about keeping track of all authors of patches to its
9828         projects, but Git doesn't provide obvious support for multi-author
9829         changesets. Consensus seems to be forming around the use of extra
9830         Signed-off-by inspired lines in the log message formatted as
9831         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
9832         multi-author commits between version control systems.
9833         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
9834         log message and output in standard ChangeLog multi-author format.
9835         Reported by Peter Rosin <peda@lysator.liu.se>
9836
9837 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
9838             Bruno Haible  <bruno@clisp.org>
9839
9840         Fix some modules' file list.
9841         * modules/fstatat (Files): Add m4/lstat.m4.
9842         * modules/openat (Files): Likewise.
9843         * modules/unlinkat (Files): Likewise.
9844
9845 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
9846
9847         maint.mk: fix tight-scope.mk generation in VPATH builds.
9848         * top/maint.mk (tight-scope.mk): Make sure to prefix file
9849         reference with $(srcdir) so that the file is found correctly even
9850         when running `make syntax-check' in a VPATH build.
9851
9852 2011-11-13  Bruno Haible  <bruno@clisp.org>
9853             Jim Meyering  <meyering@redhat.com>
9854
9855         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
9856         * tests/init.sh (compare): Remove "No differences encountered" or
9857         synonymous output from the 'diff' program.
9858
9859 2011-11-13  Bruno Haible  <bruno@clisp.org>
9860
9861         Makefile: Tweak indentation.
9862         * Makefile: Use tab as first character in every line that contains rule
9863         commands.
9864
9865 2011-11-13  Bruno Haible  <bruno@clisp.org>
9866
9867         Syntax check for copyright statements.
9868         * check-copyright: New file.
9869         * Makefile (sc_check_copyright): New rule.
9870
9871 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9872
9873         * build-aux/git-version-gen: Add --prefix to configure the tag
9874         match string.
9875
9876 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9877
9878         * build-aux/git-version-gen: Add --help and --version.
9879
9880 2011-11-12  Jim Meyering  <meyering@redhat.com>
9881
9882         revamp the other test-exclude?.sh scripts to use init.sh, too
9883         * tests/test-exclude1.sh: Use init.sh.
9884         * tests/test-exclude2.sh: Likewise.
9885         * tests/test-exclude3.sh: Likewise.
9886         * tests/test-exclude4.sh: Likewise.
9887         * tests/test-exclude5.sh: Likewise.
9888         * tests/test-exclude6.sh: Likewise.
9889         * tests/test-exclude7.sh: Likewise.
9890         * tests/test-exclude8.sh: Likewise.
9891         * modules/exclude-tests (Files): List init.sh.
9892
9893         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
9894         These shell scripts ignored failure of the binary test-exclude,
9895         so making the latter return 77 didn't cause them to be skipped.
9896         * tests/test-exclude5.sh: Exit with test-exclude's error status
9897         when that program fails.  Revamp to use init.sh.
9898         * tests/test-exclude2.sh: Likewise.
9899
9900         test-exclude: fix a typo
9901         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
9902
9903 2011-11-11  Bruno Haible  <bruno@clisp.org>
9904
9905         obstack: Fix compilation error on MSVC 9.
9906         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
9907
9908 2011-11-11  Jim Meyering  <meyering@redhat.com>
9909
9910         test-exclude: skip tests rather than failing on deficient systems
9911         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
9912         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
9913         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
9914         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
9915
9916 2011-11-10  Bruno Haible  <bruno@clisp.org>
9917
9918         ptsname_r test: Avoid gcc warning on glibc systems.
9919         * tests/test-ptsname_r.c (null_ptr): New function.
9920         (test_errors): Use it.
9921
9922 2011-11-10  Bruno Haible  <bruno@clisp.org>
9923
9924         ptsname_r: Avoid compilation error on OSF/1 5.1.
9925         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
9926         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
9927         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
9928         function is not declared or incompatibly declared.
9929         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
9930         * modules/ptsname_r (Depends-on, configure.ac): Update.
9931         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9932
9933 2011-11-10  Bruno Haible  <bruno@clisp.org>
9934
9935         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9936         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9937         When cross-compiling, guess yes on all platforms except AIX.
9938         Reported by Ludovic Courtès <ludo@gnu.org>.
9939
9940 2011-11-09  Bruno Haible  <bruno@clisp.org>
9941
9942         ptsname_r tests: Fix bugs.
9943         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
9944         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
9945
9946 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9947
9948         fstatat: work with cross-compilation
9949         Problem reported by Ludovic Courtès in
9950         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
9951         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
9952         "cross-compiling" and assume the bug is present.  Replace
9953         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
9954         an inverted sense, to be more conservative about our assumptions.
9955         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
9956
9957 2011-11-09  Bruno Haible  <bruno@clisp.org>
9958
9959         Improve MODULES.html output.
9960         * modules/mkfifoat (Description): Use the word "function".
9961         * modules/readlinkat (Description): Likewise.
9962         * modules/symlinkat (Description): Likewise.
9963
9964 2011-11-09  Eric Blake  <eblake@redhat.com>
9965
9966         ptsname_r-tests: new test module
9967         * modules/ptsname_r-tests: New module.
9968         * tests/test-ptsname_r.c: New file.
9969
9970         ptsname_r: new module
9971         * modules/ptsname_r: New module.
9972         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
9973         * lib/ptsname.c (__ptsname_r): Split...
9974         * lib/ptsname_r.c: ...into new file.
9975         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9976         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
9977         * modules/stdlib (Makefile.am): Substitute witnesses.
9978         * lib/stdlib.in.h (ptsname_r): Declare it.
9979         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
9980         * MODULES.html.sh (Misc): Likewise.
9981         * modules/ptsname (Depends-on): Alter dependency.
9982         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
9983
9984 2011-11-09  Jim Meyering  <meyering@redhat.com>
9985
9986         announce-gen: be more concise when there's only one URL+tarball
9987         * build-aux/announce-gen (get_tool_versions): When you distribute
9988         only one type of tarball, combine the first two "Here are..."
9989         sections and make the key-checking grammar independent of
9990         how many tarballs there are.
9991
9992 2011-11-09  Eric Blake  <eblake@redhat.com>
9993
9994         openpty: provide a stub on mingw
9995         * lib/pty.in.h (includes): Provide forward declarations.
9996         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
9997
9998         raise: fix mingw handling of SIGPIPE
9999         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10000
10001 2011-11-08  Bruno Haible  <bruno@clisp.org>
10002
10003         More conditional dependencies.
10004         * modules/faccessat (Depends-on): Add conditions.
10005         * modules/fchmodat (Depends-on): Likewise.
10006         * modules/fchownat (Depends-on): Likewise.
10007         * modules/fstatat (Depends-on): Likewise.
10008         * modules/mkfifoat (Depends-on): Likewise.
10009         * modules/readlinkat (Depends-on): Likewise.
10010         * modules/symlinkat (Depends-on): Likewise.
10011         * modules/unlinkat (Depends-on): Likewise.
10012         * modules/utimensat (Depends-on): Likewise.
10013         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10014         * modules/linkat (Depends-on): Refine the conditions.
10015         * modules/renameat (Depends-on): Likewise.
10016
10017 2011-11-08  Bruno Haible  <bruno@clisp.org>
10018
10019         faccessat: Move AC_LIBOBJ invocation to module description.
10020         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10021         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10022         invocation from here...
10023         * modules/faccessat (configure.ac): ... to here. Invoke
10024         gl_PREREQ_FACCESSAT.
10025
10026 2011-11-08  Bruno Haible  <bruno@clisp.org>
10027
10028         faccessat: Simplify autoconf macro.
10029         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10030         gl_FUNC_EUIDACCESS.
10031
10032 2011-11-08  Bruno Haible  <bruno@clisp.org>
10033
10034         renameat: Fix dependencies.
10035         * modules/renameat (Depends-on): Add stdbool.
10036
10037 2011-11-08  Bruno Haible  <bruno@clisp.org>
10038
10039         mkfifoat: Fix module description.
10040         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10041         not gl_UNISTD_MODULE_INDICATOR.
10042
10043 2011-11-08  Bruno Haible  <bruno@clisp.org>
10044
10045         fstatat: Remove unused dependency.
10046         * modules/fstatat (Depends-on): Remove fstat.
10047
10048 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10049
10050         GNUmakefile: behave when Makefile is missing.
10051         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10052
10053 2011-11-08  Bruno Haible  <bruno@clisp.org>
10054
10055         openat: Conditionalize dependencies.
10056         * lib/openat.c: Reduce the scope of some #includes.
10057         * modules/openat (Depends-on): Add conditions.
10058
10059 2011-11-07  Jim Meyering  <meyering@redhat.com>
10060
10061         maint.mk: extract GPG key ID without using a temporary file
10062         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10063         without using a temporary file.  Based on a suggestion from Werner Koch
10064         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10065
10066 2011-11-07  Eric Blake  <eblake@redhat.com>
10067
10068         grantpt: fix typo
10069         * lib/stdlib.in.h (grantpt): Check correct function.
10070
10071         maint.mk: silence new syntax check
10072         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10073
10074 2011-11-06  Bruno Haible  <bruno@clisp.org>
10075
10076         Doc about floating-point and math API.
10077         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10078         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10079
10080 2011-11-06  Bruno Haible  <bruno@clisp.org>
10081
10082         stdalign tests: Skip the test when compiled by Sun C.
10083         * tests/test-stdalign.c (main): Skip the test on Sun C.
10084
10085 2011-11-06  Bruno Haible  <bruno@clisp.org>
10086
10087         ansi-c++-opt: Complete the 2011-06-05 change.
10088         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10089         does not support namespaces, set the variable to "no", not to ":".
10090
10091 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10092
10093         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10094
10095 2011-11-06  Bruno Haible  <bruno@clisp.org>
10096
10097         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10098         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10099         (minus_zerol) [HP-UX]: New macro.
10100         (unary_minus) [HP-UX]: New function.
10101         (copysignl) [HP-UX]: Use unary_minus function.
10102
10103 2011-11-06  Bruno Haible  <bruno@clisp.org>
10104
10105         ldexp, ldexpf, ldexpl: Enhance tests.
10106         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10107         and tests/test-ldexpl.c.
10108         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10109         LDEXP, MIN_EXP, MAX_EXP): New macros.
10110         Include test-ldexp.h.
10111         (main): Just call test_function.
10112         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10113         infinity.h, nan.h.
10114         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10115         MAX_EXP): New macros.
10116         Include test-ldexp.h.
10117         (x, y): Remove variables.
10118         (main): Just call test_function.
10119         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10120         infinity.h, nan.h.
10121         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10122         MAX_EXP): New macros.
10123         Include test-ldexp.h.
10124         (x, y): Remove variables.
10125         (main): Just call test_function.
10126         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10127         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10128         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10129         (Depends-on): Add isnand-nolibm, signbit, float.
10130         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10131         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10132         (Depends-on): Add isnanf-nolibm, signbit, float.
10133
10134 2011-11-06  Bruno Haible  <bruno@clisp.org>
10135
10136         math tests: Cosmetics.
10137         * tests/test-math-c++.cc: Reorder declarations.
10138
10139 2011-11-05  Bruno Haible  <bruno@clisp.org>
10140
10141         fma*: Simplify test.
10142         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10143         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10144
10145         Tests for module 'fmal'.
10146         * modules/fmal-tests: New file.
10147         * tests/test-fmal1.c: New file.
10148         * tests/test-fmal2.c: New file.
10149
10150         New module 'fmal'.
10151         * lib/math.in.h (fmal): New declaration.
10152         * lib/fmal.c: New file.
10153         * m4/fmal.m4: New file.
10154         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10155         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10156         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10157         REPLACE_FMAL.
10158         * modules/fmal: New file.
10159         * doc/posix-functions/fmal.texi: Mention the new module and the various
10160         bugs.
10161
10162         Tests for module 'fmaf'.
10163         * modules/fmaf-tests: New file.
10164         * tests/test-fmaf1.c: New file.
10165         * tests/test-fmaf2.c: New file.
10166
10167         New module 'fmaf'.
10168         * lib/math.in.h (fmaf): New declaration.
10169         * lib/fmaf.c: New file.
10170         * m4/fmaf.m4: New file.
10171         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10172         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10173         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10174         REPLACE_FMAF.
10175         * modules/fmaf: New file.
10176         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10177         bugs.
10178
10179         Tests for module 'fma'.
10180         * modules/fma-tests: New file.
10181         * tests/test-fma1.c: New file.
10182         * tests/test-fma1.h: New file.
10183         * tests/test-fma2.c: New file.
10184         * tests/test-fma2.h: New file.
10185
10186         New module 'fma'.
10187         * lib/math.in.h (fma): New declaration.
10188         * lib/fma.c: New file.
10189         * m4/fma.m4: New file.
10190         * m4/fegetround.m4: New file.
10191         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10192         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10193         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10194         REPLACE_FMA.
10195         * modules/fma: New file.
10196         * doc/posix-functions/fma.texi: Mention the new module and the various
10197         bugs.
10198
10199         Extend gl_MATHFUNC.
10200         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10201         Support 'void' as argument type.
10202         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10203
10204 2011-11-05  Jim Meyering  <meyering@redhat.com>
10205
10206         maint.mk: also prohibit inclusion of dirent.h without use
10207         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10208
10209 2011-11-05  Bruno Haible  <bruno@clisp.org>
10210
10211         ldexpl tests: Avoid test failure on MSVC 9.
10212         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10213         value. Needed in order to enforce the conversion from a value greater
10214         than LDBL_MAX to Infinity.
10215
10216 2011-11-05  Bruno Haible  <bruno@clisp.org>
10217
10218         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10219         * modules/at-internal: New file, extracted from modules/openat.
10220         * modules/openat-h: New file.
10221         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10222         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10223         * modules/openat (Description): Add reference to POSIX function.
10224         (Files): Remove lib/openat.h, lib/openat-proc.c.
10225         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10226         intprops, unistd.
10227         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10228         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10229         gl_FCNTL_MODULE_INDICATOR.
10230         (Include): Remove unistd.h, openat.h.
10231         * modules/areadlinkat (Files): Add lib/at-func.c.
10232         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10233         openat-die, openat-h, save-cwd.
10234         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10235         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10236         openat-die, openat-h, save-cwd, unistd.
10237         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10238         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10239         openat-h, save-cwd. Remove fcntl-h, openat.
10240         * modules/fchmodat (Files): Remove lib/openat.h.
10241         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10242         openat, stdbool, unistd.
10243         * modules/fchownat (Files): Remove lib/openat.h.
10244         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10245         openat, stdbool, sys_stat.
10246         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10247         lib/openat-proc.c.
10248         (Depends-on): Add at-internal.
10249         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10250         * modules/fstatat (Files): Remove lib/openat.h.
10251         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10252         stdbool, unistd.
10253         * modules/fts (Depends-on): Add openat-h.
10254         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10255         openat.
10256         * modules/mkdirat (Files): Remove lib/openat.h.
10257         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10258         openat, stdbool, sys_stat.
10259         * modules/mkfifoat (Files): Add lib/at-func.c.
10260         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10261         openat-h, save-cwd. Remove fcntl-h, openat.
10262         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10263         * modules/readlinkat (Files): Add lib/at-func.c.
10264         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10265         openat-h, save-cwd. Remove fcntl-h, openat.
10266         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10267         openat.
10268         * modules/selinux-at (Files): Add lib/at-func.c.
10269         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10270         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10271         * modules/symlinkat (Files): Add lib/at-func.c.
10272         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10273         openat-h, save-cwd. Remove fcntl-h, openat.
10274         * modules/unlinkat (Files): Remove lib/openat.h.
10275         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10276         stdbool.
10277         * modules/utimensat (Files): Add lib/at-func.c.
10278         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10279         openat-die, openat-h, save-cwd.
10280         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10281         * modules/fdutimensat-tests (Depends-on): Add openat.
10282         * modules/fstatat-tests (Depends-on): Add openat-h.
10283         * modules/readlinkat-tests (Depends-on): Add openat.
10284         * modules/symlinkat-tests (Depends-on): Add openat.
10285
10286 2011-11-05  Bruno Haible  <bruno@clisp.org>
10287
10288         openat: Include <stdbool.h>.
10289         * lib/openat.c: Include <stdbool.h>.
10290
10291 2011-11-04  Bruno Haible  <bruno@clisp.org>
10292
10293         fchownat, renameat, unlinkat: Fix dependencies.
10294         * modules/fchownat (Depends-on): Add fstatat.
10295         * modules/renameat (Depends-on): Likewise.
10296         * modules/unlinkat (Depends-on): Likewise.
10297
10298 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10299
10300         openat: remove direct dependency on dirent
10301         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10302         and hasn't been needed ever since fdopendir was split into its own
10303         module on 2009-08-31.
10304         * modules/openat (Depends-on): Remove dirent.
10305
10306 2011-11-04  Bruno Haible  <bruno@clisp.org>
10307
10308         renameat: Optimize code size.
10309         * modules/renameat (configure.ac): Don't compile at-func2.c if
10310         REPLACE_RENAMEAT is 1.
10311
10312 2011-11-04  Bruno Haible  <bruno@clisp.org>
10313
10314         openat tests: Fix file list.
10315         * modules/openat-tests (Files): Add tests/test-open.h.
10316
10317 2011-11-04  Bruno Haible  <bruno@clisp.org>
10318
10319         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10320         * modules/fchmodat (Depends-on): Add openat-die.
10321         * modules/fchownat (Depends-on): Likewise.
10322         * modules/linkat (Depends-on): Likewise.
10323         * modules/renameat (Depends-on): Likewise.
10324         * modules/openat (Depends-on): Add dirent.
10325
10326 2011-11-04  Jim Meyering  <meyering@redhat.com>
10327
10328         at-func*.c: fix comments
10329         * lib/at-func2.c: Correct/improve first-line comment.
10330         * lib/at-func.c: Correct grammar in first-line comment.
10331
10332 2011-11-04  Bruno Haible  <bruno@clisp.org>
10333
10334         New module 'mkdirat', split off from module 'openat'.
10335         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10336         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10337         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10338         * modules/mkdirat: New file, extracted from modules/openat.
10339         * modules/openat (Files): Remove lib/mkdirat.c.
10340         (Depends-on): Remove mkdir.
10341         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10342         (Include): Remove <sys/stat.h>.
10343         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10344         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10345         tests/test-mkdir.h.
10346         (Depends-on): Remove ignore-value.
10347         (Makefile.am): Remove rules for test-mkdirat.
10348         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10349         of module 'openat'.
10350         * NEWS: Mention the change.
10351
10352 2011-11-04  Bruno Haible  <bruno@clisp.org>
10353
10354         closedir: Avoid warning on mingw.
10355         * lib/closedir.c: Include <unistd.h>.
10356
10357 2011-11-04  Bruno Haible  <bruno@clisp.org>
10358
10359         New module 'fstatat', split off from module 'openat'.
10360         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10361         defined.
10362         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10363         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10364         gl_FUNC_FSTATAT.
10365         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10366         * modules/fstatat: New file, extracted from modules/openat.
10367         * modules/openat (Files): Remove lib/fstatat.c.
10368         (Depends-on): Remove lstat.
10369         (configure.ac): Remove AC_LIBOBJ of fstatat.
10370         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10371         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10372         tests/test-lstat.h, tests/test-stat.h.
10373         (Depends-on): Remove getcwd-lgpl.
10374         (Makefile.am): Remove rules for test-fstatat.
10375         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10376         of module 'openat'.
10377         * NEWS: Mention the change.
10378         * modules/getcwd (Depends-on): Add fstatat.
10379         * modules/linkat (Depends-on): Likewise.
10380         * modules/mkfifoat-tests (Depends-on): Likewise.
10381         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10382
10383 2011-11-03  Bruno Haible  <bruno@clisp.org>
10384
10385         New module 'unlinkat', split off from module 'openat'.
10386         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10387         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10388         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10389         * modules/unlinkat: New file, extracted from modules/openat. Correct
10390         the dependency conditions.
10391         * modules/openat (Files): Remove lib/unlinkat.c.
10392         (Depends-on): Remove rmdir, unlink.
10393         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10394         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10395         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10396         tests/test-rmdir.h, tests/test-unlink.h.
10397         (Depends-on): Remove unlinkdir.
10398         (Makefile.am): Remove rules for test-unlinkat.
10399         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10400         of module 'openat'.
10401         * NEWS: Mention the change.
10402         * modules/linkat-tests (Depends-on): Add unlinkat.
10403         * modules/mkfifoat-tests (Depends-on): Likewise.
10404         * modules/readlinkat-tests (Depends-on): Likewise.
10405
10406 2011-11-02  Bruno Haible  <bruno@clisp.org>
10407
10408         New module 'fchmodat', split off from module 'openat'.
10409         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10410         defined.
10411         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10412         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10413         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10414         * modules/fchmodat: New file, extracted from modules/openat.
10415         * modules/openat (Files): Remove lib/fchmodat.c.
10416         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10417         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10418         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10419         (Makefile.am): Remove rules for test-fchmodat.
10420         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10421         of module 'openat'.
10422         * NEWS: Mention the change.
10423
10424 2011-11-02  Jim Meyering  <meyering@redhat.com>
10425
10426         putenv: indent #definition of "environ" to placate cppi
10427         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10428
10429         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10430         Git logs are often treated as immutable, because editing them
10431         changes the SHA1 checksums of all descendants.  Thus, errors in
10432         git logs tend to stay there forever.  However, when we generate
10433         a ChangeLog file -- typically for distribution -- from that git log,
10434         we can actually make corrections in the generated file.  The key
10435         lies in recording in machine-readable/applicable form the desired
10436         corrections.  See --help for description and an example.
10437         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10438         (usage): Describe it; alphabetize option descriptions.
10439         (main): Honor the new option, carefully.
10440
10441 2011-11-01  Jim Meyering  <meyering@redhat.com>
10442
10443         gitlog-to-changelog: avoid an infloop
10444         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10445         that ends up being empty.
10446
10447 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10448
10449         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10450         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10451         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10452         contains (possibly-quoted) backslashes.  This should avoid
10453         all-too-common shell bugs if COMPLICATED contains backslashes in
10454         the "wrong" places.  Reported by David Evans in
10455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10456         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10457         because we want ASCII ranges.  Is there some reason we don't use
10458         the C locale everywhere in this script?
10459         (func_module, top level): Avoid unwanted pathname expansion when
10460         $repo_url_prefix or $repo_url_suffix_repl contain shell
10461         metacharacters like '?' and '*'.
10462
10463 2011-11-01  Bruno Haible  <bruno@clisp.org>
10464
10465         fchownat: Improve description.
10466         * modules/fchownat (Description): Add link to function.
10467
10468 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10469
10470         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10471         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10473         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10474
10475 2011-11-01  Bruno Haible  <bruno@clisp.org>
10476
10477         alignof: Avoid collision with stdalign module.
10478         * lib/alignof.h (alignof): Remove macro.
10479         * NEWS: Mention the change.
10480         Reported by Paul Eggert.
10481
10482 2011-11-01  Bruno Haible  <bruno@clisp.org>
10483
10484         New module 'fchownat', split off from module 'openat'.
10485         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10486         defined.
10487         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10488         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10489         invoke gl_FUNC_FCHOWNAT.
10490         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10491         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10492         * modules/fchownat: New file, extracted from modules/openat.
10493         * modules/openat (Files): Remove lib/fchownat.c.
10494         (Depends-on): Remove lchown.
10495         (configure.ac): Remove AC_LIBOBJ of fchownat.
10496         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10497         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10498         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10499         (Depends-on): Remove mgetgroups, usleep, stat-time.
10500         (configure.ac): Remove test for getegid.
10501         (Makefile.am): Remove rules for test-fchownat.
10502         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10503         of module 'openat'.
10504         * NEWS: Mention the change.
10505
10506 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10507
10508         stdalign: port better to MSVC and to Sun C 5.11
10509         This fixes some of the problems reported by Bruno Haible in
10510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10511         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10512         shortcomings of MSVC and of Sun C 5.11.
10513         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10514         around __declspec arg.
10515         * modules/stdalign-tests (Files): Add tests/macros.h.
10516         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10517         Include macros.h, for ASSERT.
10518         (DECLARE_ALIGNED): Remove.
10519         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10520         to catch bug), and to 1 if not (simplifies the rest of the code).
10521         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10522         (CHECK_AUTO): Remove.
10523         (CHECK_ALIGNED): Check only the alignment of the static vars,
10524         since auto var alignment isn't supported by Sun C 5.11.
10525         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10526         ASSERT failures are easier to diagnose.
10527
10528 2011-10-31  Bruno Haible  <bruno@clisp.org>
10529
10530         doc about some IRIX 5.3 problems.
10531         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10532         on IRIX 5.3.
10533         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10534         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10535         5.3.
10536         * doc/posix-functions/grantpt.texi: Likewise.
10537         * doc/posix-functions/unlockpt.texi: Likewise.
10538         * doc/posix-functions/lgamma.texi: Likewise.
10539         * doc/posix-functions/nextafter.texi: Likewise.
10540         * doc/posix-functions/remainder.texi: Likewise.
10541         * doc/posix-functions/select.texi: Mention misplaced declaration on
10542         IRIX 5.3.
10543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10544
10545 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10546
10547         gitlog-to-changelog: fix git-log invocation.
10548         git-log mishandles date strings before 1970-01-01 UTC, and there is
10549         no use to specify --since=1970-01-01 by default anyway.
10550         * build-aux/gitlog-to-changelog: By default, when no --since option
10551         was given, do not specify explicit --since option to git-log.
10552
10553 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10554
10555         gitlog-to-changelog: new option --append-dot.
10556         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10557         first non-blank line of each commit message terminated with a dot.
10558
10559 2011-10-30  Bruno Haible  <bruno@clisp.org>
10560
10561         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10562         * lib/ffsl.h: Include <config.h>.
10563         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10564
10565 2011-10-30  Jim Meyering  <meyering@redhat.com>
10566
10567         GNUmakefile: reenable "make syntax-check" for most projects
10568         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10569         build-aux variable", "syntax-check" would do nothing but succeed with
10570         the "No version control files detected..." diagnostic (unless you
10571         happened to override _build-aux via cfg.mk).
10572         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10573         to precede inclusion of maint.mk.  Otherwise, these variables would
10574         be used undefined in any project that does not override the default.
10575
10576 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10577
10578         gitlog-to-changelog: treat a message with only blank lines as empty.
10579         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10580         trailing blank lines before the code that issues a warning about an
10581         empty commit message.
10582
10583 2011-10-30  Jim Meyering  <meyering@redhat.com>
10584
10585         test-parse-datetime.c: avoid new DST-related false positive test failure
10586         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10587         based on the time/date we'll convert, not the current time.
10588         Otherwise, the moment we cross a DST boundary like today's in
10589         Europe, (CEST to CET), that offset ends up being one hour off.
10590
10591 2011-10-27  Bruno Haible  <bruno@clisp.org>
10592
10593         fstat: Tweak documentation.
10594         * modules/fstat (Description): More precise description.
10595
10596 2011-10-27  Bruno Haible  <bruno@clisp.org>
10597
10598         Update documentation regarding 'largefile' module.
10599         * doc/posix-functions/fstat.texi: Tweak wording.
10600         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10601         problems with huge directories and/or small ino_t types.
10602         * doc/posix-functions/readdir.texi: Likewise.
10603         * doc/posix-functions/rewinddir.texi: Likewise.
10604
10605 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10606
10607         maint.mk: don't maintain a second build-aux variable.
10608         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10609         depends on GNUmakefile, which already maintains a cfg.mk
10610         overridable $(_build-aux) for projects with a non-standard
10611         build-aux directory location, although without the $(srcdir)
10612         prefix.  Use that variable consistently instead of introducing a
10613         second one.  Adjust all call sites.
10614
10615 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10616
10617         Add stdalign module and use it in other modules.
10618         This is based on a previous proposal by Bruno Haible
10619         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10620
10621         stdalign: new module
10622         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10623         * modules/stdalign: New files.
10624         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10625         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10626
10627         stdalign-tests: new module
10628         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10629
10630         argp: use stdalign
10631         * lib/argp-parse.c: Include <stdalign.h>.
10632         (alignof): Remove.
10633         * modules/argp (Depends-on): Add stdalign.
10634
10635         crypto libraries: use stdalign
10636         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10637         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10638         Do not include <stdlib.h> twice, in md4.c.
10639         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10640         because we are accessing a pointer's bit-pattern, not a size.
10641         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10642         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10643         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10644         * modules/crypto/sha512: Likewise.
10645
10646         sys_socket: use stdalign, not alignof
10647         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10648         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10649
10650 2011-10-27  Bruno Haible  <bruno@clisp.org>
10651
10652         raise test: Avoid a test failure on Linux/MIPS.
10653         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10654         because 99 is a valid signal on Linux/MIPS.
10655
10656 2011-10-27  Bruno Haible  <bruno@clisp.org>
10657
10658         nonblocking tests: Fix test failure on Linux/MIPS.
10659         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10660         Set to 270000.
10661
10662 2011-10-27  Bruno Haible  <bruno@clisp.org>
10663
10664         utimensat: Work around problem on Linux/hppa.
10665         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10666         values.
10667         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10668
10669 2011-10-25  Jim Meyering  <meyering@redhat.com>
10670
10671         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10672         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10673         after symbols like NULL, size_t, etc.
10674         Reported by Alfred M. Szmidt.
10675
10676         maint.mk: exempt ENODATA from a syntax-check rule
10677         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10678         from the sc_prohibit_always-defined_macros syntax-check rule.
10679         Add a comment.  See this for more details:
10680         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10681
10682 2011-10-23  Jim Meyering  <meyering@redhat.com>
10683
10684         fts: close parent dir FD before returning from post-traversal fts_read
10685         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10686         unlink A, even though an FD open on A remained.  This is suboptimal
10687         (holding a file descriptor open longer than needed), but otherwise not
10688         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10689         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10690         that represents a real problem: it causes the removal of A to fail
10691         with e.g., "rm: cannot remove `A': Device or resource busy"
10692
10693         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10694         directory file descriptors.  After completing the final, FTS_DP,
10695         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10696         cache, but then proceeded to add a new FD to it via the subsequent
10697         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10698         final file descriptor would be closed only via fts_close's call to
10699         fd_ring_clear.  Now, it is usually closed earlier, via the final
10700         FTS_DP-returning fts_read call.
10701         * lib/fts.c (restore_initial_cwd): New function, converted from
10702         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10703         Update callers.
10704         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10705         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10706
10707 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10708             Bruno Haible  <bruno@clisp.org>
10709             Jim Meyering  <jim@meyering.net>
10710
10711         readme-release: improve safety of release prep instructions.
10712         * README-release: Don't git pull all branches when only master
10713         is needed for the release process.
10714         Run make maintainer-clean before changing trees and merging.
10715         Don't try to run ./configure right after git pull in case files
10716         that influence the bootstrap process have changed, move the
10717         ./configure step to after running ./bootstrap.
10718         Don't bootstrap "one last time"... it's the first time!
10719
10720 2011-10-22  Bruno Haible  <bruno@clisp.org>
10721
10722         errno, strerror-override: Support for MSVC 10.
10723         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10724         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10725         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10726         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10727         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10728         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10729         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10730         Assign values compatible with MSVC 10.
10731         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10732         New macros.
10733         (GNULIB_defined_EWINSOCK): New macro.
10734         * lib/strerror-override.c (strerror_override): Update accordingly.
10735         * lib/strerror-override.h: Likewise.
10736         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10737         longer equal to the corresponding errno value.
10738         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10739
10740 2011-10-22  Bruno Haible  <bruno@clisp.org>
10741
10742         perror: Recognize when test program crashes.
10743         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10744         strerror, set gl_cv_func_perror_works to no.
10745         Reported by Daniel Richard G. <skunk@iskunk.org>.
10746
10747         perror: Fix indentation.
10748         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10749
10750 2011-10-22  Bruno Haible  <bruno@clisp.org>
10751
10752         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10753         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10754         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10755         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10756         functions, not as a macro.
10757         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10758         macros.
10759         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10760         absence of macro.
10761         Suggested by Eric Blake.
10762         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10763
10764 2011-10-21  Bruno Haible  <bruno@clisp.org>
10765
10766         relocatable-prog-wrapper: Don't leave object files behind.
10767         * build-aux/install-reloc: Re-synchronize list of .o files to be
10768         removed with list of compilation units.
10769
10770 2011-10-20  Bruno Haible  <bruno@clisp.org>
10771
10772         openpty, posix_openpt: Remove code duplication.
10773         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
10774         * lib/openpty.c: Include <stdlib.h>.
10775         (openpty): Use posix_openpt on all platforms except IRIX.
10776         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
10777
10778 2011-10-20  Bruno Haible  <bruno@clisp.org>
10779
10780         unlockpt: Detect invalid argument.
10781         * lib/unlockpt.c: Include <fcntl.h>.
10782         (unlockpt): Check whether fd is valid, using fcntl().
10783         * modules/unlockpt (Depends-on): Add fcntl-h.
10784
10785 2011-10-20  Bruno Haible  <bruno@clisp.org>
10786
10787         openpty: Avoid compilation error on AIX 6.1.
10788         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
10789
10790 2011-10-20  Bruno Haible  <bruno@clisp.org>
10791
10792         posix_openpt: Support for OpenBSD.
10793         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
10794         (posix_openpt) [OpenBSD]: New code.
10795         * lib/grantpt.c: Include <fcntl.h>.
10796         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
10797         * modules/grantpt (Depends-on): Add fcntl-h.
10798
10799 2011-10-20  Bruno Haible  <bruno@clisp.org>
10800
10801         posix_openpt test: Coding style.
10802         * tests/test-posix_openpt.c: Use GNU coding style.
10803
10804 2011-10-20  Bruno Haible  <bruno@clisp.org>
10805
10806         grantpt: Support --avoid=pt_chown.
10807         * modules/grantpt (Files): Add lib/pty-private.h.
10808
10809 2011-10-20  Bruno Haible  <bruno@clisp.org>
10810
10811         posix_openpt: Fix autoconf macro.
10812         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
10813         unneeded check for _getpty.
10814
10815 2011-10-20  Bruno Haible  <bruno@clisp.org>
10816
10817         openpty: Update comments.
10818         * lib/openpty.c: Add comments about Minix.
10819
10820 2011-10-19  Eric Blake  <eblake@redhat.com>
10821
10822         openpty: relax license
10823         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
10824
10825         pt_chown: use configmake to simplify build
10826         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
10827
10828         ptsname and others: relax license
10829         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
10830         * modules/unlockpt (License): Likewise.
10831         * modules/pt_chown (License): Likewise.
10832         * modules/ptsname (License): Likewise.
10833         * modules/ttyname_r (License): Likewise.
10834
10835 2011-10-19  Jim Meyering  <meyering@redhat.com>
10836
10837         posix_openpt: remove spurious #endif
10838         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
10839
10840 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
10841
10842         maint.mk: Respect $(build_aux) in web-manual rule.
10843         * top/maint.mk (web-manual): Find gen-announce script in user's
10844         $(build_aux) directory instead of hard-coding 'build-aux'.
10845
10846 2011-10-19  Bruno Haible  <bruno@clisp.org>
10847
10848         posix_openpt: Fix compilation error.
10849         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
10850         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
10851         Mention the openpty module as an alternative.
10852
10853 2011-10-19  Bruno Haible  <bruno@clisp.org>
10854
10855         Support for old NeXTstep 3.3 frexp().
10856         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
10857         execution time of the test to 5 seconds.
10858         Reported by Daniel Richard G. <skunk@iskunk.org>.
10859
10860 2011-10-19  Bruno Haible  <bruno@clisp.org>
10861
10862         Support for old NeXTstep 3.3 sed.
10863         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
10864         part, use /.../, not \|...|. Escape periods in the header file name.
10865         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10866         Reported by Daniel Richard G. <skunk@iskunk.org>.
10867
10868 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10869
10870         Support for old NeXTstep 3.3 gcc.
10871         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
10872         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
10873         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
10874         * lib/spawn.in.h (_Restrict_arr_): Likewise.
10875         * lib/regex.h (_Restrict_arr_): Likewise.
10876         * lib/regex_internal.h (re_token_t): Likewise.
10877         * lib/regexec.c (check_node_accept_bytes): Likewise.
10878         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
10879
10880 2011-10-18  Eric Blake  <eblake@redhat.com>
10881
10882         posix_openpt: new module
10883         * modules/posix_openpt: New module.
10884         * m4/posix_openpt.m4: New file.
10885         * lib/posix_openpt.c: Likewise.
10886         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10887         (gl_STDLIB_H_DEFAULTS): Set defaults.
10888         * modules/stdlib (Makefile.am): Substitute macros.
10889         * lib/stdlib.in.h (posix_openpt): Declare.
10890         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
10891         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
10892         * modules/posix_openpt-tests: New test module.
10893         * tests/test-posix_openpt.c: New test.
10894
10895 2011-10-15  Bruno Haible  <bruno@clisp.org>
10896
10897         xstrtoll: Fix compilation failure.
10898         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
10899         from lib/strtol.c.
10900         * doc/posix-headers/limits.texi: Mention missing numerical limits on
10901         some platforms.
10902         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10903
10904 2011-10-15  Bruno Haible  <bruno@clisp.org>
10905
10906         vasnprintf: Optimize bit search operation.
10907         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
10908         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
10909         gl_DOUBLE_EXPONENT_LOCATION.
10910         * modules/vasnprintf (Files): Add m4/exponentd.m4.
10911         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10912         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10913         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10914         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10915         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10916         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10917         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10918         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
10919
10920 2011-10-15  Bruno Haible  <bruno@clisp.org>
10921
10922         vasnprintf: Fix comments.
10923         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
10924
10925 2011-10-14  Bruno Haible  <bruno@clisp.org>
10926
10927         Tests for module 'integer_length_ll'.
10928         * modules/integer_length_ll-tests: New file.
10929         * tests/test-integer_length_ll.c: New file.
10930
10931         New module 'integer_length_ll'.
10932         * lib/integer_length_ll.c: New file.
10933         * modules/integer_length_ll: New file.
10934
10935 2011-10-14  Bruno Haible  <bruno@clisp.org>
10936
10937         Tests for module 'integer_length_l'.
10938         * modules/integer_length_l-tests: New file.
10939         * tests/test-integer_length_l.c: New file.
10940
10941         New module 'integer_length_l'.
10942         * lib/integer_length_l.c: New file.
10943         * modules/integer_length_l: New file.
10944
10945 2011-10-14  Bruno Haible  <bruno@clisp.org>
10946
10947         Tests for module 'integer_length'.
10948         * modules/integer_length-tests: New file.
10949         * tests/test-integer_length.c: New file.
10950
10951         New module 'integer_length'.
10952         * lib/integer_length.h: New file.
10953         * lib/integer_length.c: New file.
10954         * modules/integer_length: New file.
10955
10956 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10957
10958         popen: Fix dependency conditions.
10959         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
10960
10961 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10962
10963         perror: Fix autoconf test.
10964         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
10965         <stdlib.h> and <string.h>.
10966
10967 2011-10-14  Bruno Haible  <bruno@clisp.org>
10968
10969         ffsl: Optimize on 64-bit platforms.
10970         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
10971         unrolling.
10972
10973 2011-10-13  Bruno Haible  <bruno@clisp.org>
10974
10975         ffsl: Optimize on 32-bit platforms.
10976         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
10977         use ffs() without a loop.
10978
10979         ffsl, ffsll: Optimize for GCC.
10980         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
10981         * lib/ffsl.c (GCC_BUILTIN): New macro.
10982         * lib/ffsll.c (GCC_BUILTIN): Likewise.
10983
10984 2011-10-13  Bruno Haible  <bruno@clisp.org>
10985
10986         ffs, bcopy, memset: Support symbol renaming via config.h.
10987         * lib/ffs.c: Include <config.h>.
10988         * lib/bcopy.c: Likewise.
10989         * lib/memset.c: Likewise.
10990
10991 2011-10-10  Bruno Haible  <bruno@clisp.org>
10992
10993         atanl: Simplify for platforms where 'long double' == 'double'.
10994         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10995         alternative implementation.
10996         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10997         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10998         * modules/atanl (Depends-on): Add atan. Update conditions.
10999
11000 2011-10-10  Bruno Haible  <bruno@clisp.org>
11001
11002         acosl: Simplify for platforms where 'long double' == 'double'.
11003         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11004         alternative implementation.
11005         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11006         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11007         * modules/acosl (Depends-on): Add acos. Update conditions.
11008
11009 2011-10-10  Bruno Haible  <bruno@clisp.org>
11010
11011         asinl: Simplify for platforms where 'long double' == 'double'.
11012         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11013         alternative implementation.
11014         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11015         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11016         * modules/asinl (Depends-on): Add asin. Update conditions.
11017
11018 2011-10-10  Bruno Haible  <bruno@clisp.org>
11019
11020         tanl: Simplify for platforms where 'long double' == 'double'.
11021         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11022         implementation.
11023         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11024         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11025         * modules/tanl (Depends-on): Add tan. Update conditions.
11026         (configure.ac): Don't compile trigl.c if
11027         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11028
11029 2011-10-10  Bruno Haible  <bruno@clisp.org>
11030
11031         cosl: Simplify for platforms where 'long double' == 'double'.
11032         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11033         implementation.
11034         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11035         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11036         * modules/cosl (Depends-on): Add cos. Update conditions.
11037         (configure.ac): Don't compile sincosl.c and trigl.c if
11038         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11039
11040 2011-10-10  Bruno Haible  <bruno@clisp.org>
11041
11042         sinl: Simplify for platforms where 'long double' == 'double'.
11043         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11044         implementation.
11045         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11046         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11047         * modules/sinl (Depends-on): Add sin. Update conditions.
11048         (configure.ac): Don't compile sincosl.c and trigl.c if
11049         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11050
11051 2011-10-10  Bruno Haible  <bruno@clisp.org>
11052
11053         logl: Simplify for platforms where 'long double' == 'double'.
11054         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11055         implementation.
11056         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11057         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11058         * modules/logl (Depends-on): Add log. Update conditions.
11059
11060 2011-10-10  Bruno Haible  <bruno@clisp.org>
11061
11062         expl: Simplify for platforms where 'long double' == 'double'.
11063         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11064         implementation.
11065         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11066         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11067         * modules/expl (Depends-on): Add exp. Update conditions.
11068
11069 2011-10-10  Bruno Haible  <bruno@clisp.org>
11070
11071         sqrtl: Simplify for platforms where 'long double' == 'double'.
11072         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11073         alternative implementation.
11074         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11075         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11076         * modules/sqrtl (Depends-on): Update conditions.
11077
11078 2011-10-10  Bruno Haible  <bruno@clisp.org>
11079
11080         ldexpl: Simplify for platforms where 'long double' == 'double'.
11081         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11082         alternative implementation.
11083         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11084         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11085         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11086
11087 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11088
11089         ffsll: set correct witness
11090         * modules/ffsll (configure.ac): Fix typo.
11091
11092 2011-10-10  Bruno Haible  <bruno@clisp.org>
11093
11094         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11095         * lib/printf-frexpl.c: Include <config.h>.
11096         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11097         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11098         second time.
11099         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11100         gl_LONG_DOUBLE_VS_DOUBLE.
11101         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11102         conditions.
11103
11104 2011-10-10  Bruno Haible  <bruno@clisp.org>
11105
11106         frexpl: Simplify for platforms where 'long double' == 'double'.
11107         * lib/frexpl.c: Include <config.h>.
11108         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11109         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11110         time.
11111         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11112         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11113         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11114         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11115         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11116         conditions.
11117
11118 2011-10-10  Jim Meyering  <meyering@redhat.com>
11119
11120         test-renameat: don't leave behind a temporary file
11121         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11122           ERROR: files left in build directory after distclean:
11123           ./gltests/test-renameat.too
11124           make[1]: *** [distcleancheck] Error 1
11125         Reported by Tom G. Christensen.
11126
11127 2011-10-09  Bruno Haible  <bruno@clisp.org>
11128
11129         rint: Determine RINT_LIBM correctly on AIX 7.
11130         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11131         directly, not only through a function pointer. Also accept an optional
11132         4th argument with extra code.
11133         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11134         rintf() call by gcc when optimizing.
11135
11136         mathfunc.m4: Refactor.
11137         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11138         m4 variable.
11139
11140 2011-10-09  Bruno Haible  <bruno@clisp.org>
11141
11142         rintl: Simplify for platforms where 'long double' == 'double'.
11143         * lib/rintl.c: Include <config.h>.
11144         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11145         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11146         time.
11147         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11148         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11149         * modules/rintl (Depends-on): Add rint. Update conditions.
11150
11151 2011-10-09  Bruno Haible  <bruno@clisp.org>
11152
11153         roundl: Simplify for platforms where 'long double' == 'double'.
11154         * lib/roundl.c: Include <config.h>.
11155         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11156         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11157         time.
11158         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11159         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11160         * modules/roundl (Depends-on): Add round. Update conditions.
11161
11162 2011-10-09  Bruno Haible  <bruno@clisp.org>
11163
11164         truncl: Simplify for platforms where 'long double' == 'double'.
11165         * lib/truncl.c: Include <config.h>.
11166         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11167         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11168         time.
11169         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11170         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11171         * modules/truncl (Depends-on): Add trunc. Update conditions.
11172
11173 2011-10-09  Bruno Haible  <bruno@clisp.org>
11174
11175         ceill: Simplify for platforms where 'long double' == 'double'.
11176         * lib/ceill.c: Include <config.h>.
11177         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11178         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11179         time.
11180         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11181         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11182         * modules/ceill (Depends-on): Add ceil. Update conditions.
11183
11184 2011-10-09  Bruno Haible  <bruno@clisp.org>
11185
11186         floorl: Simplify for platforms where 'long double' == 'double'.
11187         * lib/floorl.c: Include <config.h>.
11188         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11189         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11190         time.
11191         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11192         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11193         * modules/floorl (Depends-on): Add floor. Update conditions.
11194
11195 2011-10-09  Bruno Haible  <bruno@clisp.org>
11196
11197         rint: Fix ordering constraints.
11198         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11199         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11200         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11201
11202 2011-10-09  Bruno Haible  <bruno@clisp.org>
11203
11204         copysignl: Simplify for platforms where 'long double' == 'double'.
11205         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11206         alternative.
11207         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11208         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11209         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11210
11211 2011-10-09  Bruno Haible  <bruno@clisp.org>
11212
11213         Tests for module 'rintl'.
11214         * modules/rintl-tests: New file.
11215         * tests/test-rintl.c: New file.
11216
11217         New module 'rintl'.
11218         * lib/math.in.h (rintl): New declaration.
11219         * lib/rintl.c: New file.
11220         * m4/rintl.m4: New file.
11221         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11223         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11224         * modules/rintl: New file.
11225         * tests/test-math-c++.cc: Check the declaration of rintl.
11226         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11227         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11228         * doc/posix-functions/rintl.texi: Mention the new module.
11229
11230 2011-10-09  Bruno Haible  <bruno@clisp.org>
11231
11232         Tests for module 'rintf'.
11233         * modules/rintf-tests: New file.
11234         * tests/test-rintf.c: New file.
11235
11236         New module 'rintf'.
11237         * lib/math.in.h (rintf): New declaration.
11238         * lib/rintf.c: New file.
11239         * m4/rintf.m4: New file.
11240         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11241         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11242         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11243         * modules/rintf: New file.
11244         * tests/test-math-c++.cc: Check the declaration of rintf.
11245         * doc/posix-functions/rintf.texi: Mention the new module.
11246
11247 2011-10-09  Bruno Haible  <bruno@clisp.org>
11248
11249         rint: Support for MSVC.
11250         * lib/math.in.h (rint): New declaration.
11251         * lib/rint.c: New file.
11252         * m4/rint.m4: New file.
11253         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11255         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11256         * modules/rint (Description): Fix.
11257         (Files): Add lib/rint.c, m4/rint.m4.
11258         (Depends-on): Add math.
11259         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11260         gl_MATH_MODULE_INDICATOR.
11261         * tests/test-math-c++.cc: Check the declaration of rint.
11262         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11263         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11264         * doc/posix-functions/rint.texi: Mention the replacement provided by
11265         the module.
11266
11267         rint tests: More tests.
11268         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11269         minus-zero.h, infinity.h, nan.h.
11270         (main): Skip the test if the current rounding mode is not standard. Add
11271         tests for negative numbers, minus zero, infinity, NaN.
11272         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11273         tests/nan.h.
11274         (Depends-on): Add isnand-nolibm.
11275
11276 2011-10-09  Bruno Haible  <bruno@clisp.org>
11277
11278         Tests for module 'copysignl'.
11279         * modules/copysignl-tests: New file.
11280         * tests/test-copysignl.c: New file.
11281
11282         New module 'copysignl'.
11283         * lib/math.in.h (copysignl): New declaration.
11284         * lib/copysignl.c: New file.
11285         * m4/copysignl.m4: New file.
11286         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11288         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11289         HAVE_COPYSIGNL.
11290         * modules/copysignl: New file.
11291         * tests/test-math-c++.cc: Check the declaration of copysignl.
11292         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11293         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11294         * doc/posix-functions/copysignl.texi: Mention the new module.
11295
11296 2011-10-09  Bruno Haible  <bruno@clisp.org>
11297
11298         Tests for module 'copysignf'.
11299         * modules/copysignf-tests: New file.
11300         * tests/test-copysignf.c: New file.
11301
11302         New module 'copysignf'.
11303         * lib/math.in.h (copysignf): New declaration.
11304         * lib/copysignf.c: New file.
11305         * m4/copysignf.m4: New file.
11306         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11308         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11309         HAVE_COPYSIGNF.
11310         * modules/copysignf: New file.
11311         * tests/test-math-c++.cc: Check the declaration of copysignf.
11312         * doc/posix-functions/copysignf.texi: Mention the new module.
11313
11314 2011-10-09  Bruno Haible  <bruno@clisp.org>
11315
11316         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11317         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11318         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11319         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11320         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11321         gl_SIGNAL_H_DEFAULTS.
11322
11323 2011-10-09  Bruno Haible  <bruno@clisp.org>
11324
11325         poll: Make macro safer.
11326         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11327         ac_cv_header_poll_h is not set.
11328
11329 2011-10-09  Bruno Haible  <bruno@clisp.org>
11330
11331         copysign: Provide replacement.
11332         * lib/math.in.h (copysign): New declaration.
11333         * lib/copysign.c: New file.
11334         * m4/copysign.m4: New file.
11335         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11337         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11338         HAVE_COPYSIGN.
11339         * modules/copysign (Description): Clarify.
11340         (Files): Add lib/copysign.c, m4/copysign.m4.
11341         (Depends-on): Add math, signbit.
11342         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11343         gl_MATH_MODULE_INDICATOR.
11344         * tests/test-math-c++.cc: Check the declaration of copysign.
11345         * doc/posix-functions/copysign.texi: Mention the effects of the module
11346         on Minix and MSVC.
11347
11348 2011-10-09  Bruno Haible  <bruno@clisp.org>
11349
11350         isinf: Ensure macro on AIX 5.1.
11351         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11352         macro.
11353         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11354
11355 2011-10-09  Bruno Haible  <bruno@clisp.org>
11356
11357         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11358         * modules/snprintf-posix-tests (configure.ac): Require
11359         gl_LONG_DOUBLE_VS_DOUBLE.
11360         * modules/sprintf-posix-tests (configure.ac): Likewise.
11361         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11362         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11363         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11364         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11365         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11366         tests on platforms where 'long double' is the same as 'double'.
11367         * tests/test-sprintf-posix.h (test_function): Likewise.
11368         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11369         * tests/test-vasprintf-posix.c (test_function): Likewise.
11370
11371         *printf: Fix for platforms where 'long double' == 'double'.
11372         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11373         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11374         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11375         * modules/fprintf-posix (Files): Likewise.
11376         * modules/obstack-printf-posix (Files): Likewise.
11377         * modules/snprintf-posix (Files): Likewise.
11378         * modules/sprintf-posix (Files): Likewise.
11379         * modules/vasnprintf (Files): Likewise.
11380         * modules/vasnprintf-posix (Files): Likewise.
11381         * modules/vasprintf-posix (Files): Likewise.
11382         * modules/vdprintf-posix (Files): Likewise.
11383         * modules/vfprintf-posix (Files): Likewise.
11384         * modules/vsnprintf-posix (Files): Likewise.
11385         * modules/vsprintf-posix (Files): Likewise.
11386         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11387         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11388         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11389         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11390         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11391         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11392         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11393
11394         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11395         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11396         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11397         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11398         'long double'.
11399         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11400
11401         isinf: Fix for platforms where 'long double' == 'double'.
11402         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11403         Don't blindly assume 80-bit 'long double'.
11404
11405         isfinite: Fix for platforms where 'long double' == 'double'.
11406         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11407         Don't blindly assume 80-bit 'long double'.
11408
11409         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11410         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11411         * modules/isfinite-tests (configure.ac): Require
11412         gl_LONG_DOUBLE_VS_DOUBLE.
11413         * modules/isinf-tests (configure.ac): Likewise.
11414         * modules/isnan-tests (configure.ac): Likewise.
11415         * modules/isnanl-tests (configure.ac): Likewise.
11416         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11417         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11418         tests on platforms where 'long double' is the same as 'double'.
11419         * tests/test-isinf.c (test_isinfl): Likewise.
11420         * tests/test-isnan.c (test_long_double): Likewise.
11421         * tests/test-isnanl.h (main): Likewise.
11422
11423 2011-10-08  Bruno Haible  <bruno@clisp.org>
11424
11425         Tests for module 'tanhf'.
11426         * modules/tanhf-tests: New file.
11427         * tests/test-tanhf.c: New file.
11428
11429         New module 'tanhf'.
11430         * lib/math.in.h (tanhf): New declaration.
11431         * lib/tanhf.c: New file.
11432         * m4/tanhf.m4: New file.
11433         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11435         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11436         * modules/tanhf: New file.
11437         * tests/test-math-c++.cc: Check the declaration of tanhf.
11438         * doc/posix-functions/tanhf.texi: Mention the new module.
11439
11440         tanh: Use a .m4 file.
11441         * m4/tanh.m4: New file.
11442         * modules/tanh (Files): Add it.
11443         (configure.ac): Just invoke gl_FUNC_TANH.
11444
11445 2011-10-08  Bruno Haible  <bruno@clisp.org>
11446
11447         Tests for module 'coshf'.
11448         * modules/coshf-tests: New file.
11449         * tests/test-coshf.c: New file.
11450
11451         New module 'coshf'.
11452         * lib/math.in.h (coshf): New declaration.
11453         * lib/coshf.c: New file.
11454         * m4/coshf.m4: New file.
11455         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11457         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11458         * modules/coshf: New file.
11459         * tests/test-math-c++.cc: Check the declaration of coshf.
11460         * doc/posix-functions/coshf.texi: Mention the new module.
11461
11462         cosh: Use a .m4 file.
11463         * m4/cosh.m4: New file.
11464         * modules/cosh (Files): Add it.
11465         (configure.ac): Just invoke gl_FUNC_COSH.
11466
11467 2011-10-08  Bruno Haible  <bruno@clisp.org>
11468
11469         Tests for module 'sinhf'.
11470         * modules/sinhf-tests: New file.
11471         * tests/test-sinhf.c: New file.
11472
11473         New module 'sinhf'.
11474         * lib/math.in.h (sinhf): New declaration.
11475         * lib/sinhf.c: New file.
11476         * m4/sinhf.m4: New file.
11477         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11479         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11480         * modules/sinhf: New file.
11481         * tests/test-math-c++.cc: Check the declaration of sinhf.
11482         * doc/posix-functions/sinhf.texi: Mention the new module.
11483
11484         sinh: Use a .m4 file.
11485         * m4/sinh.m4: New file.
11486         * modules/sinh (Files): Add it.
11487         (configure.ac): Just invoke gl_FUNC_SINH.
11488
11489 2011-10-08  Bruno Haible  <bruno@clisp.org>
11490
11491         Tests for module 'atan2f'.
11492         * modules/atan2f-tests: New file.
11493         * tests/test-atan2f.c: New file.
11494
11495         New module 'atan2f'.
11496         * lib/math.in.h (atan2f): New declaration.
11497         * lib/atan2f.c: New file.
11498         * m4/atan2f.m4: New file.
11499         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11500         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11501         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11502         * modules/atan2f: New file.
11503         * tests/test-math-c++.cc: Check the declaration of atan2f.
11504         * doc/posix-functions/atan2f.texi: Mention the new module.
11505
11506         atan2: Use a .m4 file.
11507         * m4/atan2.m4: New file.
11508         * modules/atan2 (Files): Add it.
11509         (configure.ac): Just invoke gl_FUNC_ATAN2.
11510
11511 2011-10-08  Bruno Haible  <bruno@clisp.org>
11512
11513         Tests for module 'atanf'.
11514         * modules/atanf-tests: New file.
11515         * tests/test-atanf.c: New file.
11516
11517         New module 'atanf'.
11518         * lib/math.in.h (atanf): New declaration.
11519         * lib/atanf.c: New file.
11520         * m4/atanf.m4: New file.
11521         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11522         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11523         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11524         * modules/atanf: New file.
11525         * tests/test-math-c++.cc: Check the declaration of atanf.
11526         * doc/posix-functions/atanf.texi: Mention the new module.
11527
11528         atan: Use a .m4 file.
11529         * m4/atan.m4: New file.
11530         * modules/atan (Files): Add it.
11531         (configure.ac): Just invoke gl_FUNC_ATAN.
11532
11533 2011-10-08  Bruno Haible  <bruno@clisp.org>
11534
11535         Tests for module 'acosf'.
11536         * modules/acosf-tests: New file.
11537         * tests/test-acosf.c: New file.
11538
11539         New module 'acosf'.
11540         * lib/math.in.h (acosf): New declaration.
11541         * lib/acosf.c: New file.
11542         * m4/acosf.m4: New file.
11543         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11545         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11546         * modules/acosf: New file.
11547         * tests/test-math-c++.cc: Check the declaration of acosf.
11548         * doc/posix-functions/acosf.texi: Mention the new module.
11549
11550         acos: Use a .m4 file.
11551         * m4/acos.m4: New file.
11552         * modules/acos (Files): Add it.
11553         (configure.ac): Just invoke gl_FUNC_ACOS.
11554
11555 2011-10-08  Bruno Haible  <bruno@clisp.org>
11556
11557         Tests for module 'asinf'.
11558         * modules/asinf-tests: New file.
11559         * tests/test-asinf.c: New file.
11560
11561         New module 'asinf'.
11562         * lib/math.in.h (asinf): New declaration.
11563         * lib/asinf.c: New file.
11564         * m4/asinf.m4: New file.
11565         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11567         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11568         * modules/asinf: New file.
11569         * tests/test-math-c++.cc: Check the declaration of asinf.
11570         * doc/posix-functions/asinf.texi: Mention the new module.
11571
11572         asin: Use a .m4 file.
11573         * m4/asin.m4: New file.
11574         * modules/asin (Files): Add it.
11575         (configure.ac): Just invoke gl_FUNC_ASIN.
11576
11577 2011-10-08  Bruno Haible  <bruno@clisp.org>
11578
11579         Tests for module 'tanf'.
11580         * modules/tanf-tests: New file.
11581         * tests/test-tanf.c: New file.
11582
11583         New module 'tanf'.
11584         * lib/math.in.h (tanf): New declaration.
11585         * lib/tanf.c: New file.
11586         * m4/tanf.m4: New file.
11587         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11589         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11590         * modules/tanf: New file.
11591         * tests/test-math-c++.cc: Check the declaration of tanf.
11592         * doc/posix-functions/tanf.texi: Mention the new module.
11593
11594         tan: Use a .m4 file.
11595         * m4/tan.m4: New file.
11596         * modules/tan (Files): Add it.
11597         (configure.ac): Just invoke gl_FUNC_TAN.
11598
11599 2011-10-08  Bruno Haible  <bruno@clisp.org>
11600
11601         Tests for module 'cosf'.
11602         * modules/cosf-tests: New file.
11603         * tests/test-cosf.c: New file.
11604
11605         New module 'cosf'.
11606         * lib/math.in.h (cosf): New declaration.
11607         * lib/cosf.c: New file.
11608         * m4/cosf.m4: New file.
11609         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11611         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11612         * modules/cosf: New file.
11613         * tests/test-math-c++.cc: Check the declaration of cosf.
11614         * doc/posix-functions/cosf.texi: Mention the new module.
11615
11616         cos: Use a .m4 file.
11617         * m4/cos.m4: New file.
11618         * modules/cos (Files): Add it.
11619         (configure.ac): Just invoke gl_FUNC_COS.
11620
11621 2011-10-08  Bruno Haible  <bruno@clisp.org>
11622
11623         Tests for module 'sinf'.
11624         * modules/sinf-tests: New file.
11625         * tests/test-sinf.c: New file.
11626
11627         New module 'sinf'.
11628         * lib/math.in.h (sinf): New declaration.
11629         * lib/sinf.c: New file.
11630         * m4/sinf.m4: New file.
11631         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11632         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11633         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11634         * modules/sinf: New file.
11635         * tests/test-math-c++.cc: Check the declaration of sinf.
11636         * doc/posix-functions/sinf.texi: Mention the new module.
11637
11638         sin: Use a .m4 file.
11639         * m4/sin.m4: New file.
11640         * modules/sin (Files): Add it.
11641         (configure.ac): Just invoke gl_FUNC_SIN.
11642
11643 2011-10-08  Bruno Haible  <bruno@clisp.org>
11644
11645         Tests for module 'powf'.
11646         * modules/powf-tests: New file.
11647         * tests/test-powf.c: New file.
11648
11649         New module 'powf'.
11650         * lib/math.in.h (powf): New declaration.
11651         * lib/powf.c: New file.
11652         * m4/powf.m4: New file.
11653         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11654         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11655         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11656         * modules/powf: New file.
11657         * tests/test-math-c++.cc: Check the declaration of powf.
11658         * doc/posix-functions/powf.texi: Mention the new module.
11659
11660         pow: Use a .m4 file.
11661         * m4/pow.m4: New file.
11662         * modules/pow (Files): Add it.
11663         (configure.ac): Just invoke gl_FUNC_POW.
11664
11665 2011-10-08  Bruno Haible  <bruno@clisp.org>
11666
11667         Tests for module 'log10f'.
11668         * modules/log10f-tests: New file.
11669         * tests/test-log10f.c: New file.
11670
11671         New module 'log10f'.
11672         * lib/math.in.h (log10f): New declaration.
11673         * lib/log10f.c: New file.
11674         * m4/log10f.m4: New file.
11675         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11677         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11678         * modules/log10f: New file.
11679         * tests/test-math-c++.cc: Check the declaration of log10f.
11680         * doc/posix-functions/log10f.texi: Mention the new module.
11681
11682         log10: Use a .m4 file.
11683         * m4/log10.m4: New file.
11684         * modules/log10 (Files): Add it.
11685         (configure.ac): Just invoke gl_FUNC_LOG10.
11686
11687 2011-10-08  Bruno Haible  <bruno@clisp.org>
11688
11689         Tests for module 'logf'.
11690         * modules/logf-tests: New file.
11691         * tests/test-logf.c: New file.
11692
11693         New module 'logf'.
11694         * lib/math.in.h (logf): New declaration.
11695         * lib/logf.c: New file.
11696         * m4/logf.m4: New file.
11697         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11698         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11699         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11700         * modules/logf: New file.
11701         * tests/test-math-c++.cc: Check the declaration of logf.
11702         * doc/posix-functions/logf.texi: Mention the new module.
11703
11704         log: Use a .m4 file.
11705         * m4/log.m4: New file.
11706         * modules/log (Files): Add it.
11707         (configure.ac): Just invoke gl_FUNC_LOG.
11708
11709 2011-10-08  Bruno Haible  <bruno@clisp.org>
11710
11711         Tests for module 'expf'.
11712         * modules/expf-tests: New file.
11713         * tests/test-expf.c: New file.
11714
11715         New module 'expf'.
11716         * lib/math.in.h (expf): New declaration.
11717         * lib/expf.c: New file.
11718         * m4/expf.m4: New file.
11719         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11720         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11721         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11722         * modules/expf: New file.
11723         * tests/test-math-c++.cc: Check the declaration of expf.
11724         * doc/posix-functions/expf.texi: Mention the new module.
11725
11726         exp: Use a .m4 file.
11727         * m4/exp.m4: New file.
11728         * modules/exp (Files): Add it.
11729         (configure.ac): Just invoke gl_FUNC_EXP.
11730
11731 2011-10-08  Bruno Haible  <bruno@clisp.org>
11732
11733         Tests for module 'sqrtf'.
11734         * modules/sqrtf-tests: New file.
11735         * tests/test-sqrtf.c: New file.
11736
11737         New module 'sqrtf'.
11738         * lib/math.in.h (sqrtf): New declaration.
11739         * lib/sqrtf.c: New file.
11740         * m4/sqrtf.m4: New file.
11741         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11742         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11743         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11744         * modules/sqrtf: New file.
11745         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11746         * doc/posix-functions/sqrtf.texi: Mention the new module.
11747
11748 2011-10-08  Bruno Haible  <bruno@clisp.org>
11749
11750         Tests: Avoid link failures w.r.t. libintl.
11751         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11752         $(LIBINTL).
11753         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11754         $(LIBINTL).
11755         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11756         against $(LIBINTL).
11757         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11758         $(LIBINTL).
11759         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11760         $(LIBINTL).
11761         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11762
11763 2011-10-08  Bruno Haible  <bruno@clisp.org>
11764
11765         pow tests: Defeat compiler optimizations.
11766         * tests/test-pow.c (main): Assign arguments to x and y before use.
11767
11768 2011-10-08  Bruno Haible  <bruno@clisp.org>
11769
11770         gnulib-tool: Improve last commit.
11771         * gnulib-tool (func_modules_transitive_closure): Simplify code.
11772         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11773         ignore dependencies that are not among the modules list.
11774
11775 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         gnulib-tool: don't follow dependencies to avoided modules
11778         This fixes a bug that is related to the previous one.
11779         * gnulib-tool (func_modules_transitive_closure)
11780         (func_emit_autoconf_snippets):
11781         Check whether a dependency is acceptable before using it.
11782         (--extract-dependencies): Report an error if --avoid is also used,
11783         since this combination of options is not yet supported.
11784
11785         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
11786         Problem reported by Peter Dyballa in
11787         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
11788         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
11789         when echoing "$condition".
11790
11791 2011-10-07  Bruno Haible  <bruno@clisp.org>
11792
11793         Fix documentation about math functions on MacOS X.
11794         * doc/posix-functions/exp2.texi: Don't say the function is missing on
11795         MacOS X 10.5.
11796         * doc/posix-functions/fdim.texi: Likewise.
11797         * doc/posix-functions/feclearexcept.texi: Likewise.
11798         * doc/posix-functions/fegetenv.texi: Likewise.
11799         * doc/posix-functions/fegetround.texi: Likewise.
11800         * doc/posix-functions/feholdexcept.texi: Likewise.
11801         * doc/posix-functions/feraiseexcept.texi: Likewise.
11802         * doc/posix-functions/fesetenv.texi: Likewise.
11803         * doc/posix-functions/fesetround.texi: Likewise.
11804         * doc/posix-functions/fetestexcept.texi: Likewise.
11805         * doc/posix-functions/feupdateenv.texi: Likewise.
11806         * doc/posix-functions/fmax.texi: Likewise.
11807         * doc/posix-functions/fmin.texi: Likewise.
11808         * doc/posix-functions/log2.texi: Likewise.
11809         * doc/posix-functions/modff.texi: Likewise.
11810         * doc/posix-functions/nan.texi: Likewise.
11811         * doc/posix-functions/nanf.texi: Likewise.
11812         * doc/posix-functions/nextafterf.texi: Likewise.
11813         * doc/posix-functions/remquo.texi: Likewise.
11814
11815 2011-10-07  Bruno Haible  <bruno@clisp.org>
11816
11817         modff: Drop assumption about library that defines modff.
11818         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
11819         AC_CHECK_FUNCS.
11820         * modules/modff (Files): Add m4/mathfunc.m4.
11821
11822 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
11823
11824         raise tests: Avoid a GCC warning.
11825         * tests/test-raise.c (handler): Use _Noreturn.
11826
11827 2011-10-07  Bruno Haible  <bruno@clisp.org>
11828
11829         Tests for module 'ldexpf'.
11830         * modules/ldexpf-tests: New file.
11831         * tests/test-ldexpf.c: New file.
11832
11833         New module 'ldexpf'.
11834         * lib/math.in.h (ldexpf): New declaration.
11835         * lib/ldexpf.c: New file.
11836         * m4/ldexpf.m4: New file.
11837         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
11838         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
11839         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
11840         * modules/ldexpf: New file.
11841         * tests/test-math-c++.cc: Check the declaration of ldexpf.
11842         * doc/posix-functions/ldexpf.texi: Mention the new module.
11843
11844 2011-10-06  Bruno Haible  <bruno@clisp.org>
11845
11846         frexpf: Work around problems on IRIX and mingw.
11847         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
11848         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
11849         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
11850         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
11851         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
11852         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
11853         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
11854
11855 2011-10-06  Bruno Haible  <bruno@clisp.org>
11856
11857         fabsf: Drop assumption about library that defines fabsf.
11858         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
11859         AC_CHECK_FUNCS.
11860         * modules/fabsf (Files): Add m4/mathfunc.m4.
11861
11862 2011-10-06  Bruno Haible  <bruno@clisp.org>
11863
11864         frexpf: Drop assumption about library that defines frexpf.
11865         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
11866         'int *', 'float *', 'long double *', 'float', 'long double'.
11867         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
11868         AC_CHECK_FUNCS.
11869         * modules/frexpf (Files): Add m4/mathfunc.m4.
11870
11871         Tests for module 'frexpf'.
11872         * modules/frexpf-tests: New file.
11873         * tests/test-frexpf.c: New file.
11874
11875         New module 'frexpf'.
11876         * lib/math.in.h (frexpf): New declaration.
11877         * lib/frexpf.c: New file.
11878         * m4/frexpf.m4: New file.
11879         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
11880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
11881         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
11882         * modules/frexpf: New file.
11883         * tests/test-math-c++.cc: Check the declaration of frexpf.
11884         * doc/posix-functions/frexpf.texi: Mention the new module.
11885
11886 2011-10-06  Bruno Haible  <bruno@clisp.org>
11887
11888         math: Sort function declarations of math.in.h.
11889         * lib/math.in.h (frexp, logb): Move declarations.
11890
11891 2011-10-05  Bruno Haible  <bruno@clisp.org>
11892
11893         Tests for module 'modff'.
11894         * modules/modff-tests: New file.
11895         * tests/test-modff.c: New file.
11896
11897         New module 'modff'.
11898         * lib/math.in.h (modff): New declaration.
11899         * lib/modff.c: New file.
11900         * m4/modff.m4: New file.
11901         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
11902         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
11903         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
11904         * modules/modff: New file.
11905         * tests/test-math-c++.cc: Check the declaration of modff.
11906         * doc/posix-functions/modff.texi: Mention the new module.
11907
11908         modf tests: Make test sharper.
11909         * tests/test-modf.c (main): Strengthen upper bound.
11910
11911         modf: Use a .m4 file.
11912         * m4/modf.m4: New file.
11913         * modules/modf (Files): Add it.
11914         (configure.ac): Just invoke gl_FUNC_MODF.
11915
11916 2011-10-05  Bruno Haible  <bruno@clisp.org>
11917
11918         Tests for module 'fmodf'.
11919         * modules/fmodf-tests: New file.
11920         * tests/test-fmodf.c: New file.
11921
11922         New module 'fmodf'.
11923         * lib/math.in.h (fmodf): New declaration.
11924         * lib/fmodf.c: New file.
11925         * m4/fmodf.m4: New file.
11926         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
11927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
11928         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
11929         * modules/fmodf: New file.
11930         * tests/test-math-c++.cc: Check the declaration of fmodf.
11931         * doc/posix-functions/fmodf.texi: Mention the new module.
11932
11933         fmod: Use a .m4 file.
11934         * m4/fmod.m4: New file.
11935         * modules/fmod (Files): Add it.
11936         (configure.ac): Just invoke gl_FUNC_FMOD.
11937
11938 2011-10-05  Bruno Haible  <bruno@clisp.org>
11939
11940         Tests for module 'fabsf'.
11941         * modules/fabsf-tests: New file.
11942         * tests/test-fabsf.c: New file.
11943
11944         New module 'fabsf'.
11945         * lib/math.in.h (fabsf): New declaration.
11946         * lib/fabsf.c: New file.
11947         * m4/fabsf.m4: New file.
11948         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
11949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
11950         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
11951         * modules/fabsf: New file.
11952         * tests/test-math-c++.cc: Check the declaration of fabsf.
11953         * doc/posix-functions/fabsf.texi: Mention the new module.
11954
11955         fabs: Use a .m4 file.
11956         * m4/fabs.m4: New file.
11957         * modules/fabs (Files): Add it.
11958         (configure.ac): Just invoke gl_FUNC_FABS.
11959
11960 2011-10-05  Jim Meyering  <meyering@redhat.com>
11961
11962         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
11963         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
11964         ls -lL regression introduced in coreutils-8.12, it does so at the
11965         cost of an additional stat call in the common case.  Besides, now
11966         that the kernel change that prompted commit 95f7c57f has been reverted
11967         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
11968         we have no use for commit 95f7c57f, "file-has-acl: use
11969         acl_extended_file_nofollow if available".
11970
11971 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
11972
11973         file-has-acl: revert unintended change in behavior of ls -L
11974         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
11975         derived from...
11976         (file_has_acl): ...code here.  Call it.
11977         This problem was introduced with 2011-07-22 commit 95f7c57f,
11978         "file-has-acl: use acl_extended_file_nofollow if available".
11979         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
11980
11981 2011-10-03  Bruno Haible  <bruno@clisp.org>
11982
11983         poll: Avoid link errors on MSVC.
11984         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
11985         * modules/poll (Depends-on): Add sockets.
11986         (Link): New section.
11987         * NEWS: Mention the change.
11988         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
11989         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
11990         $(LIB_POLL) instead of $(LIBSOCKET).
11991
11992 2011-10-03  Bruno Haible  <bruno@clisp.org>
11993
11994         sys_select tests: Fix link error on MSVC 9.
11995         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
11996         with $(LIB_SELECT) instead of $(LIBSOCKET).
11997
11998 2011-10-03  Bruno Haible  <bruno@clisp.org>
11999
12000         sys_select: Fix compilation error on mingw.
12001         * lib/sys_select.in.h: On native Windows, include <io.h>.
12002
12003 2011-10-03  Bruno Haible  <bruno@clisp.org>
12004
12005         wmemset: Support for MSVC.
12006         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12007         whether wmemset() exists.
12008
12009 2011-10-03  Bruno Haible  <bruno@clisp.org>
12010
12011         wmemmove: Support for MSVC.
12012         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12013         whether wmemmove() exists.
12014
12015 2011-10-03  Bruno Haible  <bruno@clisp.org>
12016
12017         wmemcpy: Support for MSVC.
12018         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12019         whether wmemcpy() exists.
12020
12021 2011-10-03  Bruno Haible  <bruno@clisp.org>
12022
12023         wmemcmp: Support for MSVC.
12024         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12025         whether wmemcmp() exists.
12026
12027 2011-10-03  Bruno Haible  <bruno@clisp.org>
12028
12029         wmemchr: Support for MSVC.
12030         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12031         whether wmemchr() exists.
12032
12033 2011-10-03  Bruno Haible  <bruno@clisp.org>
12034
12035         glthread/*, strsignal: Support for MSVC.
12036         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12037         including <winsock.h> on MSVC 9.
12038         * lib/glthread/lock.h: Likewise.
12039         * lib/glthread/thread.h: Likewise.
12040         * lib/glthread/tls.h: Likewise.
12041         * lib/glthread/yield.h: Likewise.
12042         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12043         if HAVE_UNISTD_H is false.
12044         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12045
12046 2011-10-03  Bruno Haible  <bruno@clisp.org>
12047
12048         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12049         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12050         Set to 100000.
12051
12052 2011-10-03  Bruno Haible  <bruno@clisp.org>
12053
12054         acl: Fix specification.
12055         * lib/file-has-acl.c (file_has_acl): Fix specification.
12056
12057 2011-10-03  Bruno Haible  <bruno@clisp.org>
12058
12059         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12060         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12061         (compute_curr_prefix, shared_library_fullname,
12062         find_shared_library_fullname, get_shared_library_fullname, relocate):
12063         Use it together with PIC && INSTALLDIR.
12064         Reported by <jojelino@gmail.com>
12065         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12066
12067 2011-10-01  Jim Meyering  <meyering@redhat.com>
12068
12069         maint.mk: adjust a release-related rule not to require use of gzip
12070         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12071         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12072         projects that build only .tar.xz files.  Also fix an erroneous test.
12073
12074         test-linkat: don't leave behind a temporary file
12075         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12076         Otherwise, coreutils' "make distcheck" would fail with this:
12077           Only in /c/cu/tests/torture/coreutils/test/\
12078             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12079           make[2]: *** [my-distcheck] Error 1
12080
12081         float, math: add omitted file
12082         * lib/itold.c: Add file, required for yesterday's float change.
12083
12084 2011-10-01  Bruno Haible  <bruno@clisp.org>
12085
12086         isinf: Fix for OpenBSD/x86.
12087         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12088         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12089         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12090
12091 2011-10-01  Bruno Haible  <bruno@clisp.org>
12092
12093         isfinite: Fix syntax error in configure test.
12094         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12095
12096         isfinite: Fix typo.
12097         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12098         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12099
12100 2011-10-01  Bruno Haible  <bruno@clisp.org>
12101
12102         nonblocking tests: Fix test failure on Linux/IA-64.
12103         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12104         Set to 270000.
12105
12106 2011-10-01  Bruno Haible  <bruno@clisp.org>
12107
12108         mkfifoat tests: Fix a test failure on mingw.
12109         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12110         with error ENOSYS.
12111
12112 2011-09-30  Bruno Haible  <bruno@clisp.org>
12113
12114         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12115         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12116         'long double'. Set REPLACE_ITOLD.
12117         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12118         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12119         * lib/itold.c: New file.
12120         * modules/float (Files): Add lib/itold.c.
12121         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12122         (Makefile.am): Substitute REPLACE_ITOLD.
12123         * modules/math (Depends-on): Add float.
12124         (Makefile.am): Substitute REPLACE_ITOLD.
12125         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12126         * doc/posix-headers/math.texi: Likewise.
12127         * doc/posix-functions/logl.texi: Likewise.
12128
12129 2011-09-30  Bruno Haible  <bruno@clisp.org>
12130
12131         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12132         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12133         Set to 140000.
12134
12135 2011-09-30  Bruno Haible  <bruno@clisp.org>
12136
12137         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12138         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12139         invocation, say "right after AC_PROG_CC_STDC", not "right after
12140         AC_PROG_CC".
12141         Reported by Gary V. Vaughan <gary@gnu.org>.
12142
12143 2011-09-30  Bruno Haible  <bruno@clisp.org>
12144
12145         Centralize C99 requirement.
12146         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12147         * modules/stdarg (configure.ac-early): Invoke it instead of
12148         AC_PROG_CC_STDC.
12149         Reported by Gary V. Vaughan and Paul Eggert.
12150
12151 2011-09-29  Bruno Haible  <bruno@clisp.org>
12152
12153         float: Fix LDBL_MAX value on Linux/PowerPC.
12154         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12155         on Linux/PowerPC.
12156         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12157         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12158         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12159         platform.
12160         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12161
12162 2011-09-29  Bruno Haible  <bruno@clisp.org>
12163
12164         doc: Improve doc about gl_EARLY.
12165         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12166         AC_PROG_CC_STDC invocation.
12167         Reported by Gary V. Vaughan <gary@gnu.org>.
12168
12169 2011-09-28  Bruno Haible  <bruno@clisp.org>
12170
12171         fgetc, fputc, fread, fwrite tests: Fix link error.
12172         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12173         on non-MSVC platforms.
12174         * tests/test-fputc.c (main): Likewise.
12175         * tests/test-fread.c (main): Likewise.
12176         * tests/test-fwrite.c (main): Likewise.
12177         Reported by Jim Meyering.
12178
12179 2011-09-27  Bruno Haible  <bruno@clisp.org>
12180
12181         fputc, fwrite tests: Avoid test failure on MSVC.
12182         * tests/test-fgetc.c: Include msvc-inval.h.
12183         (main): Invoke gl_msvc_inval_ensure_handler.
12184         * tests/test-fputc.c: Include msvc-inval.h.
12185         (main): Invoke gl_msvc_inval_ensure_handler.
12186         * tests/test-fread.c: Include msvc-inval.h.
12187         (main): Invoke gl_msvc_inval_ensure_handler.
12188         * tests/test-fwrite.c: Include msvc-inval.h.
12189         (main): Invoke gl_msvc_inval_ensure_handler.
12190         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12191         * modules/fputc-tests (Depends-on): Likewise.
12192         * modules/fread-tests (Depends-on): Likewise.
12193         * modules/fwrite-tests (Depends-on): Likewise.
12194
12195 2011-09-27  Bruno Haible  <bruno@clisp.org>
12196
12197         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12198         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12199         (raise): Remove older, duplicated declaration.
12200         (_gl_raise_SIGPIPE): New declaration.
12201         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12202         (rpl_raise): Remove function.
12203         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12204         a gnulib-defined SIGPIPE here.
12205         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12206         'sigprocmask' has detected missing signal-blocking and the module
12207         'sigpipe' is enabled.
12208         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12209
12210 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12211
12212         base64-tests: avoid memory leak
12213         * tests/test-base64.c (main): Plug memory leak.
12214
12215         base32: new module
12216         * modules/base32: New module.
12217         * lib/base32.c: New file.
12218         * lib/base32.h: Likewise.
12219         * m4/base32.m4: Likewise.
12220         * modules/base32-tests: New test.
12221         * tests/test-base32.c: Likewise.
12222         * MODULES.html.sh (Misc): Mention it.
12223
12224 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12225
12226         gnulib: use more-standard license notice wording
12227         * gnulib-tool (func_emit_copyright_notice): When emitting a
12228         license notice into a file, use the standard wording as suggested
12229         by the current information for GNU maintainers, except say "file"
12230         rather than "program".  The new wording gives a license version
12231         number, which addresses an issue raised by Glenn Morris in
12232         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12233         * m4/onceonly.m4: Use that same wording here, too.
12234
12235         dup2: minor simplification
12236         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12237         as lib/dup2.c no longer uses 'inline'.
12238
12239 2011-09-25  Bruno Haible  <bruno@clisp.org>
12240
12241         strings: Fix compilation error on MSVC.
12242         * lib/strings.in.h: Include <stddef.h> for size_t.
12243
12244 2011-09-25  Bruno Haible  <bruno@clisp.org>
12245
12246         fflush et al.: Document limitation on MSVC.
12247         * doc/posix-functions/fflush.texi: Document possible crash in handling
12248         mode other than DEFAULT_HANDLING.
12249         * doc/posix-functions/fgetc.texi: Likewise.
12250         * doc/posix-functions/fputc.texi: Likewise.
12251         * doc/posix-functions/fread.texi: Likewise.
12252         * doc/posix-functions/fwrite.texi: Likewise.
12253
12254 2011-09-25  Bruno Haible  <bruno@clisp.org>
12255
12256         msvc-inval: Allow three invalid parameter handling modes.
12257         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12258         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12259         macros.
12260         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12261         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12262         SANE_LIBRARY_HANDLING as a no-op.
12263         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12264         <stdlib.h>.
12265         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12266
12267 2011-09-25  Bruno Haible  <bruno@clisp.org>
12268
12269         msvc-inval: Make handler multithread-safe.
12270         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12271         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12272         declarations.
12273         (gl_msvc_inval_current): New declaration.
12274         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12275         Operate on the structure returned by gl_msvc_inval_current().
12276         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12277         Remove varaiables.
12278         (tls_index, tls_initialized): New variables.
12279         (not_per_thread): New variable.
12280         (gl_msvc_inval_current): New function.
12281         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12282         returned by gl_msvc_inval_current().
12283
12284 2011-09-25  Bruno Haible  <bruno@clisp.org>
12285
12286         msvc-inval: Install handler globally.
12287         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12288         !_MSC_VER.
12289         (gl_msvc_invalid_parameter_handler): Remove declaration.
12290         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12291         declarations.
12292         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12293         Install the handler globally, don't uninstall it.
12294         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12295         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12296         currently valid, call RaiseException instead.
12297         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12298         for !_MSC_VER.
12299
12300 2011-09-25  Bruno Haible  <bruno@clisp.org>
12301
12302         strerror_r-posix: Fix for MSVC 9.
12303         * lib/strerror_r.c (local_snprintf): New function.
12304         (snprintf): Define to local_snprintf, not to _snprintf.
12305
12306 2011-09-25  Bruno Haible  <bruno@clisp.org>
12307
12308         ftruncate: Support for MSVC 9.
12309         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12310         (chsize_nothrow): New function.
12311         (chsize): Redefine as a macro.
12312         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12313         * modules/ftruncate (Depends-on): Add msvc-inval.
12314
12315 2011-09-25  Bruno Haible  <bruno@clisp.org>
12316
12317         New module 'fstat'.
12318         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12319         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12320         * lib/fchdir.c (rpl_fstat): Remove function.
12321         * m4/fstat.m4: New file.
12322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12323         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12324         declared.
12325         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12326         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12327         * modules/fstat: New file.
12328         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12329         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12330         is set.
12331         * doc/posix-functions/fstat.texi: Mention the new module and the
12332         problem on MSVC.
12333         * NEWS: Mention the change.
12334         * modules/acl (Depends-on): Add fstat.
12335         * modules/chdir-safer (Depends-on): Likewise.
12336         * modules/chown (Depends-on): Likewise.
12337         * modules/copy-file (Depends-on): Likewise.
12338         * modules/fchdir (Depends-on): Likewise.
12339         * modules/fdopendir (Depends-on): Likewise.
12340         * modules/fopen (Depends-on): Likewise.
12341         * modules/fts (Depends-on): Likewise.
12342         * modules/getcwd (Depends-on): Likewise.
12343         * modules/isapipe (Depends-on): Likewise.
12344         * modules/linkat (Depends-on): Likewise.
12345         * modules/lseek (Depends-on): Likewise.
12346         * modules/mkdir-p (Depends-on): Likewise.
12347         * modules/open (Depends-on): Likewise.
12348         * modules/openat (Depends-on): Likewise.
12349         * modules/read-file (Depends-on): Likewise.
12350         * modules/renameat (Depends-on): Likewise.
12351         * modules/utimens (Depends-on): Likewise.
12352
12353 2011-09-25  Bruno Haible  <bruno@clisp.org>
12354
12355         linkat: Fix compilation on MSVC 9.
12356         * lib/linkat.c: Don't include <stdint.h>.
12357
12358 2011-09-25  Bruno Haible  <bruno@clisp.org>
12359
12360         fclose: Support for MSVC 9.
12361         * lib/fclose.c: Include msvc-inval.h.
12362         (fclose_nothrow): New function.
12363         (rpl_fclose): Use it.
12364         * modules/fclose (Depends-on): Add msvc-inval.
12365         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12366
12367 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12368
12369         dup2: minor simplifications
12370         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12371         that it's a performance win.
12372         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12373         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12374
12375 2011-09-24  Jim Meyering  <meyering@redhat.com>
12376
12377         test-futimens: avoid a warning from gcc -Wshadow
12378         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12379         to avoid a shadowing warning.
12380
12381 2011-09-24  Bruno Haible  <bruno@clisp.org>
12382
12383         fdopen: Support for MSVC 9.
12384         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12385         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12386         * lib/fdopen.c: Include msvc-inval.h.
12387         (fdopen_nothrow): New function.
12388         (rpl_fdopen): Use it.
12389         * modules/fdopen (Depends-on): Add msvc-inval.
12390         * modules/fclose-tests (Depends-on): Add fdopen.
12391         * modules/fflush-tests (Depends-on): Likewise.
12392         * modules/fgetc-tests (Depends-on): Likewise.
12393         * modules/fputc-tests (Depends-on): Likewise.
12394         * modules/fread-tests (Depends-on): Likewise.
12395         * modules/freopen-tests (Depends-on): Likewise.
12396         * modules/fseeko-tests (Depends-on): Likewise.
12397         * modules/ftello-tests (Depends-on): Likewise.
12398         * modules/fwrite-tests  (Depends-on): Likewise.
12399         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12400
12401 2011-09-24  Bruno Haible  <bruno@clisp.org>
12402
12403         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12404         * modules/fgetc-tests (Depends-on): Add unistd.
12405         * modules/fputc-tests (Depends-on): Likewise.
12406         * modules/fread-tests (Depends-on): Likewise.
12407         * modules/fwrite-tests (Depends-on): Likewise.
12408
12409 2011-09-24  Bruno Haible  <bruno@clisp.org>
12410
12411         dup: Simplify autoconf test.
12412         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12413         on gl_MSVC_INVAL's result.
12414
12415 2011-09-24  Bruno Haible  <bruno@clisp.org>
12416
12417         Tests for function fwrite().
12418         * modules/fwrite-tests: New file.
12419         * tests/test-fwrite.c: New file.
12420         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12421
12422         Tests for function fread().
12423         * modules/fread-tests: New file.
12424         * tests/test-fread.c: New file.
12425         * modules/stdio-tests (Depends-on): Add fread-tests.
12426
12427         Activate fputc tests.
12428         * modules/stdio-tests (Depends-on): Add fputc-tests.
12429
12430         Enhance fgetc, fputc tests.
12431         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12432         * tests/test-fputc.c (main): Likewise.
12433
12434 2011-09-24  Bruno Haible  <bruno@clisp.org>
12435
12436         write: Support for MSVC 9.
12437         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12438         is not 1.
12439         * lib/write.c (write_nothrow): New function.
12440         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12441         not 1. Use write_nothrow.
12442         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12443         invalid parameter handler.
12444         (gl_PREREQ_WRITE): New macro.
12445         * modules/write (Depends-on): Add msvc-inval.
12446         (configure.ac): Invoke gl_PREREQ_WRITE.
12447         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12448
12449 2011-09-24  Bruno Haible  <bruno@clisp.org>
12450
12451         read: Fix last commit.
12452         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12453
12454 2011-09-24  Bruno Haible  <bruno@clisp.org>
12455
12456         dup2: Fix last commit.
12457         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12458         (rpl_dup2): Disable fcntl workaround on native Windows.
12459
12460         sigprocmask: Make code safer.
12461         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12462         section that changes macro definitions for this compilation unit.
12463
12464 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12465
12466         dup2: clarify by coalescing Windows-specific material
12467         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12468         "msvc-nothrow.h"' to the Windows-specific section, so that the
12469         Emacs source need not contain these include files.
12470         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12471         Windows-specific fixes into this function rather than just the
12472         nothrow fix, as this shortens and clarifies the code.  Always
12473         define as a function, as that's a bit cleaner than having it be
12474         sometimes a function and sometimes a macro.
12475         (rpl_dup2): Move the Windows-specific stuff out of here and into
12476         ms_windows_dup2.  Don't protect the Haiku-related fix with
12477         "#if !defined __linux__", as the same code also works around
12478         a Linux kernel bug, and it doesn't add any system calls on any
12479         platform.  Add comment about FreeBSD 6.1.
12480
12481         sigprocmask: move #include directive
12482         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12483         Windows-specific section, so that the Emacs source need not
12484         contain msvc-inval.h.
12485
12486 2011-09-23  Bruno Haible  <bruno@clisp.org>
12487
12488         read: Support for MSVC 9.
12489         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12490         is not 1.
12491         * lib/read.c (read_nothrow): New function.
12492         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12493         read_nothrow.
12494         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12495         invalid parameter handler.
12496         (gl_PREREQ_READ): New macro.
12497         * modules/read (Depends-on): Add msvc-inval.
12498         (configure.ac): Invoke gl_PREREQ_READ.
12499         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12500
12501 2011-09-23  Bruno Haible  <bruno@clisp.org>
12502
12503         close: Support for MSVC 9.
12504         * lib/close.c: Include <errno.h>, msvc-inval.h.
12505         (close_nothrow): New function.
12506         (rpl_close): Use it.
12507         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12508         invalid parameter handler.
12509         * modules/close (Depends-on): Add msvc-inval.
12510         * modules/dup2-tests (Depends-on): Add close.
12511         * modules/dup3-tests (Depends-on): Likewise.
12512         * modules/fcntl-tests (Depends-on): Likewise.
12513         * modules/spawn-pipe-tests (Depends-on): Likewise.
12514         * modules/unistd-safer-tests (Depends-on): Likewise.
12515         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12516
12517 2011-09-23  Bruno Haible  <bruno@clisp.org>
12518
12519         New module 'dup'.
12520         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12521         Allow replacement.
12522         * lib/dup.c: New file.
12523         * lib/fchdir.c (rpl_dup): Remove function.
12524         * m4/dup.m4: New file.
12525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12526         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12527         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12528         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12529         * modules/dup: New file.
12530         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12531         'dup' module is in use.
12532         * modules/fdopendir (Depends-on): Add dup.
12533         * modules/fdutimensat-tests (Depends-on): Likewise.
12534         * modules/fts (Depends-on): Likewise.
12535         * modules/futimens-tests (Depends-on): Likewise.
12536         * modules/posix_spawnp-tests (Depends-on): Likewise.
12537         * modules/unistd-safer-tests (Depends-on): Likewise.
12538         * modules/utimens-tests (Depends-on): Likewise.
12539         * doc/posix-functions/dup.texi: Mention the new module and the problem
12540         on MSVC.
12541
12542 2011-09-23  Bruno Haible  <bruno@clisp.org>
12543
12544         getdtablesize: Support for MSVC 9.
12545         * lib/getdtablesize.c: Include msvc-inval.h.
12546         (_setmaxstdio_nothrow): New function.
12547         (_setmaxstdio): Redefine it.
12548         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12549         * modules/getdtablesize (Depends-on): Add msvc-inval.
12550         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12551
12552 2011-09-23  Bruno Haible  <bruno@clisp.org>
12553
12554         signal-h: Rename from signal.
12555         * modules/signal-h: Renamed from modules/signal.
12556         * modules/pthread_sigmask (Depends-on): Update.
12557         * modules/raise (Depends-on): Likewise.
12558         * modules/sigaction (Depends-on): Likewise.
12559         * modules/sigpipe (Depends-on): Likewise.
12560         * modules/sigprocmask (Depends-on): Likewise.
12561         * modules/sys_select (Depends-on): Likewise.
12562         * modules/signal-h-tests: Renamed from modules/signal-tests.
12563         (Files, Depends-on, Makefile.am): Update.
12564         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12565         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12566         (Files, Makefile.am): Update.
12567         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12568         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12569         * modules/signal: New placeholder file.
12570         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12571         * doc/posix-headers/signal.texi: Update.
12572         * NEWS: Mention the change.
12573
12574 2011-09-23  Bruno Haible  <bruno@clisp.org>
12575
12576         sigprocmask: Avoid crashes through signal() on MSVC 9.
12577         * lib/sigprocmask.c: Include msvc-inval.h.
12578         (signal_nothrow): New function.
12579         (signal): Redefine it.
12580         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12581         * modules/sigprocmask (Depends-on): Add msvc-inval.
12582         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12583
12584 2011-09-23  Bruno Haible  <bruno@clisp.org>
12585
12586         Tests for module 'raise'.
12587         * modules/raise-tests: New file.
12588         * tests/test-raise.c: New file.
12589
12590         raise: Support for MSVC.
12591         * lib/signal.in.h (raise): New declaration.
12592         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12593         for native Windows platforms.
12594         * m4/raise.m4: New file.
12595         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12596         HAVE_RAISE, REPLACE_RAISE.
12597         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12598         REPLACE_RAISE.
12599         * modules/raise (Status, Notice): Remove fields.
12600         (Files): Add m4/raise.m4.
12601         (Depends-on): Add signal, msvc-inval.
12602         (configure.ac): Use the common idioms.
12603         (Maintainer): Add me.
12604         * tests/test-signal-c++.cc: Check the signature of raise.
12605         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12606
12607 2011-09-23  Bruno Haible  <bruno@clisp.org>
12608
12609         pipe2: Fix compilation on pre-C99 compilers.
12610         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12611
12612 2011-09-23  Bruno Haible  <bruno@clisp.org>
12613
12614         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12615         * lib/msvc-nothrow.h: New file.
12616         * lib/msvc-nothrow.c: New file.
12617         * m4/msvc-nothrow.m4: New file.
12618         * modules/msvc-nothrow: New file.
12619         * lib/dup2.c: Include msvc-nothrow.h.
12620         (rpl_dup2): No need to protect _get_osfhandle call here.
12621         * lib/accept4.c: Include msvc-nothrow.h.
12622         * lib/error.c: Likewise.
12623         * lib/fcntl.c: Likewise.
12624         * lib/lseek.c: Likewise.
12625         * lib/nonblocking.c: Likewise.
12626         * lib/poll.c: Likewise.
12627         * lib/read.c: Likewise.
12628         * lib/select.c: Likewise.
12629         * lib/sockets.h: Likewise.
12630         * lib/sockets.c: Likewise.
12631         * lib/stdio-read.c: Likewise.
12632         * lib/stdio-write.c: Likewise.
12633         * lib/write.c: Likewise.
12634         * lib/w32sock.h: Likewise.
12635         * lib/w32spawn.h: Likewise.
12636         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12637         * lib/fsync.c: Likewise.
12638         * lib/isapipe.c: Likewise.
12639         * modules/dup2 (Depends-on): Add msvc-nothrow.
12640         * modules/accept4 (Depends-on): Likewise.
12641         * modules/error (Depends-on): Likewise.
12642         * modules/fcntl (Depends-on): Likewise.
12643         * modules/lseek (Depends-on): Likewise.
12644         * modules/nonblocking (Depends-on): Likewise.
12645         * modules/poll (Depends-on): Likewise.
12646         * modules/read (Depends-on): Likewise.
12647         * modules/select (Depends-on): Likewise.
12648         * modules/sockets (Depends-on): Likewise.
12649         * modules/sigpipe (Depends-on): Likewise.
12650         * modules/write (Depends-on): Likewise.
12651         * modules/accept (Depends-on): Likewise.
12652         * modules/bind (Depends-on): Likewise.
12653         * modules/connect (Depends-on): Likewise.
12654         * modules/gethostname (Depends-on): Likewise.
12655         * modules/getpeername (Depends-on): Likewise.
12656         * modules/getsockname (Depends-on): Likewise.
12657         * modules/getsockopt (Depends-on): Likewise.
12658         * modules/ioctl (Depends-on): Likewise.
12659         * modules/listen (Depends-on): Likewise.
12660         * modules/recv (Depends-on): Likewise.
12661         * modules/recvfrom (Depends-on): Likewise.
12662         * modules/send (Depends-on): Likewise.
12663         * modules/sendto (Depends-on): Likewise.
12664         * modules/setsockopt (Depends-on): Likewise.
12665         * modules/shutdown (Depends-on): Likewise.
12666         * modules/socket (Depends-on): Likewise.
12667         * modules/execute (Depends-on): Likewise.
12668         * modules/spawn-pipe (Depends-on): Likewise.
12669         * modules/flock (Depends-on): Likewise.
12670         * modules/fsync (Depends-on): Likewise.
12671         * modules/isapipe (Depends-on): Likewise.
12672         * tests/test-cloexec.c: Include msvc-nothrow.h.
12673         * tests/test-dup-safer.c: Likewise.
12674         * tests/test-dup2.c: Likewise.
12675         * tests/test-dup3.c: Likewise.
12676         * tests/test-fcntl.c: Likewise.
12677         * tests/test-pipe.c: Likewise.
12678         * tests/test-pipe2.c: Likewise.
12679         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12680         * modules/unistd-safer-tests (Depends-on): Likewise.
12681         * modules/dup2-tests (Depends-on): Likewise.
12682         * modules/dup3-tests (Depends-on): Likewise.
12683         * modules/fcntl-tests (Depends-on): Likewise.
12684         * modules/pipe-posix-tests (Depends-on): Likewise.
12685         * modules/pipe2-tests (Depends-on): Likewise.
12686
12687 2011-09-23  Bruno Haible  <bruno@clisp.org>
12688
12689         dup2: Make code more maintainable.
12690         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12691         (rpl_dup2): Use it.
12692         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12693         * modules/dup2 (configure.ac): Invoke it.
12694         Reported by Paul Eggert.
12695
12696 2011-09-23  Bruno Haible  <bruno@clisp.org>
12697
12698         msvc-inval: Fix compilation error.
12699         * lib/msvc-inval.h: Include <excpt.h>.
12700
12701 2011-09-23  Bruno Haible  <bruno@clisp.org>
12702
12703         mkdir: Tweak for MSVC 9.
12704         * lib/sys_stat.in.h: Update comments.
12705         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12706
12707         Tests for module 'chdir'.
12708         * modules/chdir-tests: New file.
12709         * tests/test-chdir.c: New file.
12710
12711         New module 'chdir'.
12712         * modules/chdir: New file.
12713         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12714         (chdir): New declaration.
12715         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12716         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12717         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12718         * tests/test-unistd-c++.cc: Check signature of chdir.
12719         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12720         * modules/chdir-long (Depends-on): Add chdir.
12721         * modules/fchdir (Depends-on): Likewise.
12722         * modules/rename (Depends-on): Likewise.
12723         * modules/savewd (Depends-on): Likewise.
12724
12725         rmdir: Support for mingw, MSVC 9.
12726         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12727         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12728
12729         getcwd: Tweak for MSVC 9.
12730         * lib/unistd.in.h: Update comments.
12731         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12732
12733 2011-09-22  Bruno Haible  <bruno@clisp.org>
12734
12735         strerror_r-posix: Avoid a link error on MSVC.
12736         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12737         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12738
12739 2011-09-22  Bruno Haible  <bruno@clisp.org>
12740
12741         select: Avoid link errors on MSVC.
12742         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12743         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12744         * modules/pselect (Link): Likewise.
12745         * NEWS: Mention the change.
12746         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12747         test-select-stdin against $(LIB_SELECT).
12748         * modules/pselect-tests (Makefile.am): Link test-pselect against
12749         $(LIB_SELECT).
12750
12751 2011-09-22  Bruno Haible  <bruno@clisp.org>
12752
12753         select: Avoid compilation error on MSVC.
12754         * lib/select.c: Don't include <stdbool.h>.
12755
12756 2011-09-21  Bruno Haible  <bruno@clisp.org>
12757
12758         Consolidate all uses of PATH_MAX in *.m4 files.
12759         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12760         macros.
12761         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12762         and gl_PATHMAX_SNIPPET.
12763         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12764         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12765         * modules/chdir-long (Files): Add m4/pathmax.m4.
12766         * modules/getcwd (Files): Likewise.
12767
12768 2011-09-21  Bruno Haible  <bruno@clisp.org>
12769
12770         ftruncate: Un-deprecate, concentrate on Win32 support.
12771         * modules/ftruncate (Status, Notice): Remove sections.
12772         (Depends-on): Add largefile.
12773         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
12774         non-mingw platforms.
12775         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
12776         include <io.h>.
12777         * modules/perror-tests (Depends-on): Add ftruncate.
12778         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
12779         'ftruncate' module.
12780
12781 2011-09-21  Bruno Haible  <bruno@clisp.org>
12782
12783         Add dependencies to new dirent related modules.
12784         * modules/opendir (Depends-on): Add closedir.
12785         * modules/getcwd (Depends-on): Add opendir, closedir.
12786         * modules/dirent-safer-tests (Depends-on): Likewise.
12787         * modules/fdopendir-tests (Depends-on): Likewise.
12788         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
12789         * modules/renameat-tests (Depends-on): Likewise.
12790
12791 2011-09-21  Bruno Haible  <bruno@clisp.org>
12792
12793         opendir: Avoid compilation error on mingw.
12794         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
12795         * modules/opendir (Depends-on): Add unistd.
12796
12797 2011-09-21  Bruno Haible  <bruno@clisp.org>
12798
12799         ftruncate tests: Avoid a test failure on mingw.
12800         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
12801
12802 2011-09-21  Bruno Haible  <bruno@clisp.org>
12803
12804         select tests: Avoid test failures on OSF/1 5.1 and mingw.
12805         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
12806         native Windows.
12807
12808 2011-09-21  Bruno Haible  <bruno@clisp.org>
12809
12810         New module 'fdopen'.
12811         * lib/stdio.in.h (fdopen): New declaration.
12812         * lib/fdopen.c: New file.
12813         * m4/fdopen.m4: New file.
12814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
12815         REPLACE_FDOPEN.
12816         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
12817         REPLACE_FDOPEN.
12818         * modules/fdopen: New file.
12819         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
12820         * tests/test-stdio-c++.cc: Check signature of fdopen.
12821         * doc/posix-functions/fdopen.texi: Mention the new module.
12822
12823 2011-09-21  Bruno Haible  <bruno@clisp.org>
12824
12825         unlockpt tests: Avoid test failure on NetBSD 5.1.
12826         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
12827         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
12828
12829 2011-09-21  Bruno Haible  <bruno@clisp.org>
12830
12831         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
12832         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
12833         * tests/test-getlogin_r.c (main): Likewise.
12834
12835 2011-09-20  Bruno Haible  <bruno@clisp.org>
12836
12837         time tests: Don't require pid_t.
12838         * doc/posix-headers/time.texi: Revert last change.
12839         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
12840         * tests/test-time.c: Comment out the check for pid_t.
12841
12842 2011-09-20  Bruno Haible  <bruno@clisp.org>
12843
12844         fsync tests: Avoid a test failure on mingw.
12845         * tests/test-fsync.c (main): Allow a failure with EIO.
12846
12847 2011-09-20  Bruno Haible  <bruno@clisp.org>
12848
12849         euidaccess: Update comments.
12850         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
12851
12852 2011-09-20  Bruno Haible  <bruno@clisp.org>
12853
12854         Ensure EBADF returns for socket functions on mingw.
12855         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
12856         descriptor is invalid.
12857         * lib/bind.c (rpl_bind): Likewise.
12858         * lib/connect.c (rpl_connect): Likewise.
12859         * lib/getpeername.c (rpl_getpeername): Likewise.
12860         * lib/getsockname.c (rpl_getsockname): Likewise.
12861         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12862         * lib/listen.c (rpl_listen): Likewise.
12863         * lib/recv.c (rpl_recv): Likewise.
12864         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12865         * lib/send.c (rpl_send): Likewise.
12866         * lib/sendto.c (rpl_sendto): Likewise.
12867         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12868         * lib/shutdown.c (rpl_shutdown): Likewise.
12869
12870 2011-09-20  Bruno Haible  <bruno@clisp.org>
12871
12872         select tests: EBADF tests.
12873         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
12874         test_bad_fd): New functions.
12875         (test_function): Invoke also test_bad_fd.
12876
12877 2011-09-20  Bruno Haible  <bruno@clisp.org>
12878
12879         Tests for module 'posix_spawn_file_actions_addopen.
12880         * modules/posix_spawn_file_actions_addopen-tests: New file.
12881         * tests/test-posix_spawn_file_actions_addopen.c: New file.
12882
12883         Tests for module 'posix_spawn_file_actions_adddup2'.
12884         * modules/posix_spawn_file_actions_adddup2-tests: New file.
12885         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
12886
12887         Tests for module 'posix_spawn_file_actions_addclose'.
12888         * modules/posix_spawn_file_actions_addclose-tests: New file.
12889         * tests/test-posix_spawn_file_actions_addclose.c: New file.
12890
12891 2011-09-20  Bruno Haible  <bruno@clisp.org>
12892
12893         Tests for module 'unlockpt'.
12894         * modules/unlockpt-tests: New file.
12895         * tests/test-unlockpt.c: New file.
12896         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
12897
12898         Tests for module 'grantpt'.
12899         * modules/grantpt-tests: New file.
12900         * tests/test-grantpt.c: New file.
12901         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
12902
12903 2011-09-20  Bruno Haible  <bruno@clisp.org>
12904
12905         freopen tests: EBADF tests.
12906         * tests/test-freopen.c: Include errno.h, unistd.h.
12907         (main): Add tests for EBADF, commented out for the moment.
12908
12909         fclose tests: EBADF tests.
12910         * tests/test-fclose.c (main): Add tests for EBADF.
12911
12912         fflush tests: EBADF tests.
12913         * tests/test-fflush.c: Include errno.h, macros.h.
12914         (main): Add tests for EBADF.
12915
12916         ftello tests: EBADF tests.
12917         * tests/test-ftello4.sh: New file.
12918         * tests/test-ftello4.c: New file.
12919         * modules/ftello-tests (Files): Add them.
12920         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
12921
12922         fseeko tests: EBADF tests.
12923         * tests/test-fseeko4.sh: New file.
12924         * tests/test-fseeko4.c: New file.
12925         * modules/fseeko-tests (Files): Add them.
12926         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
12927
12928         Tests for function fputc().
12929         * modules/fputc-tests: New file.
12930         * tests/test-fputc.c: New file.
12931         * modules/stdio-tests (Depends-on): Add fputc-tests.
12932
12933         Tests for function fgetc().
12934         * modules/fgetc-tests: New file.
12935         * tests/test-fgetc.c: New file.
12936         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12937
12938         Tests for function fdopen().
12939         * modules/fdopen-tests: New file.
12940         * tests/test-fdopen.c: New file.
12941         * modules/stdio-tests (Depends-on): Add fdopen-tests.
12942
12943         Tests for module 'vdprintf'.
12944         * modules/vdprintf-tests: New file.
12945         * tests/test-vdprintf.c: New file.
12946
12947         Tests for module 'dprintf'.
12948         * modules/dprintf-tests: New file.
12949         * tests/test-dprintf.c: New file.
12950
12951 2011-09-20  Bruno Haible  <bruno@clisp.org>
12952
12953         Tests for module 'ioctl'.
12954         * modules/ioctl-tests: New file.
12955         * tests/test-ioctl.c: New file.
12956
12957 2011-09-20  Bruno Haible  <bruno@clisp.org>
12958
12959         fcntl tests: EBADF tests.
12960         * tests/test-fcntl.c (main): Add more tests for EBADF.
12961
12962 2011-09-20  Bruno Haible  <bruno@clisp.org>
12963
12964         utimensat tests: EBADF tests.
12965         * tests/test-utimensat.c (main): Add tests for EBADF.
12966
12967         renameat tests: EBADF tests.
12968         * tests/test-renameat.c (main): Add tests for EBADF.
12969
12970         mkfifoat tests: EBADF tests.
12971         * tests/test-mkfifoat.c (main): Add tests for EBADF.
12972
12973         readlinkat tests: EBADF tests.
12974         * tests/test-readlinkat.c (main): Add tests for EBADF.
12975
12976         symlinkat tests: EBADF tests.
12977         * tests/test-symlinkat.c (main): Add tests for EBADF.
12978
12979         linkat tests: EBADF tests.
12980         * tests/test-linkat.c (main): Add tests for EBADF.
12981
12982         Tests for module 'faccessat'.
12983         * modules/faccessat-tests: New file.
12984         * tests/test-faccessat.c: New file.
12985
12986         fdopendir tests: EBADF tests.
12987         * tests/test-fdopendir.c (main): Add more tests for EBADF.
12988
12989         openat tests: EBADF tests.
12990         * tests/test-fchownat.c (main): Add tests for EBADF.
12991         * tests/test-fstatat.c (main): Likewise.
12992         * tests/test-mkdirat.c (main): Likewise.
12993         * tests/test-openat.c (main): Likewise.
12994         * tests/test-unlinkat.c (main): Likewise.
12995         * tests/test-fchmodat.c: New file.
12996         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
12997         (Makefile.am): Also run 'test-fchmodat'.
12998
12999 2011-09-20  Bruno Haible  <bruno@clisp.org>
13000
13001         utimens, futimens, fdutimensat tests: EBADF tests.
13002         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13003
13004         Tests for function fstat().
13005         * modules/fstat-tests: New file.
13006         * tests/test-fstat.c: New file.
13007         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13008
13009 2011-09-20  Bruno Haible  <bruno@clisp.org>
13010
13011         test-ttyname_r tests: EBADF tests.
13012         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13013
13014         Tests for module 'isatty'.
13015         * modules/isatty-tests: New file.
13016         * tests/test-isatty.c: New file.
13017
13018         Tests for module 'write'.
13019         * modules/write-tests: New file.
13020         * tests/test-write.c: New file.
13021
13022         Tests for module 'read'.
13023         * modules/read-tests: New file.
13024         * tests/test-read.c: New file.
13025
13026         pwrite tests: EBADF tests.
13027         * tests/test-pwrite.c (main): Add tests for EBADF.
13028
13029         pread tests: EBADF tests.
13030         * tests/test-pread.c (main): Add tests for EBADF.
13031
13032         lseek tests: EBADF tests.
13033         * tests/test-lseek.c (main): Add more tests for EBADF.
13034
13035         Tests for module 'ftruncate'.
13036         * modules/ftruncate-tests: New file.
13037         * tests/test-ftruncate.sh: New file.
13038         * tests/test-ftruncate.c: New file.
13039
13040         fsync tests: EBADF tests.
13041         * tests/test-fsync.c (main): Add more tests for EBADF.
13042
13043         fdatasync tests: EBADF tests.
13044         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13045
13046         Tests for module 'fchown'.
13047         * modules/fchown-tests: New file.
13048         * tests/test-fchown.c: New file.
13049
13050         Tests for module 'fchmod'.
13051         * modules/fchmod-tests: New file.
13052         * tests/test-fchmod.c: New file.
13053
13054         fchdir tests: EBADF tests.
13055         * tests/test-fchdir.c (main): Add more tests for EBADF.
13056
13057         dup2 tests: EBADF tests.
13058         * tests/test-dup2.c (main): Add more tests for EBADF.
13059
13060         Tests for module 'dup'.
13061         * modules/dup-tests: New file.
13062         * tests/test-dup.c: New file.
13063
13064         Tests for module 'close'.
13065         * modules/close-tests: New file.
13066         * tests/test-close.c: New file.
13067
13068 2011-09-20  Bruno Haible  <bruno@clisp.org>
13069
13070         Tests for module 'shutdown'.
13071         * modules/shutdown-tests: New file.
13072         * tests/test-shutdown.c: New file.
13073
13074         Tests for module 'setsockopt'.
13075         * modules/setsockopt-tests: New file.
13076         * tests/test-setsockopt.c: New file.
13077
13078         Tests for module 'sendto'.
13079         * modules/sendto-tests: New file.
13080         * tests/test-sendto.c: New file.
13081
13082         Tests for module 'send'.
13083         * modules/send-tests: New file.
13084         * tests/test-send.c: New file.
13085
13086         Tests for module 'recvfrom'.
13087         * modules/recvfrom-tests: New file.
13088         * tests/test-recvfrom.c: New file.
13089
13090         Tests for module 'recv'.
13091         * modules/recv-tests: New file.
13092         * tests/test-recv.c: New file.
13093
13094         Tests for module 'listen'.
13095         * modules/listen-tests: New file.
13096         * tests/test-listen.c: New file.
13097
13098         Tests for module 'getsockopt'.
13099         * modules/getsockopt-tests: New file.
13100         * tests/test-getsockopt.c: New file.
13101
13102         Tests for module 'getsockname'.
13103         * modules/getsockname-tests: New file.
13104         * tests/test-getsockname.c: New file.
13105
13106         Tests for module 'getpeername'.
13107         * modules/getpeername-tests: New file.
13108         * tests/test-getpeername.c: New file.
13109
13110         Tests for module 'connect'.
13111         * modules/connect-tests: New file.
13112         * tests/test-connect.c: New file.
13113
13114         Tests for module 'bind'.
13115         * modules/bind-tests: New file.
13116         * tests/test-bind.c: New file.
13117
13118         accept4 tests: Fix for native Windows.
13119         * tests/test-accept4.c: Include sockets.h.
13120         (main): Invoke gl_sockets_startup.
13121         * modules/accept4-tests (Depends-on): Add sockets.
13122
13123         accept tests: Fix for native Windows.
13124         * tests/test-accept.c: Include sockets.h.
13125         (main): Invoke gl_sockets_startup.
13126         * modules/accept-tests (Depends-on): Add sockets.
13127
13128 2011-09-19  Bruno Haible  <bruno@clisp.org>
13129
13130         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13131         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13132         do...while(0).
13133         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13134         Suggested by Paul Eggert.
13135
13136 2011-09-19  Bruno Haible  <bruno@clisp.org>
13137
13138         sched: Ensure pid_t is defined.
13139         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13140         not define pid_t.
13141         * lib/sched.in.h: Include <sys/types.h>.
13142         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13144
13145 2011-09-19  Bruno Haible  <bruno@clisp.org>
13146
13147         msvc-inval: Ensure the entire expansion is a single statement.
13148         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13149         of braces.
13150
13151 2011-09-19  Jim Meyering  <meyering@redhat.com>
13152
13153         tests: use printf, not echo in init.sh's warn_ function
13154         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13155         misbehave when given strings containing a backslash or starting
13156         with e.g., -n.  James Youngman suggested setting IFS.
13157
13158 2011-09-19  Eric Blake  <eblake@redhat.com>
13159
13160         futimens: enhance test
13161         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13162         closed non-negative fd.
13163
13164         date: accept 'hence' as opposite of 'ago'
13165         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13166         * tests/test-parse-datetime.c (main): Enhance test.
13167         Suggested by Jesse Wilson.
13168
13169 2011-09-19  Jim Meyering  <meyering@redhat.com>
13170
13171         getcwd: don't fail in a deep directory on a system without openat
13172         Before this change, getcwd would fail when called from a directory
13173         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13174         the non-openat implementation used "..", "../..", "../../..", etc.
13175         to access ancestor directories.  With too many, that string would
13176         be longer than PATH_MAX.
13177         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13178         using gnulib's openat replacement.
13179         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13180         we're using the replacement function.
13181
13182 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13183
13184         maint.mk: avoid warnings from perl about missing files
13185         * top/maint.mk (def_sym_regex): Ignore files listed in
13186         $(gl_other_headers_) that do not exist, say because a project
13187         does not use a corresponding module.
13188
13189 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13190
13191         stat: use pathmax.h only if needed
13192         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13193         This is better for Emacs, which does not have a mingw port and
13194         therefore can avoid the pathmax module.
13195
13196         utimens: remove dependency on dup2
13197         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13198         to work around the Linux kernel bug.
13199         * modules/utimens (Depends-on): Remove dup2.
13200
13201 2011-09-18  Bruno Haible  <bruno@clisp.org>
13202
13203         inet_ntop, inet_pton: Look for it also in libresolv.
13204         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13205         libnsl, search for it in libresolv.
13206         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13207         Needed on Solaris 7.
13208
13209 2011-09-18  Bruno Haible  <bruno@clisp.org>
13210
13211         accept, accept4 tests: Avoid link error on Solaris.
13212         * modules/accept-tests (Makefile.am): Link test-accept against
13213         $(LIBSOCKET).
13214         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13215         $(LIBSOCKET).
13216
13217         accept4: Avoid link error on Solaris.
13218         * modules/accept4 (Link): New section.
13219
13220         socket functions: Avoid link errors on Solaris.
13221         * modules/accept (Depends-on): Add socketlib.
13222         (Link): New section.
13223         * modules/bind (Depends-on): Add socketlib.
13224         (Link): New section.
13225         * modules/connect (Depends-on): Add socketlib.
13226         (Link): New section.
13227         * modules/getpeername (Depends-on): Add socketlib.
13228         (Link): New section.
13229         * modules/getsockname (Depends-on): Add socketlib.
13230         (Link): New section.
13231         * modules/getsockopt (Depends-on): Add socketlib.
13232         (Link): New section.
13233         * modules/listen (Depends-on): Add socketlib.
13234         (Link): New section.
13235         * modules/recv (Depends-on): Add socketlib.
13236         (Link): New section.
13237         * modules/recvfrom (Depends-on): Add socketlib.
13238         (Link): New section.
13239         * modules/send (Depends-on): Add socketlib.
13240         (Link): New section.
13241         * modules/sendto (Depends-on): Add socketlib.
13242         (Link): New section.
13243         * modules/setsockopt (Depends-on): Add socketlib.
13244         (Link): New section.
13245         * modules/shutdown (Depends-on): Add socketlib.
13246         (Link): New section.
13247         * modules/socket (Depends-on): Add socketlib.
13248         (Link): New section.
13249
13250 2011-09-18  Bruno Haible  <bruno@clisp.org>
13251
13252         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13253         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13254         than 5 seconds.
13255         * modules/ptsname-tests (configure.ac): Test for alarm.
13256
13257 2011-09-18  Bruno Haible  <bruno@clisp.org>
13258
13259         posix_spawn_file_actions_add*: Fix module dependencies.
13260         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13261         posix_spawn_file_actions_init.
13262         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13263         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13264
13265 2011-09-18  Bruno Haible  <bruno@clisp.org>
13266
13267         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13268         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13269         * tests/test-renameat.c (main): Likewise.
13270
13271 2011-09-18  Bruno Haible  <bruno@clisp.org>
13272
13273         Tests for module 'accept4'.
13274         * modules/accept4-tests: New file.
13275         * tests/test-accept4.c: New file.
13276
13277 2011-09-18  Bruno Haible  <bruno@clisp.org>
13278
13279         Tests for module 'accept'.
13280         * modules/accept-tests: New file.
13281         * tests/test-accept.c: New file.
13282
13283 2011-09-18  Bruno Haible  <bruno@clisp.org>
13284
13285         dup2: Support for MSVC.
13286         * lib/dup2.c: Include msvc-inval.h.
13287         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13288         _get_osfhandle calls.
13289         * modules/dup2 (Depends-on): Add msvc-inval.
13290         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13291
13292         New module 'msvc-inval'.
13293         * lib/msvc-inval.h: New file.
13294         * lib/msvc-inval.c: New file.
13295         * m4/msvc-inval.m4: New file.
13296         * modules/msvc-inval: New file.
13297
13298 2011-09-17  Bruno Haible  <bruno@clisp.org>
13299
13300         Tests for module 'pclose'.
13301         * modules/pclose-tests: New file.
13302
13303         New module 'pclose'.
13304         * lib/stdio.in.h (pclose): New declaration.
13305         * lib/pclose.c: New file.
13306         * m4/pclose.m4: New file.
13307         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13308         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13309         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13310         * modules/pclose: New file.
13311         * modules/popen-tests (Depends-on): Add pclose.
13312         * modules/popen-safer-tests (Depends-on): Likewise.
13313         * doc/posix-functions/pclose.texi: Mention the new module.
13314
13315 2011-09-17  Bruno Haible  <bruno@clisp.org>
13316
13317         popen: Support for MSVC.
13318         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13319         * lib/popen.c (popen): Provide alternate definition for native Windows.
13320         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13321         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13322         * modules/popen (Depends-on, configure.ac): Update condition.
13323         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13324         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13325         fixed.
13326
13327 2011-09-17  Bruno Haible  <bruno@clisp.org>
13328
13329         isnanl, isnand, isnanf: Work around MSVC bug.
13330         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13331
13332 2011-09-17  Bruno Haible  <bruno@clisp.org>
13333
13334         sys_socket tests: Fix recent mistake.
13335         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13336
13337 2011-09-17  Bruno Haible  <bruno@clisp.org>
13338
13339         putenv: Support for MSVC.
13340         * modules/putenv (Depends-on): Add environ.
13341         * lib/putenv.c (environ): Disable declaration.
13342         * lib/unistd.in.h: Update comment.
13343
13344 2011-09-17  Bruno Haible  <bruno@clisp.org>
13345
13346         math: Avoid macro redefinition warnings on MSVC.
13347         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13348         Undefine before redefining.
13349
13350 2011-09-17  Bruno Haible  <bruno@clisp.org>
13351
13352         doc: Mention functions which are declared as macros.
13353         * doc/posix-functions/*[fl].texi: Mention that some functions are
13354         defined as macros with arguments only.
13355
13356 2011-09-17  Bruno Haible  <bruno@clisp.org>
13357
13358         Add dependencies to new dirent related modules.
13359         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13360         * modules/fts (Depends-on): Likewise.
13361         * modules/glob (Depends-on): Likewise.
13362         * modules/savedir (Depends-on): Likewise.
13363         * modules/scandir (Depends-on): Likewise.
13364         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13365         * modules/fdopendir (Depends-on): Add opendir.
13366
13367 2011-09-17  Bruno Haible  <bruno@clisp.org>
13368
13369         inet_pton: Support for MSVC on Windows Vista or newer.
13370         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13371         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13372         HAVE_DECL_INET_PTON is defined.
13373         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13374         On platforms with <winsock2.h>, test whether inet_pton is declared in
13375         <ws2tcpip.h>. If so, arrange to replace it.
13376         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13377         REPLACE_INET_PTON.
13378         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13379         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13380         (Depends-on, configure.ac): Update condition.
13381         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13382
13383 2011-09-17  Bruno Haible  <bruno@clisp.org>
13384
13385         inet_ntop: Support for MSVC on Windows Vista or newer.
13386         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13387         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13388         HAVE_DECL_INET_NTOP is defined.
13389         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13390         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13391         <ws2tcpip.h>. If so, arrange to replace it.
13392         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13393         REPLACE_INET_NTOP.
13394         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13395         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13396         (Depends-on, configure.ac): Update condition.
13397         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13398
13399 2011-09-16  Eric Blake  <eblake@redhat.com>
13400
13401         test-fsync: yet another enhancement
13402         * tests/test-fsync.c (main): Also test behavior on read-only text
13403         file.
13404
13405 2011-09-16  Bruno Haible  <bruno@clisp.org>
13406
13407         Enhance fsync, fdatasync tests.
13408         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13409         * tests/test-fdatasync.c (main): Likewise.
13410
13411 2011-09-16  Bruno Haible  <bruno@clisp.org>
13412
13413         Support for MSVC compiler: Ensure mode_t gets defined.
13414         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13415         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13416         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13417         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13418         * tests/test-fcntl-h.c: Check that mode_t is defined.
13419         * tests/test-sys_stat.c: Likewise.
13420         * tests/test-sys_types.c: Likewise.
13421         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13422         * doc/posix-headers/sys_stat.texi: Likewise.
13423         * doc/posix-headers/sys_types.texi: Likewise.
13424
13425 2011-09-16  Bruno Haible  <bruno@clisp.org>
13426
13427         sys_stat: Support for MSVC.
13428         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13429         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13430         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13431         MSVC.
13432
13433 2011-09-16  Bruno Haible  <bruno@clisp.org>
13434
13435         Support for MSVC compiler: Ensure off_t gets defined.
13436         * lib/unistd.in.h: Include <sys/types.h>.
13437         * tests/test-fcntl-h.c: Check that off_t is defined.
13438         * tests/test-sys_stat.c: Likewise.
13439         * tests/test-sys_types.c: Likewise.
13440
13441 2011-09-16  Eric Blake  <eblake@redhat.com>
13442
13443         fdatasync: port to Solaris
13444         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13445         * modules/fdatasync (Link): Document it.
13446         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13447
13448         fdatasync: port to MacOS X 10.7
13449         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13450         declared.
13451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13452         * modules/unistd (Makefile.am): Substitute it.
13453         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13454         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13455
13456         fdatasync: minor improvements
13457         * modules/fdatasync (Depends-on): Add condition for fsync.
13458         * lib/fdatasync.c (fdatasync): Add comment.
13459         * tests/test-unistd-c++.cc: Test fdatasync.
13460
13461         unistd: update refs to newer POSIX
13462         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13463         Suggested by Bruno Haible.
13464
13465         fdatasync: new module
13466         * modules/fsync (Description): Document difference to fdatasync.
13467         * modules/fdatasync: New module.
13468         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13469         * lib/fdatasync.c (fdatasync): Likewise.
13470         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13471         defaults.
13472         * modules/unistd (Makefile.am): Set witnesses.
13473         * lib/unistd.in.h (fdatasync): Declare.
13474         * MODULES.html.sh: Document it.
13475         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13476         * modules/fdatasync-tests: New test.
13477         * tests/test-fdatasync.c: Likewise.
13478
13479 2011-09-16  Eric Blake  <eblake@redhat.com>
13480
13481         test-fsync: enhance tests
13482         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13483         * tests/test-fsync.c (main): Enhance test.
13484
13485 2011-09-15  Bruno Haible  <bruno@clisp.org>
13486
13487         Support for MSVC compiler: Ensure ssize_t gets defined.
13488         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13489         * doc/posix-headers/stdio.texi: Likewise.
13490         * modules/stdio (Depends-on): Add ssize_t.
13491         * modules/sys_socket (Depends-on): Likewise.
13492         * modules/sys_types (Depends-on): Likewise.
13493         * modules/sys_uio (Depends-on): Likewise.
13494         * modules/unistd (Depends-on): Likewise.
13495         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13496         * tests/test-sys_types.c: Check that ssize_t is defined.
13497
13498 2011-09-14  Bruno Haible  <bruno@clisp.org>
13499
13500         Avoid using #, the m4 comment starter character, near brackets.
13501         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13502         delimiter character in sed expressions.
13503         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13504         Suggested by Eric Blake.
13505
13506         Properly quote AC_CHECK_DECLS' 4th argument.
13507         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13508         argument.
13509         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13510         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13511         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13512         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13513         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13514         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13515         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13516         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13517         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13518         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13519         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13520         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13521         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13522         * m4/isinf.m4 (gl_ISINF): Likewise.
13523         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13524         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13525         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13526         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13527         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13528         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13529         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13530         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13531         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13532         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13533         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13534         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13535         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13536         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13538         Reported by Eric Blake.
13539
13540         Properly quote AC_CHECK_DECL's 4th argument.
13541         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13542         argument.
13543         * m4/argp.m4 (gl_ARGP): Likewise.
13544         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13545         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13546         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13547         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13548         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13549         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13550         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13551         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13552         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13553         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13554         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13555         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13556         Reported by Eric Blake.
13557
13558 2011-09-14  Eric Blake  <eblake@redhat.com>
13559
13560         opendir: avoid compile warning
13561         * lib/opendir.c (includes): Always include errno.h.
13562         Reported by Tatsuro MATSUOKA.
13563
13564 2011-09-14  Jim Meyering  <meyering@redhat.com>
13565
13566         maint.mk: sc_tight_scope: propagate failure from sub-make
13567         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13568         Reported by Martin von Gagern.
13569
13570 2011-09-13  Bruno Haible  <bruno@clisp.org>
13571
13572         tempname: Support for MSVC.
13573         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13574         MSVC.
13575         * modules/tempname (Depends-on): Add fcntl-h.
13576
13577 2011-09-13  Bruno Haible  <bruno@clisp.org>
13578
13579         sys_time: Support for MSVC.
13580         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13581         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13582         include <winsock2.h>.
13583         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13584         function declarations that collide with POSIX.
13585         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13586         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13587
13588 2011-09-13  Bruno Haible  <bruno@clisp.org>
13589
13590         stat: Support for MSVC.
13591         * lib/stat.c: Include pathmax.h.
13592         * modules/stat (Depends-on): Add pathmax.
13593
13594         pathmax: Support for native Windows.
13595         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13596
13597 2011-09-12  Bruno Haible  <bruno@clisp.org>
13598
13599         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13600         * lib/dirent.in.h (struct dirent): New type.
13601         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13602         DT_WHT): New macros.
13603         (DIR): New type.
13604         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13605         (readdir, rewinddir): New declarations.
13606         * lib/dirent-private.h: New file.
13607         * lib/opendir.c: New file.
13608         * lib/readdir.c: New file.
13609         * lib/rewinddir.c: New file.
13610         * lib/closedir.c: New file.
13611         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13612         * m4/opendir.m4: New file.
13613         * m4/readdir.m4: New file.
13614         * m4/rewinddir.m4: New file.
13615         * m4/closedir.m4: New file.
13616         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13617         REPLACE_CLOSEDIR here.
13618         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13619         readdir, rewinddir are declared.
13620         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13621         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13622         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13623         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13624         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13625         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13626         * modules/opendir: New file.
13627         * modules/readdir: New file.
13628         * modules/rewinddir: New file.
13629         * modules/closedir: New file.
13630         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13631         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13632         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13633         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13634         * NEWS: Mention the 'fchdir' change.
13635
13636 2011-09-11  Bruno Haible  <bruno@clisp.org>
13637
13638         asm-underscore.m4: Support for MSVC.
13639         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13640         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13641
13642 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13643
13644         Doc about crypt functions.
13645         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13646         needing for _GNU_SOURCE to get crypt.
13647         * doc/posix-functions/encrypt.texi: Likewise.
13648         * doc/posix-functions/setkey.texi: Likewise.
13649
13650 2011-09-11  Bruno Haible  <bruno@clisp.org>
13651
13652         doc: Update regarding MSVC 9.
13653         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13654         tested".
13655         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13656         * doc/posix-headers/*.texi: Likewise.
13657         * doc/pastposix-functions/*.texi: Likewise.
13658         * doc/glibc-functions/*.texi: Likewise.
13659         * doc/glibc-headers/*.texi: Likewise.
13660
13661 2011-09-11  Bruno Haible  <bruno@clisp.org>
13662
13663         unistd et al.: Don't assume <unistd.h> exists.
13664         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13665         does not exist.
13666         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13667         exist. But include <stdlib.h>.
13668         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13669         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13670         symlink() does not exist.
13671         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13672         include <io.h> instead.
13673         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13674         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13675         include <direct.h> instead.
13676         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13677         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13678         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13679         <io.h> instead.
13680         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13681         correctly if the system does not have hard links.
13682         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13683         <direct.h> instead.
13684         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13685         it when looking for function declarations.
13686         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13687         <direct.h> and <io.h> instead.
13688         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13689
13690 2011-09-11  Bruno Haible  <bruno@clisp.org>
13691
13692         strcase: Support for MSVC.
13693         * modules/strcase (Status, Notice): Remove obsoletion mark.
13694         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13695         * doc/posix-functions/strncasecmp.texi: Likewise.
13696
13697         strings: Don't assume <strings.h> exists.
13698         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13699         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13700         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13701         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13702
13703 2011-09-11  Bruno Haible  <bruno@clisp.org>
13704
13705         dirent: Don't assume <dirent.h> exists.
13706         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13707         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13708         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13709         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13710
13711 2011-09-11  Bruno Haible  <bruno@clisp.org>
13712
13713         Fix wint_t on MSVC.
13714         * lib/wchar.in.h (wint_t): On MSVC, override it.
13715         * lib/wctype.in.h (wint_t): Likewise.
13716         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13717         MSVC.
13718         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13719         * doc/posix-headers/wctype.texi: Likewise.
13720
13721 2011-09-11  Bruno Haible  <bruno@clisp.org>
13722
13723         sys_types: Fix typo.
13724         * lib/sys_types.in.h: Fix typo in comment.
13725         Reported by Paul Eggert.
13726
13727         Support for MSVC compiler: Ensure size_t gets defined.
13728         * modules/strings (Depends-on): Add 'sys_types'.
13729         * modules/sys_uio (Depends-on): Likewise.
13730         * lib/sys_uio.in.h: Update comment.
13731
13732         C++ tests for module 'sys_types'.
13733         * modules/sys_types-c++-tests: New file.
13734         * tests/test-sys_types-c++.cc: New file.
13735
13736         Tests for module 'sys_types'.
13737         * modules/sys_types-tests: New file.
13738         * tests/test-sys_types.c: New file.
13739
13740         New module 'sys_types'.
13741         * lib/sys_types.in.h: New file.
13742         * m4/sys_types_h.m4: New file.
13743         * modules/sys_types: New file.
13744         * doc/posix-headers/sys_types.texi: Mention the new module and the
13745         size_t problem on MSVC 9.
13746
13747 2011-09-11  Bruno Haible  <bruno@clisp.org>
13748
13749         Support for MSVC compiler: Avoid division by a literal 0.
13750         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13751         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13752         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13753         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13754         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13755         * tests/infinity.h: New file.
13756         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13757         on MSVC.
13758         * tests/test-ceilf1.c: Include infinity.h.
13759         (main): Use Infinityf.
13760         * tests/test-ceil1.c: Include infinity.h.
13761         (main): Use Infinityd.
13762         * tests/test-ceill.c: Include infinity.h.
13763         (main): Use Infinityl.
13764         * tests/test-dprintf-posix.c: Include infinity.h.
13765         (test_function): Use Infinityd.
13766         * tests/test-floorf1.c: Include infinity.h.
13767         (main): Use Infinityf.
13768         * tests/test-floor1.c: Include infinity.h.
13769         (main): Use Infinityd.
13770         * tests/test-floorl.c: Include infinity.h.
13771         (main): Use Infinityl.
13772         * tests/test-fprintf-posix.c: Include infinity.h.
13773         (test_function): Use Infinityd.
13774         * tests/test-frexp.c: Include infinity.h.
13775         (main): Use Infinityd.
13776         * tests/test-frexpl.c: Include infinity.h.
13777         (main): Use Infinityl.
13778         * tests/test-isfinite.c: Include infinity.h.
13779         (test_isfinitef): Use Infinityf.
13780         (test_isfinited): Use Infinityd.
13781         (test_isfinitel): Use Infinityl.
13782         * tests/test-isinf.c: Include infinity.h.
13783         (test_isinff): Use Infinityf.
13784         (test_isinfd): Use Infinityd.
13785         (test_isinfl): Use Infinityl.
13786         * tests/test-isnan.c: Include infinity.h.
13787         (test_float): Use Infinityf.
13788         (test_double): Use Infinityd.
13789         (test_long_double): Use Infinityl.
13790         * tests/test-isnanf.h: Include infinity.h.
13791         (main): Use Infinityf.
13792         * tests/test-isnand.h: Include infinity.h.
13793         (main): Use Infinityd.
13794         * tests/test-isnanl.h: Include infinity.h.
13795         (main): Use Infinityl.
13796         * tests/test-ldexpl.c: Include infinity.h.
13797         (main): Use Infinityl.
13798         * tests/test-printf-posix.h: Include infinity.h.
13799         (test_function): Use Infinityd.
13800         * tests/test-roundf1.c: Include infinity.h.
13801         (main): Use Infinityf.
13802         * tests/test-round1.c: Include infinity.h.
13803         (main): Use Infinityd.
13804         * tests/test-roundl.c: Include infinity.h.
13805         (main): Use Infinityl.
13806         * tests/test-signbit.c: Include infinity.h.
13807         (test_signbitf): Use Infinityf.
13808         (test_signbitd): Use Infinityd.
13809         (test_signbitl): Use Infinityl.
13810         * tests/test-snprintf-posix.h: Include infinity.h.
13811         (test_function): Use Infinityd, Infinityl.
13812         * tests/test-sprintf-posix.h: Include infinity.h.
13813         (test_function): Use Infinityd, Infinityl.
13814         * tests/test-truncf1.c: Include infinity.h.
13815         (main): Use Infinityf.
13816         * tests/test-trunc1.c: Include infinity.h.
13817         (main): Use Infinityd.
13818         * tests/test-truncl.c: Include infinity.h.
13819         (main): Use Infinityl.
13820         * tests/test-vasnprintf-posix.c: Include infinity.h.
13821         (test_function): Use Infinityd, Infinityl.
13822         * tests/test-vasprintf-posix.c: Include infinity.h.
13823         (test_function): Use Infinityd, Infinityl.
13824         * modules/ceilf-tests (Files): Add tests/infinity.h.
13825         * modules/ceil-tests (Files): Likewise.
13826         * modules/ceill-tests (Files): Likewise.
13827         * modules/dprintf-posix-tests (Files): Likewise.
13828         * modules/floorf-tests (Files): Likewise.
13829         * modules/floor-tests (Files): Likewise.
13830         * modules/floorl-tests (Files): Likewise.
13831         * modules/fprintf-posix-tests (Files): Likewise.
13832         * modules/frexp-tests (Files): Likewise.
13833         * modules/frexp-nolibm-tests (Files): Likewise.
13834         * modules/frexpl-tests (Files): Likewise.
13835         * modules/frexpl-nolibm-tests (Files): Likewise.
13836         * modules/isfinite-tests (Files): Likewise.
13837         * modules/isinf-tests (Files): Likewise.
13838         * modules/isnan-tests (Files): Likewise.
13839         * modules/isnanf-tests (Files): Likewise.
13840         * modules/isnanf-nolibm-tests (Files): Likewise.
13841         * modules/isnand-tests (Files): Likewise.
13842         * modules/isnand-nolibm-tests (Files): Likewise.
13843         * modules/isnanl-tests (Files): Likewise.
13844         * modules/isnanl-nolibm-tests (Files): Likewise.
13845         * modules/ldexpl-tests (Files): Likewise.
13846         * modules/printf-posix-tests (Files): Likewise.
13847         * modules/roundf-tests (Files): Likewise.
13848         * modules/round-tests (Files): Likewise.
13849         * modules/roundl-tests (Files): Likewise.
13850         * modules/signbit-tests (Files): Likewise.
13851         * modules/snprintf-posix-tests (Files): Likewise.
13852         * modules/sprintf-posix-tests (Files): Likewise.
13853         * modules/truncf-tests (Files): Likewise.
13854         * modules/trunc-tests (Files): Likewise.
13855         * modules/truncl-tests (Files): Likewise.
13856         * modules/vasnprintf-posix-tests (Files): Likewise.
13857         * modules/vasprintf-posix-tests (Files): Likewise.
13858         * modules/vdprintf-posix-tests (Files): Likewise.
13859         * modules/vfprintf-posix-tests (Files): Likewise.
13860         * modules/vprintf-posix-tests (Files): Likewise.
13861         * modules/vsnprintf-posix-tests (Files): Likewise.
13862         * modules/vsprintf-posix-tests (Files): Likewise.
13863         * modules/xprintf-posix-tests (Files): Likewise.
13864
13865 2011-09-11  Bruno Haible  <bruno@clisp.org>
13866
13867         Ensure pid_t gets defined.
13868         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
13869         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13870         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13871         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13872         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13873         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13874         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
13875         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13876         * tests/test-fcntl-h.c: Check that pid_t is defined.
13877         * tests/test-sched.c: Likewise.
13878         * tests/test-termios.c: Likewise.
13879         * tests/test-time.c: Likewise.
13880         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
13881         * doc/posix-headers/signal.texi: Likewise.
13882         * doc/posix-headers/sys_types.texi: Likewise.
13883         * doc/posix-headers/time.texi: Likewise.
13884
13885 2011-09-11  Bruno Haible  <bruno@clisp.org>
13886
13887         acl: Fix compilation on Solaris 10 (older version).
13888         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
13889         of ACE_EVERYONE.
13890         * lib/set-mode-acl.c (qset_acl): Likewise.
13891         Reported by Christian Jullien <eligis@orange.fr>.
13892
13893 2011-09-10  Bruno Haible  <bruno@clisp.org>
13894
13895         iconv, unsetenv: Add support for MSVC compiler.
13896         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
13897         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
13898
13899 2011-09-10  Bruno Haible  <bruno@clisp.org>
13900
13901         *printf: Add support for MSVC compiler.
13902         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
13903         handles the exception caused by the %n directive. When cross-compiling,
13904         guess no on native Windows.
13905         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13906         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
13907         emulate it through vsnprintf.
13908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
13909         * doc/posix-functions/dprintf.texi: Update documentation regarding
13910         MSVC 9.
13911         * doc/posix-functions/fprintf.texi: Likewise.
13912         * doc/posix-functions/printf.texi: Likewise.
13913         * doc/posix-functions/snprintf.texi: Likewise.
13914         * doc/posix-functions/sprintf.texi: Likewise.
13915         * doc/posix-functions/swprintf.texi: Likewise.
13916         * doc/posix-functions/vdprintf.texi: Likewise.
13917         * doc/posix-functions/vfprintf.texi: Likewise.
13918         * doc/posix-functions/vprintf.texi: Likewise.
13919         * doc/posix-functions/vsnprintf.texi: Likewise.
13920         * doc/posix-functions/vsprintf.texi: Likewise.
13921         * doc/glibc-functions/asprintf.texi: Likewise.
13922         * doc/glibc-functions/obstack_printf.texi: Likewise.
13923         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13924         * doc/glibc-functions/vasprintf.texi: Likewise.
13925
13926 2011-09-10  Bruno Haible  <bruno@clisp.org>
13927
13928         nocrash: Add support for native Windows.
13929         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
13930
13931 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13932             Bruno Haible  <bruno@clisp.org>
13933
13934         absolute-header, include-next: Add support for MSVC compiler.
13935         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13936         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13937         directory separator in #line directives.
13938         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13939         recognize also backslash as directory separator in #line directives.
13940
13941 2011-09-08  Jim Meyering  <meyering@redhat.com>
13942
13943         maint.mk: mark the post-release commit log with "maint: " prefix
13944         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
13945         one-line commit-log summary.
13946
13947 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
13948             Bruno Haible  <bruno@clisp.org>
13949
13950         Doc about crypt functions.
13951         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
13952         systems.
13953         * doc/posix-functions/encrypt.texi: Likewise.
13954         * doc/posix-functions/setkey.texi: Likewise.
13955
13956 2011-09-08  Simon Josefsson  <simon@josefsson.org>
13957
13958         * lib/gc.h: Fix copyright header.
13959
13960 2011-09-07  Bruno Haible  <bruno@clisp.org>
13961
13962         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
13963         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
13964         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
13965
13966 2011-09-07  Bruno Haible  <bruno@clisp.org>
13967
13968         openat: Work around compilation error with OSF/1 5.1 DTK cc.
13969         * lib/fopen.c: Use different syntax for include of <stdio.h>.
13970         * lib/freopen.c: Likewise.
13971         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
13972         * lib/lstat.c: Likewise.
13973         * lib/stat.c: Likewise.
13974         * lib/open.c: Use different syntax for include of <fcntl.h>.
13975         * lib/openat.c: Include fcntl.h again, explicitly.
13976
13977 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
13978
13979         parse-datetime: document the newly accepted format
13980         * doc/parse-datetime.texi (Combined date and time of day items):
13981         New section.
13982
13983 2011-09-06  Bruno Haible  <bruno@clisp.org>
13984
13985         acl: Fix a test failure on newer Solaris 10 with ZFS.
13986         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
13987         ENOSYS as no ACL.
13988         Reported by Jim Meyering.
13989
13990 2011-09-06  Bruno Haible  <bruno@clisp.org>
13991
13992         acl: Update for AIX >= 5.3 with NFS.
13993         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
13994         ENOSYS as no ACL.
13995
13996         acl: Fix a test failure on AIX >= 5.3 with NFS.
13997         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
13998         as no ACL.
13999
14000 2011-09-06  Bruno Haible  <bruno@clisp.org>
14001
14002         acl: Fix a test failure on IRIX 6.5 with NFS.
14003         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14004         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14005         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14006         * lib/copy-acl.c (qcopy_acl): Likewise.
14007
14008 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14009
14010         openat: port to AIX 7.1 with large files
14011         AIX 7.1 does a "#define openat open64at" if large files are in use,
14012         so we can't simply #undef openat.  Use the orig_openat trick (similar
14013         to orig_open in lib/open.c) to work around the problem.  Problem
14014         reported by Kevin Brott for GNU tar, in the thread containing
14015         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14016         * lib/openat.c (__need_system_fcntl_h): Define first.
14017         Include <fcntl.h> and <sys/types.h> before undefining.
14018         (orig_openat) [HAVE_OPENAT]: New inline function.
14019         (openat) [HAVE_OPENAT]: Do not undef.
14020         (rpl_openat): Use orig_openat, not openat.
14021
14022 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14023             Bruno Haible  <bruno@clisp.org>
14024
14025         acl: Avoid errors on NonStop Kernel.
14026         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14027         ENOTSUP errors.
14028
14029 2011-09-05  Bruno Haible  <bruno@clisp.org>
14030
14031         acl: Clean up Solaris code.
14032         * lib/acl-internal.h: Remove no-op #if.
14033         * lib/file-has-acl.c: Likewise.
14034         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14035         * lib/copy-acl.c (qcopy_acl): Likewise.
14036
14037 2011-09-05  Bruno Haible  <bruno@clisp.org>
14038
14039         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14040         binaries built on the original Solaris 10.
14041         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14042         trivial.
14043
14044 2011-09-05  Bruno Haible  <bruno@clisp.org>
14045
14046         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14047         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14048         10.
14049         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14050         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14051         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14052         instead of acl_get, facl_get, acl_set, facl_set.
14053
14054 2011-09-05  Bruno Haible  <bruno@clisp.org>
14055
14056         copy-file: Try unit tests on more file systems.
14057         * tests/test-copy-file-1.sh: New file.
14058         * tests/test-copy-file-2.sh: New file.
14059         * modules/copy-file-tests (Files): Add them.
14060         (Makefile.am): Add them to TESTS.
14061
14062         acl: Try unit tests on more file systems.
14063         * tests/test-file-has-acl-1.sh: New file.
14064         * tests/test-file-has-acl-2.sh: New file.
14065         * tests/test-set-mode-acl-1.sh: New file.
14066         * tests/test-set-mode-acl-2.sh: New file.
14067         * tests/test-copy-acl-1.sh: New file.
14068         * tests/test-copy-acl-2.sh: New file.
14069         * modules/acl-tests (Files): Add them.
14070         (Makefile.am): Add them to TESTS.
14071
14072 2011-09-04  Bruno Haible  <bruno@clisp.org>
14073
14074         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14075         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14076         10.
14077         (OLD_ALLOW, OLD_DENY): New macros.
14078         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14079         ACE_ACCESS_ALLOWED_ACE_TYPE.
14080         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14081         ACE_ACCESS_DENIED_ACE_TYPE.
14082         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14083         (NEW_ACE_EXECUTE): Fix value.
14084         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14085         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14086         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14087         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14088         NEW_ACE_SYNCHRONIZE): New macros.
14089         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14090         instead of acl_fromtext, acl_set, facl_set.
14091         Fixes a coreutils/tests/cp/perm failure.
14092
14093 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14094
14095         openat: test for fstatat (..., 0) bug
14096         Further testing with tar suggests that fstatat (..., 0)
14097         does not work in general, on AIX 7.1; see
14098         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14099         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14100         replacement fstatat (which is what older AIX releases were using
14101         anyway).
14102         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14103         use is now changed to orig_fstatat.  This was probably the right
14104         thing to do anyway.
14105         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14106         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14107         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14108         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14109         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14110         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14111         if the bug is found.
14112
14113         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14114         This tests for another fstatat bug on AIX 7.1:
14115         fstatat (AT_FDCWD, ..., 0) does not work.  See
14116         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14117         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14118         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14119         (rpl_fstatat): Adjust so that it works around either (or both)
14120         bugs if present.
14121         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14122
14123 2011-09-03  Karl Berry  <karl@gnu.org>
14124
14125         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14126         in index entries.
14127
14128 2011-09-02  Bruno Haible  <bruno@clisp.org>
14129
14130         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14131         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14132         values of AR, ARFLAGS, RANLIB.
14133         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14134
14135 2011-09-02  Bruno Haible  <bruno@clisp.org>
14136
14137         Find 'ar' program that fits with --host argument.
14138         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14139
14140 2011-09-02  Bruno Haible  <bruno@clisp.org>
14141
14142         tests: init.sh: Support any non-GNU diff.
14143         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14144         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14145         Solaris 8.
14146
14147 2011-09-02  Bruno Haible  <bruno@clisp.org>
14148
14149         tests: init.sh: work also with any non-GNU diff that supports -u
14150         * tests/init.sh: Relax check for diff -u support.
14151         Rather than checking for GNU diff via --version, simply check
14152         for support for -u itself.  Useful at least on OpenBSD 4.9,
14153         AIX 7.1, IRIX 6.5, and Solaris 10.
14154
14155 2011-09-01  Bruno Haible  <bruno@clisp.org>
14156
14157         strtoimax, strtoumax: Document problem on HP-UX 11.
14158         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14159         * doc/posix-functions/strtoumax.texi: Likewise.
14160
14161 2011-09-01  Bruno Haible  <bruno@clisp.org>
14162
14163         strtoumax: Avoid link error on OSF/1 with DTK cc.
14164         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14165         defined as a function.
14166         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14167         strtoumax is defined, not whether it is declared.
14168
14169 2011-09-01  Bruno Haible  <bruno@clisp.org>
14170
14171         strtoimax: Avoid link error on OSF/1 with DTK cc.
14172         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14173         defined as a function.
14174         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14175         strtoimax is defined, not whether it is declared.
14176
14177 2011-09-01  Bruno Haible  <bruno@clisp.org>
14178
14179         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14180         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14181         as a function.
14182         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14183         whether it is declared.
14184
14185 2011-09-01  Bruno Haible  <bruno@clisp.org>
14186
14187         imaxabs: Avoid link error on OSF/1 with DTK cc.
14188         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14189         as a function.
14190         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14191         whether it is declared.
14192
14193 2011-09-01  Bruno Haible  <bruno@clisp.org>
14194
14195         Tests for module 'strtoumax'.
14196         * modules/strtoumax-tests: New file.
14197         * tests/test-strtoumax.c: New file.
14198
14199         Tests for module 'strtoimax'.
14200         * modules/strtoimax-tests: New file.
14201         * tests/test-strtoimax.c: New file.
14202
14203         Tests for module 'imaxdiv'.
14204         * modules/imaxdiv-tests: New file.
14205         * tests/test-imaxdiv.c: New file.
14206
14207         Tests for module 'imaxabs'.
14208         * modules/imaxabs-tests: New file.
14209         * tests/test-imaxabs.c: New file.
14210
14211 2011-09-01  Bruno Haible  <bruno@clisp.org>
14212
14213         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14214         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14215         pthread_create.
14216
14217 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         openat: work around AIX 7.1 fstatat issue
14220         This should fix the problem that was not properly fixed
14221         in the previous change, dated 2011-08-30.
14222         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14223         __need_system_stat_h defined.
14224         (orig_fstatat) [HAVE_FSTATAT]: New function.
14225         (rpl_fstatat): Go back to the old way of doing things,
14226         except call orig_fstatat instead of fstatat.
14227         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14228         Remove unnecessary check whether fstatat fills in st_size etc.
14229
14230 2011-09-01  Bruno Haible  <bruno@clisp.org>
14231
14232         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14233         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14234         just include the system's header.
14235
14236 2011-08-31  Jim Meyering  <meyering@redhat.com>
14237
14238         tests: avoid spurious assertion failure in test-float.c on ppc64
14239         * tests/test-float.c (test_long_double): Comment out an assertion,
14240         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14241         with gcc-4.4.4.
14242
14243         maint: indent with spaces, not TABs
14244         I need to get in the habit of running gnulib's "make check".
14245         Both of these would have been caught.
14246         * m4/largefile.m4: Indent with spaces, not TABs.
14247         * lib/parse-datetime.y (iso_8601_time): Likewise.
14248         Spotted by Pádraig Brady.
14249
14250         test-parse-datetime.c: accommodate a relatively strict gcc warning
14251         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14252         to avoid a warning from gcc's -Werror=missing-declarations.
14253         Insert a few spaces-before-funcall-parenthesis.
14254
14255 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14256
14257         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14258         The parser now accepts ISO 8601 date-time strings with "T" as the
14259         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14260         with a space between the date and time strings.  Now it also parses
14261         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14262         variants like "2004-02-29T16:21:42.333-07:00"
14263         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14264         of day representation using the 'T' separator character.
14265         * doc/parse-datetime.texi (General date syntax): replace use of
14266         deprecated --iso-8601 option with --rfc-3339 in example of date
14267         command output formats that can be parsed.
14268         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14269         lib/parse-datetime.y.
14270         (gmt_offset): New function.
14271         (main): Add additional test cases to validate ISO8601 extended
14272         date and time of day parsing.
14273
14274 2011-08-31  Bruno Haible  <bruno@clisp.org>
14275
14276         freopen: Documentation.
14277         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14278         name.
14279         Reported by Claudio Bley <claudio.bley@gmail.com>.
14280
14281 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14282
14283         freopen: Don't crash if the filename argument is NULL.
14284         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14285         NULL.
14286
14287 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14288
14289         openat: work around AIX 7.1 fstatat bug
14290         Problem reported by Kevin Brott for GNU tar, in the thread containing
14291         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14292         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14293         FSTATAT_ST_SIZE_ETC_BROKEN.
14294         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14295         rpl_fstatat.
14296         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14297         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14298         AC_CHECK_FUNCS_ONCE for fstatat.
14299         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14300         fchmodat, mkdirat, openat and unlinkat.
14301
14302 2011-08-30  Bruno Haible  <bruno@clisp.org>
14303
14304         Avoid endless recursions if config.h includes some header files.
14305         * lib/fopen.c (__need_FILE): Define already before including config.h.
14306         * lib/freopen.c (__need_FILE): Likewise.
14307         * lib/open.c (__need_system_fcntl_h): Likewise.
14308         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14309         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14310         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14311
14312 2011-08-25  Karl Berry  <karl@gnu.org>
14313
14314         * config/srclist.txt (ylwrap): new try.
14315         * build-aux/ylwrap: new file.
14316
14317 2011-08-23  Bruno Haible  <bruno@clisp.org>
14318
14319         tmpdir: Use a good default directory on native Windows.
14320         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14321         (P_tmpdir): Default to _P_tmpdir on native Windows.
14322         (path_search): On native Windows, try the value returned by GetTempPath
14323         before trying P_tmpdir.
14324         * modules/tmpdir (Depends-on): Add pathmax.
14325         Suggested by John Darrington <john@darrington.wattle.id.au>.
14326
14327 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14328
14329         doc: fix typo in README-release
14330         * top/README-release: Capitalize first word of a sentence.
14331
14332 2011-08-19  Jim Meyering  <meyering@redhat.com>
14333
14334         fts: do not exhaust memory when processing million-entry directories
14335         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14336         directory would require about 256*N bytes of memory.  Thus, it was
14337         easy to construct a directory too large to be processed by any of
14338         those tools.  With this change, fts' maximum memory utilization is
14339         now limited to around 30MB.
14340         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14341         (fts_read): When we've processed the final entry (i.e., when
14342         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14343         using the parent entry to read any remaining entries.  Dispatch
14344         depending on what fts_build returns:
14345         - NULL+stop, aka failure: stop
14346         - NULL otherwise: move up in the dir hierarchy
14347         - non-NULL: handle this new entry
14348         (fts_build): Declare and use new local, continue_readdir.
14349         Prepare to be called from fts_read, when the entries
14350         from a partially-read directory have just been exhausted.
14351         In that case, we'll skip the opendir and instead use the parent's
14352         fts_dirp and derive dir_fd from that.
14353         Finally, in the readdir loop, if we read max_entries entries,
14354         exit the loop ensuring *not* to call closedir.  This is required
14355         so that fts_dirp can be reused on a subsequent call.
14356         Prompted by Ben England's report of memory exhaustion in find
14357         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14358
14359         maint: fts: move decl of `dp' down into while loop; split a long line
14360         * lib/fts.c (fts_build): No semantic change.
14361
14362         fts: add/use new struct member, fts_dirp
14363         We are about to use this to manage any directory with
14364         too many entries to read all of them into memory at once.
14365         To do that, we'll need to save the DIR* pointer in each
14366         affected FTSENT struct.
14367         * lib/fts_.h: Include <dirent.h>.
14368         (struct FTSENT) [fts_dirp]: New member.
14369         * lib/fts.c (closedir_and_clear): Define.
14370         Use it in place of closedir so that we are sure to
14371         clear the new fts_dirp member when done with it.
14372         (fts_alloc): Initialize the new member.
14373         (fts_lfree): Free, if needed.
14374
14375         maint: fts: give __opendir2 a new parameter and rename
14376         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14377         than surreptitiously using sole caller's "dir_fd".
14378         (fts_opendir): Rename from __opendir2.
14379
14380         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14381         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14382
14383         maint: fts.c: correct off-by-one indentation
14384         * lib/fts.c (fts_build): Correct indentation, change style
14385         of a couple of block comments, and bracing style.
14386
14387         maint: fts.c: move __opendir2 #define "up" out of function body
14388         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14389
14390         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14391         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14392         out for a long time and besides was useful only on BSD systems.
14393
14394 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14395
14396         regex: port to Stratus OpenVOS
14397         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14398         define to empty, rather than attempting nonportable optimizations.
14399         Problem reported by Paul Green in:
14400         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14401         and fix suggested by Eric Blake in:
14402         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14403
14404 2011-08-17  Eric Blake  <eblake@redhat.com>
14405
14406         getcwd: fix test failures on mingw
14407         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14408         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14409         test if long directory cannot be created, and allow mingw errno.
14410
14411         getcwd-lgpl: fix m4 to match relaxed test for BSD
14412         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14413         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14414         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14415         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14416         signature problem.
14417
14418         getcwd: fix compilation on mingw64
14419         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14420         getcwd.
14421         Reported by Marc-André Lureau.
14422
14423         pipe2: silence compiler warning
14424         * lib/pipe2.c (pipe2): Hide label if it is not used.
14425
14426 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14427
14428         relocatable-prog: fix link error
14429         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14430         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14431         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14432         into modules/relocatable-lib without noticing that
14433         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14434         also needs to build relocatable.c.
14435
14436 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14437
14438         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14439         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14440         shell code: it contained a 'break' that was not in a loop.
14441         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14442         via a shell-language loop; this may have been true in old Autoconf
14443         versions, but it's not true in Autoconf 2.68.  I found this bug
14444         when testing coreutils git on Solaris 8, whose shell complains
14445         about the syntax error.
14446
14447 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14448
14449         * lib/base64.c: Fix comment to reference RFC 4648.
14450         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14451         <gvtulder@gmail.com>.
14452
14453 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14456
14457         po/Makefile.in.in: fix make -q problem
14458         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14459         rule, since there's no file named 'check-macro-version' and its
14460         use as a file breaks make -q.
14461         (all): Don't depend on check-macro-version.
14462         (CHECK_MACRO_VERSION): New macro.
14463         (stamp-po): Use it.
14464
14465         configmake: fix make -q problem
14466         * modules/configmake (configmake.h): Update configmake.h's time stamp
14467         even if the file does not change.  Otherwise, 'make -q' fails.
14468         Problem reported by Simon Josefsson in
14469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14470
14471 2011-08-11  Jim Meyering  <meyering@redhat.com>
14472
14473         git-version-gen: correct the advice in a comment
14474         * build-aux/git-version-gen: Correct comment.
14475         Don't recommend to list .tarball-version in .gitignore.
14476
14477 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14478
14479         base64: fix off-by-one buffer size bug
14480         Problem and (trivial) fix reported by Gijs van Tulder in
14481         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14482         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14483         * tests/test-base64.c (main): Catch the bug.
14484
14485 2011-08-10  Eric Blake  <eblake@redhat.com>
14486
14487         closein: correct comments
14488         * lib/closein.c (close_stdin): Improve comments.
14489
14490 2011-08-09  Bruno Haible  <bruno@clisp.org>
14491
14492         More tests for 'fseeko'.
14493         * tests/test-fseeko3.c: New file, from Eric Blake.
14494         * tests/test-fseeko3.sh: New file.
14495         * modules/fseeko-tests (Files): Add them.
14496         (TESTS): Add test-fseeko3.sh.
14497         (check_PROGRAMS): Add test-fseeko3.
14498
14499 2011-08-09  Eric Blake  <eblake@redhat.com>
14500
14501         fseeko: remove unneeded hack
14502         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14503
14504         fseeko: fix bug on glibc
14505         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14506         Reported by John W. Eaton.
14507
14508 2011-08-08  Bruno Haible  <bruno@clisp.org>
14509
14510         unictype/base: Fix interoperability with preinstalled libunistring.
14511         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14512         Reported by Simon Josefsson.
14513
14514 2011-08-08  Bruno Haible  <bruno@clisp.org>
14515
14516         iswblank: Detect declaration correctly.
14517         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14518         AC_CHECK_DECLS invocation.
14519
14520 2011-08-08  Bruno Haible  <bruno@clisp.org>
14521
14522         tcgetsid: Detect declaration correctly.
14523         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14524         AC_CHECK_DECLS invocation.
14525         Reported by Simon Josefsson.
14526
14527 2011-08-08  Eric Blake  <eblake@redhat.com>
14528
14529         largefile: fix typo that regressed large file support
14530         * modules/largefile (configure.ac-early): Fix section name.
14531
14532 2011-08-06  Karl Berry  <karl@gnu.org>
14533
14534         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14535         a separate module.
14536
14537 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14538
14539         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14540         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14541         get prototype for free.
14542
14543 2011-08-04  Bruno Haible  <bruno@clisp.org>
14544
14545         Tests for module 'pathmax'.
14546         * modules/pathmax-tests: New file.
14547         * tests/test-pathmax.c: New file.
14548
14549         canonicalize-lgpl: Support larger filenames on the Hurd.
14550         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14551         Reported by Paul Eggert.
14552
14553         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14554         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14555         * lib/chdir-long.h: Include pathmax.h.
14556         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14557         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14558         (PATH_MAX): Remove code that is done by pathmax.h.
14559         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14560         * lib/tmpfile.c: Add a comment.
14561         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14562         * modules/chdir-long (Depends-on): Add pathmax.
14563         * modules/getcwd (Depends-on): Add pathmax.
14564         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14565         is not defined.
14566         * doc/posix-headers/limits.texi: Mention the pathmax module.
14567         * NEWS: Mention the change.
14568
14569 2011-08-02  Bruno Haible  <bruno@clisp.org>
14570
14571         pthread_sigmask: Actually use results of gl_THREADLIB.
14572         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14573         gl_THREADLIB, not gl_[]THREADLIB.
14574         Reported by Eric Blake.
14575
14576 2011-08-02  Jim Meyering  <meyering@redhat.com>
14577
14578         maint.mk: relax the default _gl_TS_function_match regexp
14579         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14580         space between function name and "(" in an "extern" declaration.
14581         That would fail to match a decl with no space there: extern void foo();
14582
14583 2011-07-31  Iain Nicol  <iain@thenicols.net>
14584
14585         git-version-gen: document that EXTRA_DIST must include .version
14586         * build-aux/git-version-gen: In the how-to-use comment, document
14587         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14588         will fail when run from an unpacked distribution tarball.
14589
14590 2011-08-01  Bruno Haible  <bruno@clisp.org>
14591
14592         wctype-h: Fix last change.
14593         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14594         REPLACE_TOWLOWER to 0.
14595         Reported by Sam Steingold <sds@gnu.org>.
14596
14597 2011-07-31  Bruno Haible  <bruno@clisp.org>
14598
14599         frexpl: Update autoconf test.
14600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14601         according to changes of 2011-06-20.
14602
14603 2011-07-31  Bruno Haible  <bruno@clisp.org>
14604
14605         sys_utsname: Add support for Minix.
14606         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14607         <sys/utsname.h>.
14608         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14609         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14610
14611 2011-07-31  Bruno Haible  <bruno@clisp.org>
14612
14613         strings: Add support for Minix.
14614         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14615         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14616         * doc/posix-headers/strings.texi: Document the Minix problem.
14617
14618 2011-07-31  Bruno Haible  <bruno@clisp.org>
14619
14620         wctype-h: Add support for Minix.
14621         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14622         REPLACE_TOWLOWER.
14623         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14624         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14625         REPLACE_ISWCNTRL.
14626
14627 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14628
14629         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14630         This is a performance improvement for 64-bit hosts: it causes the
14631         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14632
14633 2011-07-31  Bruno Haible  <bruno@clisp.org>
14634
14635         stdioext: Add support for Minix.
14636         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14637         * lib/fpurge.c (fpurge): Likewise.
14638         * lib/freadahead.c (freadahead): Likewise.
14639         * lib/freadable.c (freadable): Likewise.
14640         * lib/freading.c (freading): Likewise.
14641         * lib/freadptr.c (freadptr): Likewise.
14642         * lib/freadseek.c (freadptrinc): Likewise.
14643         * lib/fseeko.c (rpl_fseeko): Likewise.
14644         * lib/fseterr.c (fseterr): Likewise.
14645         * lib/fwritable.c (fwritable): Likewise.
14646         * lib/fwriting.c (fwriting): Likewise.
14647         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14648         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14649
14650 2011-07-31  Bruno Haible  <bruno@clisp.org>
14651
14652         errno: Port to Minix.
14653         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14654         ECONNABORTED are defined.
14655         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14656         GNULIB_defined_ECONNABORTED): New macros.
14657         * lib/strerror-override.h (strerror_override): Test also
14658         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14659         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14660         ECONNABORTED.
14661         * doc/posix-headers/errno.texi: Mention the Minix problem.
14662
14663 2011-07-31  Bruno Haible  <bruno@clisp.org>
14664
14665         Work around declaration collisions on Minix.
14666         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14667         defined, set REPLACE_MBSINIT.
14668         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14669         defined, set REPLACE_MBRTOWC.
14670         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14671         set REPLACE_MBRLEN.
14672         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14673         defined, set REPLACE_MBSRTOWCS.
14674         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14675         defined, set REPLACE_WCRTOMB.
14676         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14677         defined, set REPLACE_WCSRTOMBS.
14678
14679 2011-07-31  Bruno Haible  <bruno@clisp.org>
14680
14681         Add support for Minix with ACK compiler.
14682         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14683         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14684         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14685
14686 2011-07-31  Bruno Haible  <bruno@clisp.org>
14687
14688         Documentation about Minix.
14689         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14690         * doc/glibc-headers/*.texi: Likewise.
14691         * doc/posix-functions/*.texi: Likewise.
14692         * doc/glibc-functions/*.texi: Likewise.
14693
14694 2011-07-31  Bruno Haible  <bruno@clisp.org>
14695
14696         snippet/warn-on-use: Fix indentation.
14697         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14698
14699 2011-07-25  Jim Meyering  <meyering@redhat.com>
14700
14701         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14702         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14703         commands.
14704
14705 2011-07-27  Jim Meyering  <meyering@redhat.com>
14706
14707         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14708         * top/maint.mk (gl_extract_significant_defines_): Now that
14709         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14710         gnulib/lib/signal.in.h, and now that we recommend to
14711         define-if-undefined those two symbols in application code,
14712         we must filter them out of the "significant" list.
14713         This avoids a "make syntax-check" failure in coreutils.
14714
14715 2011-07-26  Eric Blake  <eblake@redhat.com>
14716
14717         warnings: add comments about previous patch
14718         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14719         * m4/include_next.m4: Likewise.
14720         * m4/warn-on-use.m4: Likewise.
14721         * m4/warnings.m4: Likewise, and simplify use.
14722         Suggested by Stefano Lattarini.
14723
14724         include-next, warnings: support older autoconf
14725         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14726         AS_VAR_PUSHDEF in a way that works with older autoconf.
14727         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14728         Reported by Daniel P. Berrange.
14729
14730 2011-07-25  Bruno Haible  <bruno@clisp.org>
14731
14732         fseek, ftell: Fix doc.
14733         * doc/posix-functions/fseek.texi: Reword statement about
14734         AC_SYS_LARGEFILE.
14735         * doc/posix-functions/ftell.texi: Likewise.
14736
14737 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14738             Bruno Haible  <bruno@clisp.org>
14739
14740         Add dependencies to the 'largefile' module.
14741         * modules/fopen (Depends-on): Add 'largefile'.
14742         * modules/freopen (Depends-on): Likewise.
14743         * modules/fseeko (Depends-on): Likewise.
14744         * modules/ftello (Depends-on): Likewise.
14745         * modules/glob (Depends-on): Likewise.
14746         * modules/lseek (Depends-on): Likewise.
14747         * modules/lstat (Depends-on): Likewise.
14748         * modules/mkostemp (Depends-on): Likewise.
14749         * modules/mkostemps (Depends-on): Likewise.
14750         * modules/mkstemp (Depends-on): Likewise.
14751         * modules/mkstemps (Depends-on): Likewise.
14752         * modules/open (Depends-on): Likewise.
14753         * modules/openat (Depends-on): Likewise.
14754         * modules/pread (Depends-on): Likewise.
14755         * modules/pwrite (Depends-on): Likewise.
14756         * modules/scandir (Depends-on): Likewise.
14757         * modules/stat (Depends-on): Likewise.
14758         * modules/tmpfile (Depends-on): Likewise.
14759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14760         since the containing module now depends on the largefile module.
14761         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14762         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14763         off_t is fixed by gnulib.
14764         * doc/posix-functions/freopen.texi: Likewise.
14765         * doc/posix-functions/fseeko.texi: Likewise.
14766         * doc/posix-functions/fstatat.texi: Likewise.
14767         * doc/posix-functions/ftello.texi: Likewise.
14768         * doc/posix-functions/glob.texi: Likewise.
14769         * doc/posix-functions/lseek.texi: Likewise.
14770         * doc/posix-functions/lstat.texi: Likewise.
14771         * doc/posix-functions/mkstemp.texi: Likewise.
14772         * doc/posix-functions/open.texi: Likewise.
14773         * doc/posix-functions/openat.texi: Likewise.
14774         * doc/posix-functions/pread.texi: Likewise.
14775         * doc/posix-functions/pwrite.texi: Likewise.
14776         * doc/posix-functions/scandir.texi: Likewise.
14777         * doc/posix-functions/stat.texi: Likewise.
14778         * doc/posix-functions/tmpfile.texi: Likewise.
14779         * doc/glibc-functions/mkostemp.texi: Likewise.
14780         * doc/glibc-functions/mkostemps.texi: Likewise.
14781         * doc/glibc-functions/mkstemps.texi: Likewise.
14782
14783 2011-07-25  Bruno Haible  <bruno@clisp.org>
14784
14785         fcntl: Move AC_LIBOBJ invocation to module description.
14786         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
14787         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
14788
14789         fcntl: Remove call-in from fchdir.m4.
14790         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
14791         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
14792
14793         dup3: Remove potential call-in from fchdir.m4.
14794         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
14795         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
14796
14797         dup2: Move AC_LIBOBJ invocation to module description.
14798         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
14799         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
14800         Don't invoke AC_LIBOBJ.
14801         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
14802
14803         dup2: Remove call-in from fchdir.m4.
14804         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
14805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
14806
14807         fclose: Move AC_LIBOBJ invocation to module description.
14808         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
14809         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
14810         to 1.
14811         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
14812
14813         fclose: Remove call-in from close.m4.
14814         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
14815         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
14816
14817         close: Move AC_LIBOBJ invocation to module description.
14818         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
14819         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
14820         1.
14821         * modules/close (configure.ac): Invoke AC_LIBOBJ.
14822
14823         close: Remove call-in from fchdir.m4.
14824         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
14825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
14826
14827         open: Move AC_LIBOBJ invocation to module description.
14828         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
14829         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
14830         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
14831
14832         open: Remove call-in from fchdir.m4.
14833         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
14834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
14835
14836         fchdir: Start to remove gl_REPLACE_* idiom.
14837         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
14838         (gl_FUNC_FCHDIR): Invoke it.
14839
14840 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14841
14842         * lib/ftell.c (ftell): Comment out cast.
14843
14844         close: use gl_REPLACE_FCLOSE only if defined
14845         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
14846         is defined.  The close module doesn't depend on the fclose module
14847         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
14848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
14849         I reproduced the problem with "./gnulib-tool --test close sys_socket".
14850
14851 2011-07-24  Jim Meyering  <meyering@redhat.com>
14852
14853         test-select.h: avoid warning when using gcc's -Wmissing-declarations
14854         * tests/test-select.h (test_function): Declare as "static".
14855
14856 2011-07-24  Bruno Haible  <bruno@clisp.org>
14857
14858         doc: Mention the effects of AC_SYS_LARGEFILE.
14859         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
14860         on this function.
14861         * doc/posix-functions/aio_error.texi: Likewise.
14862         * doc/posix-functions/aio_fsync.texi: Likewise.
14863         * doc/posix-functions/aio_read.texi: Likewise.
14864         * doc/posix-functions/aio_return.texi: Likewise.
14865         * doc/posix-functions/aio_suspend.texi: Likewise.
14866         * doc/posix-functions/aio_write.texi: Likewise.
14867         * doc/posix-functions/fgetpos.texi: Likewise.
14868         * doc/posix-functions/fopen.texi: Likewise.
14869         * doc/posix-functions/freopen.texi: Likewise.
14870         * doc/posix-functions/fsetpos.texi: Likewise.
14871         * doc/posix-functions/fstatvfs.texi: Likewise.
14872         * doc/posix-functions/ftruncate.texi: Likewise.
14873         * doc/posix-functions/ftw.texi: Likewise.
14874         * doc/posix-functions/getrlimit.texi: Likewise.
14875         * doc/posix-functions/glob.texi: Likewise.
14876         * doc/posix-functions/lio_listio.texi: Likewise.
14877         * doc/posix-functions/lockf.texi: Likewise.
14878         * doc/posix-functions/mkstemp.texi: Likewise.
14879         * doc/posix-functions/mmap.texi: Likewise.
14880         * doc/posix-functions/nftw.texi: Likewise.
14881         * doc/posix-functions/openat.texi: Likewise.
14882         * doc/posix-functions/opendir.texi: Likewise.
14883         * doc/posix-functions/posix_fadvise.texi: Likewise.
14884         * doc/posix-functions/posix_fallocate.texi: Likewise.
14885         * doc/posix-functions/pread.texi: Likewise.
14886         * doc/posix-functions/pwrite.texi: Likewise.
14887         * doc/posix-functions/readdir.texi: Likewise.
14888         * doc/posix-functions/readdir_r.texi: Likewise.
14889         * doc/posix-functions/rewinddir.texi: Likewise.
14890         * doc/posix-functions/scandir.texi: Likewise.
14891         * doc/posix-functions/seekdir.texi: Likewise.
14892         * doc/posix-functions/setrlimit.texi: Likewise.
14893         * doc/posix-functions/statvfs.texi: Likewise.
14894         * doc/posix-functions/telldir.texi: Likewise.
14895         * doc/posix-functions/tmpfile.texi: Likewise.
14896         * doc/posix-functions/truncate.texi: Likewise.
14897         * doc/glibc-functions/fallocate.texi: Likewise.
14898         * doc/glibc-functions/fstatfs.texi: Likewise.
14899         * doc/glibc-functions/fts_children.texi: Likewise.
14900         * doc/glibc-functions/fts_read.texi: Likewise.
14901         * doc/glibc-functions/getdirentries.texi: Likewise.
14902         * doc/glibc-functions/mkostemp.texi: Likewise.
14903         * doc/glibc-functions/mkostemps.texi: Likewise.
14904         * doc/glibc-functions/mkstemps.texi: Likewise.
14905         * doc/glibc-functions/preadv.texi: Likewise.
14906         * doc/glibc-functions/pwritev.texi: Likewise.
14907         * doc/glibc-functions/sendfile.texi: Likewise.
14908         * doc/glibc-functions/statfs.texi: Likewise.
14909
14910 2011-07-24  Bruno Haible  <bruno@clisp.org>
14911
14912         doc: Fix typo.
14913         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
14914
14915 2011-07-24  Bruno Haible  <bruno@clisp.org>
14916
14917         doc: Mention fsusage.
14918         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
14919
14920 2011-07-24  Bruno Haible  <bruno@clisp.org>
14921
14922         doc: Mention new glibc headers and functions.
14923         * doc/glibc-headers/gshadow.texi: New file.
14924         * doc/glibc-functions/endsgent.texi: New file.
14925         * doc/glibc-functions/fgetsgent.texi: New file.
14926         * doc/glibc-functions/fgetsgent_r.texi: New file.
14927         * doc/glibc-functions/getsgent.texi: New file.
14928         * doc/glibc-functions/getsgent_r.texi: New file.
14929         * doc/glibc-functions/getsgnam.texi: New file.
14930         * doc/glibc-functions/getsgnam_r.texi: New file.
14931         * doc/glibc-functions/putsgent.texi: New file.
14932         * doc/glibc-functions/setsgent.texi: New file.
14933         * doc/glibc-functions/sgetsgent.texi: New file.
14934         * doc/glibc-functions/sgetsgent_r.texi: New file.
14935         * doc/glibc-functions/malloc_info.texi: New file.
14936         * doc/glibc-functions/preadv.texi: New file.
14937         * doc/glibc-functions/pwritev.texi: New file.
14938         * doc/glibc-functions/register_printf_modifier.texi: New file.
14939         * doc/glibc-functions/register_printf_specifier.texi: New file.
14940         * doc/glibc-functions/register_printf_type.texi: New file.
14941         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
14942         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
14943         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
14944         * doc/glibc-functions/pthread_getname_np.texi: New file.
14945         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
14946         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
14947         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
14948         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
14949         * doc/glibc-functions/pthread_setname_np.texi: New file.
14950         * doc/glibc-functions/pthread_sigqueue.texi: New file.
14951         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
14952         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
14953         * doc/glibc-functions/qsort_r.texi: New file.
14954         * doc/glibc-functions/quick_exit.texi: New file.
14955         * doc/glibc-functions/syncfs.texi: New file.
14956         * doc/gnulib.texi: Include them.
14957         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
14958         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
14959         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
14960         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
14961         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
14962         * doc/glibc-functions/execvpe.texi: Likewise.
14963
14964 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14965
14966         ftell: don't include <unistd.h>
14967         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
14968         guaranteed to define off_t, and the ftell module depends on the
14969         stdio module.
14970
14971         ftell: do not assume wraparound signed arithmetic
14972         * lib/ftell.c: Include <limits.h>.
14973         (ftell): Don't assume wraparound signed arithmetic.
14974
14975 2011-07-24  Bruno Haible  <bruno@clisp.org>
14976
14977         close: No longer depend on module 'fclose'.
14978         * modules/close (Depends-on): Remove fclose.
14979         * NEWS: Mention the change.
14980         Suggested by Sam Steingold <sds@gnu.org>.
14981
14982 2011-07-24  Bruno Haible  <bruno@clisp.org>
14983
14984         fsusage: Enable large volume support on AIX >= 5.2.
14985         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
14986         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
14987         instead of STAT_STATVFS.
14988         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
14989
14990         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
14991         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
14992         f_blocks field only on MacOS X.
14993
14994         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
14995         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
14996         * modules/fsusage (Depends-on): Add largefile.
14997
14998 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14999
15000         * README: Modernize discussion of signed integers.
15001         Assuming overflow wraparound is no longer safe.
15002         Mention ones' complement and signed magnitude.
15003
15004 2011-07-22  Bruno Haible  <bruno@clisp.org>
15005
15006         select tests, pselect tests: Refactor.
15007         * tests/test-select.h: New file, extracted from tests/test-select.c.
15008         (select_fn): New type.
15009         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15010         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15011         test_pipe): Add my_select argument.
15012         (test_function): Renamed from main. Add my_select argument.
15013         * tests/test-select.c: Move most code to tests/test-select.h. Include
15014         test-select.h.
15015         * modules/select-tests (Files): Add tests/test-select.h.
15016         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15017         (my_select, main): New functions.
15018         * modules/pselect-tests (Files): Add tests/test-select.h,
15019         tests/macros.h, tests/signature.h.
15020         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15021         (configure.ac): Check for <sys/wait.h>.
15022
15023 2011-07-22  Bruno Haible  <bruno@clisp.org>
15024
15025         sys_select tests: Check the signature of FD_*.
15026         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15027         signature tests from here...
15028         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15029         here.
15030         * modules/sys_select-tests (Files): Add tests/signature.h.
15031
15032 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15033
15034         largefile: new module, replacing large-inode
15035         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15036         * MODULES.html.sh: Add largefile, remove large-inode.
15037         * modules/largefile, m4/largefile.m4: New files.
15038         * modules/large-inode, m4/large-inode.m4: Remove.
15039
15040         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15041         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15042         implementations that use only 32 bits to count blocks.
15043         On typical hosts with 1024-byte blocks, this fails with file
15044         systems as small as 4 TiB.  Problem reported by Herb Wartens
15045         <http://debbugs.gnu.org/9140> and this should also fix a similar
15046         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15047
15048         large-inode: New module
15049         * MODULES.html.sh: Add it.
15050         * modules/large-inode, m4/large-inode.m4: New files.
15051
15052         extensions: Enable extensions on MacOS X 10.5 and later.
15053         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15054
15055 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15056
15057         file-has-acl: use acl_extended_file_nofollow if available
15058         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15059         (acl_extended_file): New macro.
15060         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15061         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15062
15063 2011-07-21  Bruno Haible  <bruno@clisp.org>
15064
15065         Declare system functions in a way that works with C++.
15066         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15067         declare fdopendir as extern "C".
15068         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15069         declare frexpl as extern "C".
15070         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15071         declare gai_strerror as extern "C".
15072         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15073         programs, declare gai_strerror as extern "C".
15074         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15075         declare getlogin_r as extern "C".
15076         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15077         as extern "C".
15078         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15079         declare ldexpl as extern "C".
15080         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15081         as extern "C".
15082         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15083         program, declare getmntinfo as extern "C".
15084         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15085         stpncpy as extern "C".
15086         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15087         program, declare __xpg_strerror_r as extern "C".
15088         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15089         strndup as extern "C".
15090         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15091         declare memset and bzero as extern "C".
15092         Reported by Sam Steingold <sds@gnu.org>.
15093
15094 2011-07-12  Jim Meyering  <meyering@redhat.com>
15095
15096         maint.mk: prohibit inclusion of "verify.h" without use
15097         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15098
15099 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15100
15101         timer-time: A new module to check for timer_settime()
15102         * m4/timer_time.m4: Check for the posix function.
15103         * modules/timer-time: Add the new module.
15104         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15105         Mention it.
15106
15107 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15108             Bruno Haible  <bruno@clisp.org>
15109
15110         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15111         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15112         not defined, assume POSIX threads and look for pthread_sigmask in
15113         $LIBS, without changing $CPPFLAGS.
15114
15115 2011-07-19  Bruno Haible  <bruno@clisp.org>
15116
15117         strstr: Update cross-compilation guess.
15118         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15119         CPUs, guess no, in view of glibc
15120         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15121         Suggested by Eric Blake. Reported by Reuben Thomas.
15122
15123 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15124
15125         getopt-gnu: suppress core dumps from detection code
15126         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15127         to suppress core dumps that may well occur on glibc systems.
15128         * modules/getopt-gnu: Depend on nocrash.
15129
15130 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15131
15132         pthread_sigmask: ensure usleep is declared
15133         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15134         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15135
15136 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15137
15138         doc: Document NonStop portability issues.
15139         * doc/posix-functions/sigaction.texi (sigaction):
15140         * doc/posix-headers/signal.texi (signal.h):
15141         Document NonStop.  See Joachim Schmitz in
15142         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15143
15144 2011-07-15  Bruno Haible  <bruno@clisp.org>
15145
15146         ffsl, ffsll: Avoid unportable behaviour.
15147         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15148
15149 2011-07-15  Bruno Haible  <bruno@clisp.org>
15150
15151         ffs: More tests.
15152         * tests/test-ffs.c (NBITS): New macro.
15153         (main): Add more tests.
15154         * tests/test-ffsl.c (NBITS): New macro.
15155         (main): Add more tests.
15156         * tests/test-ffsll.c (NBITS): New macro.
15157         (main): Add more tests.
15158
15159 2011-07-15  Eric Blake  <eblake@redhat.com>
15160
15161         ffsl, ffsll: new modules
15162         * modules/ffsl: New file.
15163         * modules/ffsll: Likewise.
15164         * m4/ffsl.m4: Likewise.
15165         * m4/ffsll.m4: Likewise.
15166         * lib/ffsl.c: Likewise.
15167         * lib/ffsl.h: Likewise.
15168         * lib/ffsll.c: Likewise.
15169         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15170         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15171         * modules/string (Makefile.am): Substitute witnesses.
15172         * lib/strings.in.h (ffsl, ffsll): Declare.
15173         * modules/ffsl-tests: New test file.
15174         * modules/ffsll-tests: Likewise.
15175         * tests/test-ffsl.c: Likewise.
15176         * tests/test-ffsll.c: Likewise.
15177         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15178         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15179         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15180
15181         ffs: fix m4 prerequisite
15182         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15183
15184         ffs: avoid undefined behavior
15185         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15186         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15187         Reported by Bruno Haible.
15188
15189 2011-07-12  Bruno Haible  <bruno@clisp.org>
15190
15191         pthread_sigmask: Rely on module 'threadlib'.
15192         * modules/pthread_sigmask (Depends-on): Add threadlib.
15193         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15194         is defined.
15195
15196 2011-07-12  Bruno Haible  <bruno@clisp.org>
15197
15198         regex: Depend on module 'strcase'.
15199         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15200
15201 2011-07-12  Jim Meyering  <meyering@redhat.com>
15202
15203         warn-on-use: fix typo in file name
15204         * modules/snippet/warn-on-use (Files): Correct file name:
15205         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15206
15207 2011-07-12  Bruno Haible  <bruno@clisp.org>
15208
15209         strings: Document module.
15210         * doc/posix-headers/strings.texi: Mention module 'strings'.
15211
15212 2011-07-12  Bruno Haible  <bruno@clisp.org>
15213
15214         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15215         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15216         (Files, Makefile.am): Update.
15217         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15218         * modules/stdlib (Depends-on): Update.
15219
15220 2011-07-12  Bruno Haible  <bruno@clisp.org>
15221
15222         * NEWS: Mention the changes.
15223
15224         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15225         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15226         (Files, Makefile.am): Update.
15227         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15228         * modules/arpa_inet (Depends-on): Update.
15229         * modules/ctype (Depends-on): Update.
15230         * modules/dirent (Depends-on): Update.
15231         * modules/fcntl-h (Depends-on): Update.
15232         * modules/glob (Depends-on): Update.
15233         * modules/iconv-h (Depends-on): Update.
15234         * modules/inttypes-incomplete (Depends-on): Update.
15235         * modules/langinfo (Depends-on): Update.
15236         * modules/locale (Depends-on): Update.
15237         * modules/math (Depends-on): Update.
15238         * modules/netdb (Depends-on): Update.
15239         * modules/poll-h (Depends-on): Update.
15240         * modules/pty (Depends-on): Update.
15241         * modules/search (Depends-on): Update.
15242         * modules/signal (Depends-on): Update.
15243         * modules/spawn (Depends-on): Update.
15244         * modules/stdio (Depends-on): Update.
15245         * modules/stdlib (Depends-on): Update.
15246         * modules/string (Depends-on): Update.
15247         * modules/strings (Depends-on): Update.
15248         * modules/sys_file (Depends-on): Update.
15249         * modules/sys_ioctl (Depends-on): Update.
15250         * modules/sys_select (Depends-on): Update.
15251         * modules/sys_socket (Depends-on): Update.
15252         * modules/sys_stat (Depends-on): Update.
15253         * modules/sys_time (Depends-on): Update.
15254         * modules/sys_times (Depends-on): Update.
15255         * modules/sys_utsname (Depends-on): Update.
15256         * modules/sys_wait (Depends-on): Update.
15257         * modules/termios (Depends-on): Update.
15258         * modules/time (Depends-on): Update.
15259         * modules/unistd (Depends-on): Update.
15260         * modules/wchar (Depends-on): Update.
15261         * modules/wctype-h (Depends-on): Update.
15262         * MODULES.html.sh (Support for building libraries and executables):
15263         Update.
15264
15265         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15266         * modules/snippet/unused-parameter: Renamed from
15267         modules/unused-parameter.
15268         (Files, Makefile.am): Update.
15269         * build-aux/snippet/unused-parameter.h: Renamed from
15270         build-aux/unused-parameter.h.
15271         * modules/selinux-h (Depends-on): Update.
15272         * modules/unistr/base (Depends-on): Update.
15273         * MODULES.html.sh (Core language properties): Update.
15274
15275         Rename module 'link-warning' to 'snippet/link-warning'.
15276         * modules/snippet/link-warning: Renamed from modules/link-warning.
15277         (Files, Makefile.am): Update.
15278         * build-aux/snippet/link-warning.h: Renamed from
15279         build-aux/link-warning.h.
15280         * MODULES.html.sh (Support for building libraries and executables):
15281         Update.
15282
15283         Rename module 'c++defs' to 'snippet/c++defs'.
15284         * modules/snippet/c++defs: Renamed from modules/c++defs.
15285         (Files, Makefile.am): Update.
15286         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.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/langinfo (Depends-on): Update.
15294         * modules/locale (Depends-on): Update.
15295         * modules/math (Depends-on): Update.
15296         * modules/netdb (Depends-on): Update.
15297         * modules/poll-h (Depends-on): Update.
15298         * modules/pty (Depends-on): Update.
15299         * modules/search (Depends-on): Update.
15300         * modules/signal (Depends-on): Update.
15301         * modules/spawn (Depends-on): Update.
15302         * modules/stdio (Depends-on): Update.
15303         * modules/stdlib (Depends-on): Update.
15304         * modules/string (Depends-on): Update.
15305         * modules/strings (Depends-on): Update.
15306         * modules/sys_ioctl (Depends-on): Update.
15307         * modules/sys_select (Depends-on): Update.
15308         * modules/sys_socket (Depends-on): Update.
15309         * modules/sys_stat (Depends-on): Update.
15310         * modules/sys_time (Depends-on): Update.
15311         * modules/sys_wait (Depends-on): Update.
15312         * modules/termios (Depends-on): Update.
15313         * modules/time (Depends-on): Update.
15314         * modules/unistd (Depends-on): Update.
15315         * modules/wchar (Depends-on): Update.
15316         * modules/wctype-h (Depends-on): Update.
15317
15318         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15319         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15320         (Files, Makefile.am): Update.
15321         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15322         * modules/argv-iter (Depends-on): Update.
15323         * modules/arpa_inet (Depends-on): Update.
15324         * modules/dirent (Depends-on): Update.
15325         * modules/fcntl-h (Depends-on): Update.
15326         * modules/fnmatch (Depends-on): Update.
15327         * modules/getopt-posix (Depends-on): Update.
15328         * modules/glob (Depends-on): Update.
15329         * modules/iconv-h (Depends-on): Update.
15330         * modules/inttypes-incomplete (Depends-on): Update.
15331         * modules/locale (Depends-on): Update.
15332         * modules/math (Depends-on): Update.
15333         * modules/netdb (Depends-on): Update.
15334         * modules/search (Depends-on): Update.
15335         * modules/signal (Depends-on): Update.
15336         * modules/spawn (Depends-on): Update.
15337         * modules/stdio (Depends-on): Update.
15338         * modules/stdlib (Depends-on): Update.
15339         * modules/string (Depends-on): Update.
15340         * modules/strings (Depends-on): Update.
15341         * modules/sys_socket (Depends-on): Update.
15342         * modules/sys_stat (Depends-on): Update.
15343         * modules/sys_time (Depends-on): Update.
15344         * modules/sys_times (Depends-on): Update.
15345         * modules/sys_utsname (Depends-on): Update.
15346         * modules/time (Depends-on): Update.
15347         * modules/unistd (Depends-on): Update.
15348         * modules/wchar (Depends-on): Update.
15349         * MODULES.html.sh (Support for building libraries and executables):
15350         Update.
15351
15352 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15353
15354         Improvements on _Noreturn and related modules.
15355
15356         modules/_Exit-tests: test _Noreturn too
15357         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15358         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15359         (main): Use them.
15360
15361         stdnoreturn, stdnoreturn-tests: remove modules
15362         They're not needed here and a bit premature for use elsewhere.  See
15363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15364         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15365         * tests/test-stdnoreturn.c: Remove files.
15366         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15367         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15368         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15369         and using noreturn.
15370         * modules/openat, modules/sigpipe-die, modules/xalloc:
15371         * modules/xmemdup0, modules/xstrtol:
15372         Remove dependency on stdnoreturn.
15373
15374         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15375         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15376         Reparenthesize to avoid GCC warning.
15377         Support Microsoft's syntax.
15378         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15379
15380         _Noreturn-tests: remove module
15381         * modules/_Noreturn-tests: Remove.
15382         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15383         * tests/test-_Noreturn.c: Remove.
15384         * tests/test-stdnoreturn.c: Merge from the old
15385         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15386
15387 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15388
15389         _Noreturn, stdnoreturn, and related modules.
15390
15391         * top/maint.mk: Adjust to new noreturn support.
15392         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15393         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15394
15395         xalloc: use stdnoreturn.h
15396         * lib/xalloc.h: Include <stdnoreturn.h>.
15397         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15398         * modules/xalloc (Depends-on): Add stdnoreturn.
15399
15400         xstrtol: use stdnoreturn.h
15401         * lib/xstrtol.h: Include <stdnoreturn.h>.
15402         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15403         * modules/xstrtol (Depends-on): Add stdnoreturn.
15404
15405         xmemdup0: use stdnoreturn.h
15406         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15407         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15408         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15409
15410         sigpipe-die: use stdnoreturn.h
15411         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15412         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15413         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15414
15415         openat: use stdnoreturn.h
15416         * lib/openat.h: Include <stdnoreturn.h>.
15417         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15418         * modules/openat (Depends-on): Add stdnoreturn.
15419
15420         * lib/openat-die.c (openat_save_fail): Modernize comment.
15421
15422         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15423
15424         * lib/glthread/thread.h: Modernize comment.
15425
15426         obstack: use _Noreturn
15427         * lib/obstack.c (__attribute__): Remove macro.
15428         (print_and_abort): Use _Noreturn.
15429
15430         c-stack: use _Noreturn
15431         * lib/c-stack.c (die, overflow_handler, segv_handler):
15432         Use _Noreturn rather than __attribute__((noreturn)).
15433
15434         argmatch-tests, exclude_tests: use _Noreturn
15435         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15436         Remove.
15437         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15438
15439         stdlib: use _Noreturn
15440         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15441         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15442         * modules/stdlib (Depends-on): Add _Noreturn.
15443         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15444
15445         stdnoreturn-tests: new module
15446         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15447
15448         stdnoreturn: new module
15449         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15450         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15451
15452         _Noreturn-tests: new module
15453         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15454
15455         _Noreturn: new module
15456         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15457         New section, mentioning it.
15458         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15459
15460         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15461
15462 2011-07-11  Eric Blake  <eblake@redhat.com>
15463
15464         ffs: new module
15465         * modules/ffs: New file.
15466         * m4/ffs.m4: Likewise.
15467         * lib/ffs.c: Likewise.
15468         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15469         * modules/strings (Makefile.am): Substitute witness.
15470         (Depends-on): Add c++defs.
15471         * lib/strings.in.h (ffs): Declare.
15472         * modules/ffs-tests: New test file.
15473         * tests/test-ffs.c: Test new module.
15474         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15475         * doc/posix-functions/ffs.texi (ffs): Likewise.
15476
15477         regex: avoid compiler warning
15478         * lib/regex.c (includes): Include <strings.h>, for use of
15479         strcasecmp in regcomp.c.
15480         Reported by Joachim Schmitz.
15481
15482 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15483
15484         stdint: respect system's intmax_t if INTMAX_MAX
15485         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15486         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15487         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15488         long but int64_t is long long, and where we will clash with the
15489         system intmax_t if we override it.  See
15490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15491         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15492         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15493         similarly for UINTMAX_C.
15494
15495 2011-07-08  Bruno Haible  <bruno@clisp.org>
15496
15497         pthread_sigmask tests: Avoid a compiler warning.
15498         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15499         non-zero.
15500
15501         sigprocmask tests: A better way to avoid a compiler warning.
15502         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15503         (main): Complain if system() returns non-zero.
15504         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15505
15506 2011-07-08  Bruno Haible  <bruno@clisp.org>
15507
15508         pthread_sigmask: Work around IRIX bug.
15509         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15510         bug.
15511         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15512         there may be unblocked pending signals.
15513         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15514
15515 2011-07-08  Bruno Haible  <bruno@clisp.org>
15516
15517         pthread_sigmask: Work around Cygwin bug.
15518         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15519         bug.
15520         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15521         the system's pthread_sigmask function.
15522         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15523
15524 2011-07-08  Bruno Haible  <bruno@clisp.org>
15525
15526         pthread_sigmask: Work around bug in single-threaded implementation.
15527         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15528         FreeBSD, HP-UX, Solaris bug.
15529         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15530         * lib/pthread_sigmask.c: Include <stddef.h>.
15531         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15532         the system's pthread_sigmask function.
15533         * modules/pthread_sigmask (configure.ac): Invoke
15534         gl_PREREQ_PTHREAD_SIGMASK.
15535         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15536         HP-UX, Solaris.
15537
15538 2011-07-08  Eric Blake  <eblake@redhat.com>
15539
15540         test-sigprocmask: avoid compiler warning
15541         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15542         * tests/test-sigprocmask.c (main): Use it to silence warning.
15543         Reported by Jim Meyering.
15544
15545         test-snprintf: avoid compiler warning
15546         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15547         * tests/test-vsnprintf.c (main): Likewise.
15548         Reported by Jim Meyering.
15549
15550 2011-07-08  Bruno Haible  <bruno@clisp.org>
15551
15552         Tests for module 'pthread_sigmask'.
15553         * modules/pthread_sigmask-tests: New file.
15554         * tests/test-pthread_sigmask1.c: New file, based on
15555         tests/test-sigprocmask.c.
15556         * tests/test-pthread_sigmask2.c: New file.
15557
15558 2011-07-08  Jim Meyering  <meyering@redhat.com>
15559
15560         test-getopt.h: avoid warning about an unused variable
15561         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15562
15563 2011-07-07  Jim Meyering  <meyering@redhat.com>
15564
15565         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15566         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15567         now that it no longer contains leading TABs.
15568         Remove unused "url=FIXME" statement.
15569
15570 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15571
15572         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15573         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15574         When gl_THREADLIB is not in use, assume that the POSIX sematics
15575         are desired.  This is better for Emacs, which uses POSIX semantics
15576         on GNUish and/or POSIXish platforms, and does not use threads at
15577         all otherwise.
15578
15579         pthread_sigmask: fix typo when testing for libraries
15580         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15581         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15582
15583 2011-07-08  Eric Blake  <eblake@redhat.com>
15584
15585         fts: introduce FTS_NOATIME
15586         * lib/fts_.h (FTS_NOATIME): New bit flag.
15587         (FTS_OPTIONMASK): Adjust.
15588         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15589         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15590
15591 2011-07-08  Bruno Haible  <bruno@clisp.org>
15592
15593         Tests for module 'thread'.
15594         * modules/thread-tests: New file.
15595         * tests/test-thread_self.c: New file.
15596         * tests/test-thread_create.cc: New file.
15597
15598 2011-07-08  Bruno Haible  <bruno@clisp.org>
15599
15600         thread: Avoid gcc warnings when using gl_thread_self().
15601         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15602         'void *'.
15603         (gl_thread_self_pointer): Update.
15604
15605 2011-07-07  Bruno Haible  <bruno@clisp.org>
15606
15607         signal-c++-tests: Check declaration of pthread_sigmask.
15608         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15609         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15610         $(LIB_PTHREAD_SIGMASK).
15611
15612 2011-07-07  Bruno Haible  <bruno@clisp.org>
15613
15614         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15615         * lib/signal.in.h (pthread_sigmask): Override if
15616         REPLACE_PTHREAD_SIGMASK is 1.
15617         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15618         REPLACE_PTHREAD_SIGMASK.
15619         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15620         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15621         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15622         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15623         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15624
15625 2011-07-07  Bruno Haible  <bruno@clisp.org>
15626
15627         pthread_sigmask: Ensure declaration in <signal.h>.
15628         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15629         include <pthread.h>.
15630         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15631         problem.
15632
15633 2011-07-07  Bruno Haible  <bruno@clisp.org>
15634
15635         pthread_sigmask: Document the module.
15636         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15637
15638 2011-07-07  Bruno Haible  <bruno@clisp.org>
15639
15640         pthread_sigmask: Follow gnulib conventions.
15641         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15642         gl_PTHREAD_SIGMASK.
15643         * modules/pthread_sigmask (configure.ac): Update.
15644
15645 2011-07-07  Bruno Haible  <bruno@clisp.org>
15646
15647         pthread_sigmask: Make declaration C++ safe.
15648         * lib/signal.in.h: In two special conditions, just do an #include_next.
15649         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15650         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15651         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15652         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15653         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15654         not REPLACE_PTHREAD_MASK.
15655         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15656         not REPLACE_PTHREAD_MASK.
15657         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15658
15659 2011-07-07  Bruno Haible  <bruno@clisp.org>
15660
15661         pthread_sigmask: Fix return value.
15662         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15663         * lib/pthread_sigmask.c: New file.
15664         * modules/pthread_sigmask (Files): Add it.
15665         (configure.ac): Invoke AC_LIBOBJ.
15666
15667 2011-07-07  Eric Blake  <eblake@redhat.com>
15668
15669         getopt: more portable argv creation
15670         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15671         const, use char arrays rather than strings.
15672         Suggested by Paul Eggert.
15673
15674 2011-07-07  Bruno Haible  <bruno@clisp.org>
15675
15676         Tests for module 'sigprocmask'.
15677         * modules/sigprocmask-tests: New file.
15678         * tests/test-sigprocmask.c: New file.
15679
15680 2011-07-07  Bruno Haible  <bruno@clisp.org>
15681
15682         float tests: Tweak.
15683         * tests/test-float.c (main): Tweak skip message.
15684
15685 2011-07-07  Eric Blake  <eblake@redhat.com>
15686
15687         getopt: avoid compiler warning during configure
15688         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15689         assigning string literals to non-const pointer.
15690
15691         getopt-gnu: avoid crash in glibc getopt
15692         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15693         * tests/test-getopt.h (test_getopt): Enhance test.
15694         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15695         * doc/posix-functions/getopt.texi (getopt): Document it.
15696         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15697         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15698         Likewise.
15699
15700 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15701
15702         getopt: handle W; without long options in getopt [BZ #12922]
15703         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15704         but no long options are defined, just return 'W'.
15705
15706 2011-07-07  Bruno Haible  <bruno@clisp.org>
15707
15708         Avoid literal tabs.
15709         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15710         variable containing a tab instead of a literal tab.
15711         Reported by Jim Meyering.
15712
15713 2011-07-07  Bruno Haible  <bruno@clisp.org>
15714
15715         Comments.
15716         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15717
15718 2011-07-06  Bruno Haible  <bruno@clisp.org>
15719
15720         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15721         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15722         <winsock2.h>.
15723         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15724         lib/sys_socket.in.h.
15725         (close, gethostname): Hide declarations from <winsock2.h>.
15726         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15727         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15728         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15729         (select): Don't override if gnulib's <sys/select.h> was already
15730         included.
15731         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15732         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15733         setsockopt, shutdown, select): Tweak indentation.
15734
15735 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15736
15737         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15738         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15739         in an application that does not use the sys_select module.
15740
15741 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15742
15743         poll: do not return 0 on timeout=-1
15744         * lib/poll.c: Loop with yield if no events occurred.
15745
15746 2011-07-06  Eric Blake  <eblake@redhat.com>
15747
15748         pthread_sigmask: always replace when not using pthread
15749         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15750         replacement when using some threading other than pthread.  Fix
15751         logic bug.
15752
15753 2011-07-06  Bruno Haible  <bruno@clisp.org>
15754
15755         Comments.
15756         * m4/printf.m4: Update comments about mingw.
15757
15758 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15759
15760         sys_select: define sigset_t more portably
15761         * lib/sys_select.in.h: Always include <sys/types.h>, since
15762         we now need sigset_t and mingw defines it there.
15763         Include <signal.h> before split inclusion guard, to avoid
15764         mishaps on Solaris, whose <signal.h> eventually includes us.
15765         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
15766         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
15767         which come from ...
15768         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
15769         gl_CHECK_TYPE_SIGSET_T.
15770         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
15771         does the real work.
15772         * modules/sys_select (Depends-on): Add 'signal'.
15773
15774         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
15775         Suggested by Bruno Haible.
15776
15777         pselect: Use pthread_sigmask, not sigprocmask.
15778         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
15779         multithreaded apps better than sigprocmask does.
15780         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
15781         sigprocmask directly.
15782
15783 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15784
15785         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15786         Don't #undef,  since we don't need any underlying pselect.
15787         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
15788         (Depends-on): Add select.
15789         (Link): Add $(LIBSOCKET).
15790         These changes suggested by Bruno Haible.
15791
15792         pselect: document better
15793         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15794         * doc/posix-functions/pselect.texi (pselect): Document new module.
15795
15796         pthread_sigmask: new module
15797         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15798         * doc/posix-functions/pthread_sigmask.texi: Document new module.
15799         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
15800         This is done only as a macro; I don't know how well that'll
15801         work for C++.  Move <sys/types.h> include before the include_next,
15802         to avoid mishap on Solaris.
15803         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
15804         * modules/signal (Makefile.am): Substitute the check's results.
15805         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
15806
15807         test-pselect: new module
15808         * modules/pselect-tests, tests/test-pselect.c: New files.
15809         * tests/test-select.c, tests/test-sys_select-c++.cc:
15810         If TEST_PSELECT is defined, test pselect instead of testing select.
15811
15812         * tests/test-sys_select.c (sigset_t): Test for it, too.
15813         Suggested by Bruno Haible.
15814
15815 2011-07-05  Eric Blake  <eblake@redhat.com>
15816
15817         snprintf: guarantee %1$d, for libintl
15818         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
15819         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15820         * doc/posix-functions/snprintf.texi (snprintf): Update.
15821         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15822         * tests/test-snprintf.c (main): Enhance test.
15823         * tests/test-vsnprintf.c (main): Likewise.
15824
15825 2011-07-05  Jim Meyering  <meyering@redhat.com>
15826
15827         maint: exempt stdio-read.c and stdio-write.c from the cppi check
15828         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
15829         per Bruno's request, to accommodate this idiom (no space after "#")
15830         even when the function is inside an #if block:
15831         char *
15832         gets (char *s)
15833         #undef gets
15834         {
15835           ...
15836         }
15837
15838 2011-07-04  Jim Meyering  <meyering@redhat.com>
15839
15840         maint: indent with spaces, not TABs, and add a rule to check this
15841         * tests/test-userspec.c: Indent with spaces, not TABs.
15842         * tests/test-argp.c: Likewise.
15843         * tests/test-c-stack2.sh: Likewise.
15844         * tests/test-parse-duration.sh: Likewise
15845         * m4/strtod.m4: Likewise.
15846         * m4/alloca.m4: Likewise.
15847         * m4/pselect.m4: Likewise.
15848         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
15849
15850 2011-07-03  Jim Meyering  <meyering@redhat.com>
15851
15852         maint.mk: correct omissions in prohibit_argmatch_without_use check
15853         This rule would mistakenly report that argmatch.h is included without
15854         use even when both the argmatch and invalid_arg macro were used.
15855         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
15856         of argmatch and invalid_arg.
15857
15858 2011-07-03  Bruno Haible  <bruno@clisp.org>
15859
15860         Comments about EINTR.
15861         * lib/safe-read.h: Explain the purpose of this module.
15862         * lib/safe-write.h: Likewise.
15863         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
15864         module.
15865         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
15866         module.
15867         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15868
15869 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15870
15871         xnanosleep: Rewrite to use new dtotimespec module.
15872         It has the conversion code that used to be in xnanosleep.
15873         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
15874         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
15875         (TIME_T_MAX): Remove.
15876         (xnanosleep): Rewrite in terms of dtotimespec.
15877         * modules/xnanosleep (Depends-on): Add dtotimespec.
15878         Remove intprops, stdbool.
15879
15880         timespec-add, timespec-sub: new modules
15881         * lib/timespec.h (timespec_add, timespec_sub): New decls.
15882         * lib/timespec-add.c, lib/timespec-sub.c:
15883         * modules/timespec-add, modules/timespec-sub: New files.
15884
15885         dtotimespec: new module
15886         * lib/timespec.h (dtotimespec): New decl.
15887         * lib/dtotimespec.c, modules/dtotimespec: New files.
15888
15889         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
15890
15891         pselect: new module
15892         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
15893         (pselect): New decls.
15894         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
15895         since the standard pselect decl uses 'restrict'.
15896         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
15897         HAVE_PSELECT, REPLACE_PSELECT.
15898         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
15899         HAVE_PSELECT, REPLACE_PSELECT.
15900         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
15901
15902         sys_select: don't depend on sys_socket
15903         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
15904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
15905         This fix works on GNU and GNU-like platforms, but has not been tested
15906         on native Windows.
15907         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
15908         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
15909         gl_HEADER_SYS_SOCKET.
15910         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
15911         gl_PREREQ_SYS_H_WINSOCK2.
15912
15913 2011-06-29  Eric Blake  <eblake@redhat.com>
15914
15915         pipe2: fix C89 compile problem
15916         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
15917         Reported by Bruno Haible.
15918
15919         pipe, pipe2: don't corrupt fd on error
15920         * lib/pipe.c (pipe): Leave fd unchanged on error.
15921         * lib/pipe2.c (pipe2): Likewise.
15922         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
15923         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15924
15925 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
15926
15927         mmap-anon: do not use regular expressions inadvertently
15928         * m4/mmap-anon.m4: Remove trailing period from strings sought
15929         in the output.
15930
15931 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15932
15933         nanosleep: fix integer overflow problem
15934         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15935         arithmetic wraps around on overflow.
15936
15937         nanosleep: simplify carrying
15938         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15939         first call to the underyling nanosleep, not for the last one.
15940         This doesn't fix any bugs, but it simplifies the computation of
15941         the remaining delay.  Found while auditing integer overflow issues.
15942
15943         dup2: remove test for existence of fcntl
15944         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
15945         "#if HAVE_FCNTL", in the configure-time test program.
15946         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
15947         and therefore speeds up "configure" a bit.  Found while
15948         adding the dup2 module to Emacs.
15949
15950 2011-06-24  Eric Blake  <eblake@redhat.com>
15951
15952         maint.mk: enhance useless header checks
15953         * top/maint.mk (_sc_header_without_use): Check both include
15954         styles.
15955         (sc_prohibit_assert_without_use)
15956         (sc_prohibit_close_stream_without_use)
15957         (sc_prohibit_getopt_without_use)
15958         (sc_prohibit_quotearg_without_use)
15959         (sc_prohibit_quote_without_use)
15960         (sc_prohibit_long_options_without_use)
15961         (sc_prohibit_inttostr_without_use)
15962         (sc_prohibit_ignore_value_without_use)
15963         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15964         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
15965         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
15966         (sc_prohibit_hash_pjw_without_use)
15967         (sc_prohibit_safe_read_without_use)
15968         (sc_prohibit_argmatch_without_use)
15969         (sc_prohibit_canonicalize_without_use)
15970         (sc_prohibit_root_dev_ino_without_use)
15971         (sc_prohibit_openat_without_use)
15972         (sc_prohibit_c_ctype_without_use)
15973         (sc_prohibit_signal_without_use)
15974         (sc_prohibit_stdio--_without_use)
15975         (sc_prohibit_stdio-safer_without_use)
15976         (sc_prohibit_strings_without_use)
15977         (sc_prohibit_intprops_without_use)
15978         (sc_prohibit_stddef_without_use)
15979         (sc_prohibit_xfreopen_without_use): Update clients.
15980
15981 2011-06-24  Jim Meyering  <meyering@redhat.com>
15982
15983         syntax-check: keep one maint.mk rule in sync with its header
15984         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
15985         of the bug Eric has just fixed, with today's commit 25e4c2ec.
15986         I prefer to avoid temporary files here, so use <(...), but that
15987         is not supported by /bin/sh, so...
15988         (SHELL): Define to /bin/bash.
15989
15990 2011-06-24  Eric Blake  <eblake@redhat.com>
15991
15992         maint.mk: update sc_prohibit_intprops_without_use
15993         * top/maint.mk (_intprops_names): Match recent changes.
15994
15995 2011-06-24  Bruno Haible  <bruno@clisp.org>
15996
15997         strerror-override: No-op tweak.
15998         * lib/strerror-override.h (strerror_override): Reorder conditions,
15999         for consistency with lib/strerror-override.c.
16000
16001 2011-06-23  Eric Blake  <eblake@redhat.com>
16002
16003         maint.mk: test further PATH_MAX issues
16004         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16005         (sc_prohibit_path_max_allocation): ...and also test alloca.
16006         Suggested by Jim Meyering.
16007
16008 2011-06-22  Eric Blake  <eblake@redhat.com>
16009
16010         maint.mk: add syntax-check to avoid char[PATH_MAX]
16011         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16012
16013         stat: be robust to PATH_MAX definition
16014         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16015         * modules/stat (Depends-on): Add verify.
16016
16017         link: work around IRIX bug
16018         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16019         * lib/link.c (rpl_link): Work around it.
16020         * tests/test-link.h (test_link): Enhance test.
16021         * doc/posix-functions/link.texi (link): Document the bug.
16022
16023         getopt: silence clang warning
16024         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16025         dereference.
16026         Reported by Gustavo Martin Domato.
16027
16028 2011-06-22  Jim Meyering  <meyering@redhat.com>
16029
16030         bootstrap: do not insert a blank line into each .gitignore file
16031         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16032
16033 2011-06-21  Eric Blake  <eblake@redhat.com>
16034
16035         perror: test for output mismatch
16036         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16037         perror on IRIX.
16038
16039         strerror_r: fix OpenBSD behavior on out-of-range
16040         * lib/strerror_r.c (strerror_r): Always use maximal string.
16041         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16042
16043         strerror_r: fix OpenBSD behavior on 0
16044         * lib/strerror-override.c (strerror_override): Also override 0
16045         when needed.
16046         * lib/strerror-override.h (strerror_override): Likewise.
16047         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16048         earlier.
16049         * lib/strerror_r.c (strerror_r): Likewise.
16050         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16051         behavior...
16052         (gl_FUNC_STRERROR_0): ...into new macro.
16053         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16054         is overridden.
16055         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16056         * modules/strerror-override (Files): Add strerror.m4.
16057         (configure.ac): Also provide override for 0 when needed.
16058         * doc/posix-functions/strerror.texi (strerror): Document this.
16059         * doc/posix-functions/perror.texi (perror): Likewise.
16060
16061         perror: adjust array size
16062         * modules/perror (Depends-on): Add strerror-override.
16063         * lib/perror.c (perror): Use it to avoid magic number.
16064
16065         strerror-override: reduce size
16066         * lib/strerror-override.c (strerror_override): Use fewer lines.
16067
16068 2011-06-20  Bruno Haible  <bruno@clisp.org>
16069
16070         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16071         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16072
16073 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16074
16075         alloca: port to compilers that can optimize like GCC 4.6.0
16076         * lib/alloca.c (find_stack_direction): New signature, taken from
16077         Autoconf git.  This works with GCC 4.6.0.  This code should never
16078         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16079         be used with other compilers that optimize as well as GCC 4.6.0 does.
16080         (alloca): Adjust to new signature.
16081         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16082         New macro, which patches Autoconf in a similar way.
16083
16084         c-stack: stop worrying about stack direction
16085         * lib/c-stack.c (find_stack_direction): Remove.
16086         (segv_handler): Don't worry about stack direction growth, as it's
16087         too much of a pain to configure this correctly, given how compilers
16088         are optimizing-away our stack-growth detection code.  Instead, assume
16089         that any access to just before or just after the stack is OK.
16090         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16091         Don't require AC_FUNC_ALLOCA; no longer needed.
16092
16093 2011-06-20  Eric Blake  <eblake@redhat.com>
16094
16095         test-stat: don't allocate PATH_MAX bytes
16096         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16097         PATH_MAX-sized buffer.
16098         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16099         * modules/stat-tests (Depends-on): Likewise.
16100         * tests/test-fstatat.c (includes): Drop pathmax.h.
16101         * tests/test-stat.c (includes): Likewise.
16102         Reported by Bruno Haible.
16103
16104 2011-06-20  Bruno Haible  <bruno@clisp.org>
16105
16106         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16107         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16108         * lib/float.c: New file.
16109         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16110         REPLACE_FLOAT_LDBL.
16111         * modules/float (Files): Add lib/float.c.
16112         (configure.ac): Invoke AC_LIBOBJ.
16113         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16114
16115 2011-06-20  Bruno Haible  <bruno@clisp.org>
16116
16117         Tests for module 'float'.
16118         * modules/float-tests: New file.
16119         * tests/test-float.c: New file.
16120
16121 2011-06-19  Bruno Haible  <bruno@clisp.org>
16122
16123         isinf: Coding style.
16124         * lib/isinf.c: Use GNU coding style.
16125
16126 2011-06-19  Bruno Haible  <bruno@clisp.org>
16127
16128         linkat test: Avoid test failure on AIX 7.1.
16129         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16130         * tests/test-link.h (test_link): Likewise.
16131
16132 2011-06-19  Bruno Haible  <bruno@clisp.org>
16133
16134         pread test: Avoid test failure on OpenBSD 4.9.
16135         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16136
16137 2011-06-19  Bruno Haible  <bruno@clisp.org>
16138
16139         sprintf-posix: Fix test failure on AIX 7.1.
16140         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16141         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16142         on AIX.
16143         * doc/posix-functions/fprintf.texi: Likewise.
16144         * doc/posix-functions/printf.texi: Likewise.
16145         * doc/posix-functions/snprintf.texi: Likewise.
16146         * doc/posix-functions/sprintf.texi: Likewise.
16147         * doc/posix-functions/vdprintf.texi: Likewise.
16148         * doc/posix-functions/vfprintf.texi: Likewise.
16149         * doc/posix-functions/vprintf.texi: Likewise.
16150         * doc/posix-functions/vsnprintf.texi: Likewise.
16151         * doc/posix-functions/vsprintf.texi: Likewise.
16152
16153 2011-06-19  Bruno Haible  <bruno@clisp.org>
16154
16155         roundl-ieee: Fix test failure on AIX 7.1.
16156         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16157         * doc/posix-functions/roundl.texi: Mention problem with negative
16158         arguments.
16159
16160 2011-06-19  Bruno Haible  <bruno@clisp.org>
16161
16162         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16163         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16164         * doc/posix-functions/round.texi: Mention problem with negative
16165         arguments.
16166         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16167
16168 2011-06-19  Bruno Haible  <bruno@clisp.org>
16169
16170         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16171         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16172         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16173         * doc/posix-functions/roundf.texi: Mention problem with negative
16174         arguments.
16175         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16176
16177 2011-06-19  Bruno Haible  <bruno@clisp.org>
16178
16179         ceilf-ieee: Work around bug on MacOS X 10.5.
16180         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16181
16182         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16183         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16184         IEEE compliant, avoid compiler optimizations.
16185         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16186         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16187         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16188         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16189         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16190         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16191         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16192         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16193         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16194         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16195
16196 2011-06-19  Bruno Haible  <bruno@clisp.org>
16197
16198         ceilf-ieee: Work around bug on AIX 7.1.
16199         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16200         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16201
16202 2011-06-19  Bruno Haible  <bruno@clisp.org>
16203
16204         ceil-ieee: Work around bug on AIX 7.1.
16205         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16206         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16207
16208 2011-06-18  Bruno Haible  <bruno@clisp.org>
16209
16210         fsync test: Avoid test failure on MacOS X and AIX.
16211         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16212         EINVAL.
16213
16214 2011-06-18  Bruno Haible  <bruno@clisp.org>
16215
16216         openat, fdopendir tests: Fix link errors.
16217         * modules/openat-tests (Depends-on): Add progname.
16218         * modules/fdopendir-tests (Depends-on): Likewise.
16219         * tests/test-fchownat.c: Include progname.h.
16220         (main): Call set_program_name.
16221         * tests/test-fstatat.c: Include progname.h.
16222         (main): Call set_program_name.
16223         * tests/test-mkdirat.c: Include progname.h.
16224         (main): Call set_program_name.
16225         * tests/test-openat.c: Include progname.h.
16226         (main): Call set_program_name.
16227         * tests/test-unlinkat.c: Include progname.h.
16228         (main): Call set_program_name.
16229         * tests/test-fdopendir.c: Include progname.h.
16230         (main): Call set_program_name.
16231
16232 2011-06-18  Bruno Haible  <bruno@clisp.org>
16233
16234         Doc update.
16235         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16236         HP-UX.
16237         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16238
16239 2011-06-18  Bruno Haible  <bruno@clisp.org>
16240
16241         getcwd tests: Avoid compilation error on HP-UX 11.31.
16242         * modules/getcwd-tests (Depends-on): Add pathmax.
16243         * tests/test-getcwd.c: Include pathmax.h.
16244
16245 2011-06-18  Bruno Haible  <bruno@clisp.org>
16246
16247         isfinite, isinf: Fix link error on AIX 6 and 7.
16248         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16249         needed, also test the macro with a 'float' argument.
16250         * m4/isinf.m4 (gl_ISINF): Likewise.
16251
16252 2011-06-18  Bruno Haible  <bruno@clisp.org>
16253
16254         getloadavg: Don't clobber LIBS. Regression from previous commit.
16255         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16256         AC_CHECK_LIB from here...
16257         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16258         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16259         gl_func_getloadavg_done.
16260         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16261
16262 2011-06-18  Bruno Haible  <bruno@clisp.org>
16263
16264         clean-temp: Improve documentation.
16265         * lib/clean-temp.h: Explain better how to use this module.
16266         Reported by John Darrington <john@darrington.wattle.id.au>.
16267
16268 2011-06-17  Bruno Haible  <bruno@clisp.org>
16269
16270         pread, pwrite: Avoid cc warning on AIX.
16271         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16272         (pwrite): Likewise.
16273
16274 2011-06-17  Bruno Haible  <bruno@clisp.org>
16275
16276         spawn-pipe tests: Fix link error.
16277         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16278         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16279
16280 2011-06-17  Bruno Haible  <bruno@clisp.org>
16281
16282         Tests: Remove unnecessary dependency.
16283         * modules/canonicalize-tests (Depends-on): Remove progname.
16284         * modules/chown-tests (Depends-on): Likewise.
16285         * modules/dirname-tests (Depends-on): Likewise.
16286         * modules/fdopendir-tests (Depends-on): Likewise.
16287         * modules/fdutimensat-tests (Depends-on): Likewise.
16288         * modules/hash-tests (Depends-on): Likewise.
16289         * modules/lchown-tests (Depends-on): Likewise.
16290         * modules/linkat-tests (Depends-on): Likewise.
16291         * modules/renameat-tests (Depends-on): Likewise.
16292         * modules/spawn-pipe-tests (Depends-on): Likewise.
16293         * modules/utimensat-tests (Depends-on): Likewise.
16294
16295 2011-06-17  Bruno Haible  <bruno@clisp.org>
16296
16297         spawn-pipe tests: Fix link error.
16298         * tests/test-spawn-pipe-child.c: Undefine fflush.
16299
16300 2011-06-17  Bruno Haible  <bruno@clisp.org>
16301
16302         Fix tests link errors.
16303         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16304         * modules/chown-tests (Makefile.am): Don't link test-chown with
16305         LIBINTL.
16306         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16307         LIBINTL.
16308         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16309         LIBINTL.
16310         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16311         LIBINTL.
16312
16313 2011-06-16  Bruno Haible  <bruno@clisp.org>
16314
16315         crypto/gc-sha1: Fix recent regression.
16316         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16317         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16318
16319         crypto/gc-md5: Fix recent regression.
16320         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16321
16322         crypto/gc-md4: Fix recent regression.
16323         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16324         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16325
16326         crypto/gc-arctwo: Fix recent regression.
16327         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16328         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16329
16330         crypto/gc-rijndael: Fix recent regression.
16331         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16332         (configure.ac): Invoke AC_LIBOBJ here.
16333         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16334         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16335
16336         crypto/gc-hmac-sha1: Fix recent regression.
16337         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16338         (configure.ac): Invoke AC_LIBOBJ here.
16339         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16340         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16341
16342         crypto/gc-hmac-md5: Fix recent regression.
16343         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16344         (configure.ac): Invoke AC_LIBOBJ here.
16345         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16346         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16347
16348         crypto/gc-des: Fix recent regression.
16349         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16350         (configure.ac): Invoke AC_LIBOBJ here.
16351         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16352         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16353
16354         crypto/gc-arcfour: Fix recent regression.
16355         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16356         (configure.ac): Invoke AC_LIBOBJ here.
16357         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16359
16360 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16361
16362         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16363         After the 2011-05-21 change, this macro requires
16364         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16365         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16366
16367 2011-06-16  Bruno Haible  <bruno@clisp.org>
16368
16369         fprintftime: Move AC_LIBOBJ invocations to module description.
16370         * m4/fprintftime.m4: Remove file.
16371         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16372         (configure.ac): Remove gl_FPRINTFTIME call.
16373         (Makefile.am): Augment lib_SOURCES.
16374         Reported by Jim Meyering.
16375
16376 2011-06-16  Bruno Haible  <bruno@clisp.org>
16377
16378         tmpfile-safer: Finish 2011-05-23 commit.
16379         * m4/stdio-safer.m4: Really remove file.
16380         Reported by Jim Meyering.
16381
16382 2011-06-16  Bruno Haible  <bruno@clisp.org>
16383
16384         syntax-check: Fix typo.
16385         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16386         printf-posix.m4.
16387         Reported by Jim Meyering.
16388
16389 2011-06-13  Jim Meyering  <meyering@redhat.com>
16390
16391         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16392         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16393
16394 2011-05-23  Bruno Haible  <bruno@clisp.org>
16395
16396         yesno: Move AC_LIBOBJ invocations to module description.
16397         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16398         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16399
16400 2011-05-23  Bruno Haible  <bruno@clisp.org>
16401
16402         xstrtol: Move AC_LIBOBJ invocations to module description.
16403         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16404         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16405
16406 2011-05-23  Bruno Haible  <bruno@clisp.org>
16407
16408         xstrtold: Move AC_LIBOBJ invocations to module description.
16409         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16410         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16411
16412 2011-05-23  Bruno Haible  <bruno@clisp.org>
16413
16414         xstrtod: Move AC_LIBOBJ invocations to module description.
16415         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16416         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16417
16418 2011-05-23  Bruno Haible  <bruno@clisp.org>
16419
16420         xnanosleep: Move AC_LIBOBJ invocations to module description.
16421         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16422         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16423
16424 2011-05-23  Bruno Haible  <bruno@clisp.org>
16425
16426         xgetcwd: Move AC_LIBOBJ invocations to module description.
16427         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16428         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16429
16430 2011-05-23  Bruno Haible  <bruno@clisp.org>
16431
16432         xalloc: Move AC_LIBOBJ invocations to module description.
16433         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16434         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16435
16436 2011-05-23  Bruno Haible  <bruno@clisp.org>
16437
16438         write-any-file: Move AC_LIBOBJ invocations to module description.
16439         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16440         invocation.
16441         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16442
16443 2011-05-23  Bruno Haible  <bruno@clisp.org>
16444
16445         utimens: Move AC_LIBOBJ invocations to module description.
16446         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16447         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16448
16449 2011-05-23  Bruno Haible  <bruno@clisp.org>
16450
16451         utimecmp: Move AC_LIBOBJ invocations to module description.
16452         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16453         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16454
16455 2011-05-23  Bruno Haible  <bruno@clisp.org>
16456
16457         userspec: Move AC_LIBOBJ invocations to module description.
16458         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16459         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16460
16461 2011-05-23  Bruno Haible  <bruno@clisp.org>
16462
16463         unlinkdir: Move AC_LIBOBJ invocations to module description.
16464         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16465         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16466
16467 2011-05-23  Bruno Haible  <bruno@clisp.org>
16468
16469         unistd-safer: Move AC_LIBOBJ invocations to module description.
16470         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16471         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16472
16473 2011-05-23  Bruno Haible  <bruno@clisp.org>
16474
16475         tempname: Move AC_LIBOBJ invocations to module description.
16476         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16477         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16478
16479 2011-05-23  Bruno Haible  <bruno@clisp.org>
16480
16481         strftime: Move AC_LIBOBJ invocations to module description.
16482         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16483         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16484
16485 2011-05-23  Bruno Haible  <bruno@clisp.org>
16486
16487         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16488         * m4/stdlib-safer.m4: Remove file.
16489         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16490         (configure.ac): Remove gl_STDLIB_SAFER call.
16491         (Makefile.am): Augment lib_SOURCES.
16492
16493 2011-05-23  Bruno Haible  <bruno@clisp.org>
16494
16495         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16496         * m4/stdio-safer.m4: Remove file.
16497         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16498         (configure.ac): Remove gl_TMPFILE_SAFER call.
16499         (Makefile.am): Augment lib_SOURCES.
16500
16501 2011-05-23  Bruno Haible  <bruno@clisp.org>
16502
16503         popen-safer: Move AC_LIBOBJ invocations to module description.
16504         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16505         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16506         (configure.ac): Remove gl_POPEN_SAFER call.
16507         (Makefile.am): Augment lib_SOURCES.
16508
16509 2011-05-23  Bruno Haible  <bruno@clisp.org>
16510
16511         freopen-safer: Move AC_LIBOBJ invocations to module description.
16512         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16513         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16514         (configure.ac): Remove gl_FREOPEN_SAFER call.
16515         (Makefile.am): Augment lib_SOURCES.
16516
16517 2011-05-23  Bruno Haible  <bruno@clisp.org>
16518
16519         fopen-safer: Move AC_LIBOBJ invocations to module description.
16520         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16521         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16522         (configure.ac): Remove gl_FOPEN_SAFER call.
16523         (Makefile.am): Augment lib_SOURCES.
16524
16525 2011-05-23  Bruno Haible  <bruno@clisp.org>
16526
16527         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16528         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16529         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16530
16531 2011-05-23  Bruno Haible  <bruno@clisp.org>
16532
16533         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16534         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16535         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16536
16537 2011-05-23  Bruno Haible  <bruno@clisp.org>
16538
16539         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16540         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16541         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16542
16543 2011-05-23  Bruno Haible  <bruno@clisp.org>
16544
16545         settime: Move AC_LIBOBJ invocations to module description.
16546         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16547         * modules/settime (Makefile.am): Augment lib_SOURCES.
16548
16549 2011-05-23  Bruno Haible  <bruno@clisp.org>
16550
16551         savedir: Move AC_LIBOBJ invocations to module description.
16552         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16553         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16554
16555 2011-05-23  Bruno Haible  <bruno@clisp.org>
16556
16557         save-cwd: Move AC_LIBOBJ invocations to module description.
16558         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16559         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16560
16561 2011-05-23  Bruno Haible  <bruno@clisp.org>
16562
16563         same: Move AC_LIBOBJ invocations to module description.
16564         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16565         * modules/same (Makefile.am): Augment lib_SOURCES.
16566
16567 2011-05-23  Bruno Haible  <bruno@clisp.org>
16568
16569         safe-write: Move AC_LIBOBJ invocations to module description.
16570         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16571         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16572         instead of gl_SAFE_WRITE.
16573         (Makefile.am): Augment lib_SOURCES.
16574
16575 2011-05-23  Bruno Haible  <bruno@clisp.org>
16576
16577         safe-read: Move AC_LIBOBJ invocations to module description.
16578         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16579         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16580         of gl_SAFE_READ.
16581         (Makefile.am): Augment lib_SOURCES.
16582
16583 2011-05-23  Bruno Haible  <bruno@clisp.org>
16584
16585         safe-alloc: Move AC_LIBOBJ invocations to module description.
16586         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16587         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16588
16589 2011-05-23  Bruno Haible  <bruno@clisp.org>
16590
16591         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16592         * m4/rijndael.m4: Remove file.
16593         * modules/crypto/rijndael (Files): Remove it.
16594         (configure.ac): Remove gl_RIJNDAEL call.
16595         (Makefile.am): Augment lib_SOURCES.
16596
16597 2011-05-23  Bruno Haible  <bruno@clisp.org>
16598
16599         readtokens: Move AC_LIBOBJ invocations to module description.
16600         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16601         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16602
16603 2011-05-23  Bruno Haible  <bruno@clisp.org>
16604
16605         read-file: Move AC_LIBOBJ invocations to module description.
16606         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16607         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16608         of gl_FUNC_READ_FILE.
16609         (Makefile.am): Augment lib_SOURCES.
16610
16611 2011-05-23  Bruno Haible  <bruno@clisp.org>
16612
16613         quotearg: Move AC_LIBOBJ invocations to module description.
16614         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16615         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16616
16617 2011-05-23  Bruno Haible  <bruno@clisp.org>
16618
16619         quote: Move AC_LIBOBJ invocations to module description.
16620         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16621         * modules/quote (Makefile.am): Augment lib_SOURCES.
16622
16623 2011-05-23  Bruno Haible  <bruno@clisp.org>
16624
16625         posixver: Move AC_LIBOBJ invocations to module description.
16626         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16627         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16628
16629 2011-05-23  Bruno Haible  <bruno@clisp.org>
16630
16631         posixtm: Move AC_LIBOBJ invocations to module description.
16632         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16633         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16634
16635 2011-05-23  Bruno Haible  <bruno@clisp.org>
16636
16637         physmem: Move AC_LIBOBJ invocations to module description.
16638         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16639         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16640
16641 2011-05-23  Bruno Haible  <bruno@clisp.org>
16642
16643         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16644         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16645         invocation.
16646         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16647
16648 2011-05-23  Bruno Haible  <bruno@clisp.org>
16649
16650         mpsort: Move AC_LIBOBJ invocations to module description.
16651         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16652         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16653
16654 2011-05-23  Bruno Haible  <bruno@clisp.org>
16655
16656         modechange: Move AC_LIBOBJ invocations to module description.
16657         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16658         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16659
16660 2011-05-23  Bruno Haible  <bruno@clisp.org>
16661
16662         mkdir-p: Move AC_LIBOBJ invocations to module description.
16663         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16664         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16665
16666 2011-05-23  Bruno Haible  <bruno@clisp.org>
16667
16668         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16669         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16670         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16671
16672 2011-05-23  Bruno Haible  <bruno@clisp.org>
16673
16674         mgetgroups: Move AC_LIBOBJ invocations to module description.
16675         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16676         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16677
16678 2011-05-23  Bruno Haible  <bruno@clisp.org>
16679
16680         memxor: Move AC_LIBOBJ invocations to module description.
16681         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16682         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16683
16684 2011-05-23  Bruno Haible  <bruno@clisp.org>
16685
16686         memcoll: Move AC_LIBOBJ invocations to module description.
16687         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16688         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16689
16690 2011-05-23  Bruno Haible  <bruno@clisp.org>
16691
16692         memcasecmp: Move AC_LIBOBJ invocations to module description.
16693         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16694         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16695
16696 2011-05-23  Bruno Haible  <bruno@clisp.org>
16697
16698         crypto/md5: Move AC_LIBOBJ invocations to module description.
16699         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16700         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16701
16702 2011-05-23  Bruno Haible  <bruno@clisp.org>
16703
16704         crypto/md4: Move AC_LIBOBJ invocations to module description.
16705         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16706         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16707
16708 2011-05-23  Bruno Haible  <bruno@clisp.org>
16709
16710         crypto/md2: Move AC_LIBOBJ invocations to module description.
16711         * m4/md2.m4: Remove file.
16712         * modules/crypto/md2 (Files): Remove it.
16713         (configure.ac): Remove gl_MD2 call.
16714         (Makefile.am): Augment lib_SOURCES.
16715
16716 2011-05-23  Bruno Haible  <bruno@clisp.org>
16717
16718         long-options: Move AC_LIBOBJ invocations to module description.
16719         * m4/long-options.m4: Remove file.
16720         * modules/long-options (Files): Remove it.
16721         (configure.ac): Remove gl_LONG_OPTIONS call.
16722         (Makefile.am): Augment lib_SOURCES.
16723
16724 2011-05-23  Bruno Haible  <bruno@clisp.org>
16725
16726         i-ring: Move AC_LIBOBJ invocations to module description.
16727         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16728         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16729
16730 2011-05-23  Bruno Haible  <bruno@clisp.org>
16731
16732         idcache: Move AC_LIBOBJ invocations to module description.
16733         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16734         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16735
16736 2011-05-23  Bruno Haible  <bruno@clisp.org>
16737
16738         human: Move AC_LIBOBJ invocations to module description.
16739         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16740         * modules/human (Makefile.am): Augment lib_SOURCES.
16741
16742 2011-05-23  Bruno Haible  <bruno@clisp.org>
16743
16744         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16745         * m4/hmac-sha1.m4: Remove file.
16746         * modules/crypto/hmac-sha1 (Files): Remove it.
16747         (configure.ac): Remove gl_HMAC_SHA1 call.
16748         (Makefile.am): Augment lib_SOURCES.
16749
16750 2011-05-23  Bruno Haible  <bruno@clisp.org>
16751
16752         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16753         * m4/hmac-md5.m4: Remove file.
16754         * modules/crypto/hmac-md5 (Files): Remove it.
16755         (configure.ac): Remove gl_HMAC_MD5 call.
16756         (Makefile.am): Augment lib_SOURCES.
16757
16758 2011-05-23  Bruno Haible  <bruno@clisp.org>
16759
16760         hash: Move AC_LIBOBJ invocations to module description.
16761         * m4/hash.m4: Remove file.
16762         * modules/hash (Files): Remove it.
16763         (configure.ac): Remove gl_HASH call.
16764         (Makefile.am): Augment lib_SOURCES.
16765
16766 2011-05-23  Bruno Haible  <bruno@clisp.org>
16767
16768         hard-locale: Move AC_LIBOBJ invocations to module description.
16769         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
16770         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
16771
16772 2011-05-23  Bruno Haible  <bruno@clisp.org>
16773
16774         getugroups: Move AC_LIBOBJ invocations to module description.
16775         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
16776         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
16777
16778 2011-05-23  Bruno Haible  <bruno@clisp.org>
16779
16780         gettime: Move AC_LIBOBJ invocations to module description.
16781         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
16782         * modules/gettime (Makefile.am): Augment lib_SOURCES.
16783
16784 2011-05-23  Bruno Haible  <bruno@clisp.org>
16785
16786         getndelim2: Move AC_LIBOBJ invocations to module description.
16787         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
16788         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
16789
16790 2011-05-23  Bruno Haible  <bruno@clisp.org>
16791
16792         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
16793         * m4/gc-pbkdf2-sha1.m4: Remove file.
16794         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
16795         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
16796         (Makefile.am): Augment lib_SOURCES.
16797
16798 2011-05-23  Bruno Haible  <bruno@clisp.org>
16799
16800         fts: Move AC_LIBOBJ invocations to module description.
16801         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
16802         * modules/fts (configure.ac): ... to here.
16803
16804 2011-05-23  Bruno Haible  <bruno@clisp.org>
16805
16806         file-type: Move AC_LIBOBJ invocations to module description.
16807         * m4/file-type.m4: Remove file.
16808         * modules/file-type (Files): Remove it.
16809         (configure.ac): Remove gl_FILE_TYPE call.
16810         (Makefile.am): Augment lib_SOURCES.
16811
16812 2011-05-23  Bruno Haible  <bruno@clisp.org>
16813
16814         filenamecat*: Respect rules for use of AC_LIBOBJ.
16815         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
16816         Remove AC_LIBOBJ invocation.
16817         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
16818         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
16819
16820 2011-05-23  Bruno Haible  <bruno@clisp.org>
16821
16822         filemode: Move AC_LIBOBJ invocations to module description.
16823         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
16824         * modules/filemode (Makefile.am): Augment lib_SOURCES.
16825
16826 2011-05-23  Bruno Haible  <bruno@clisp.org>
16827
16828         openat-safer: Move AC_LIBOBJ invocations to module description.
16829         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
16830         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
16831
16832 2011-05-23  Bruno Haible  <bruno@clisp.org>
16833
16834         fcntl-safer: Move AC_LIBOBJ invocations to module description.
16835         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
16836         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
16837
16838 2011-05-23  Bruno Haible  <bruno@clisp.org>
16839
16840         exclude: Move AC_LIBOBJ invocations to module description.
16841         * m4/exclude.m4: Remove file.
16842         * modules/exclude (Files): Remove it.
16843         (configure.ac): Remove gl_EXCLUDE call.
16844         (Makefile.am): Augment lib_SOURCES.
16845
16846 2011-05-23  Bruno Haible  <bruno@clisp.org>
16847
16848         dirname*: Respect rules for use of AC_LIBOBJ.
16849         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
16850         invocations.
16851         * modules/dirname (Makefile.am): Augment lib_SOURCES.
16852         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
16853
16854 2011-05-23  Bruno Haible  <bruno@clisp.org>
16855
16856         dirent-safer: Move AC_LIBOBJ invocations to module description.
16857         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
16858         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
16859
16860 2011-05-23  Bruno Haible  <bruno@clisp.org>
16861
16862         crypto/des: Move AC_LIBOBJ invocations to module description.
16863         * m4/des.m4: Remove file.
16864         * modules/crypto/des (Files): Remove it.
16865         (configure.ac): Remove gl_DES call.
16866         (Makefile.am): Augment lib_SOURCES.
16867
16868 2011-05-23  Bruno Haible  <bruno@clisp.org>
16869
16870         cycle-check: Move AC_LIBOBJ invocations to module description.
16871         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
16872         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
16873
16874 2011-05-23  Bruno Haible  <bruno@clisp.org>
16875
16876         c-strtold: Move AC_LIBOBJ invocations to module description.
16877         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
16878         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
16879
16880 2011-05-23  Bruno Haible  <bruno@clisp.org>
16881
16882         c-strtod: Move AC_LIBOBJ invocations to module description.
16883         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
16884         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
16885
16886 2011-05-23  Bruno Haible  <bruno@clisp.org>
16887
16888         crc: Move AC_LIBOBJ invocations to module description.
16889         * m4/crc.m4: Remove file.
16890         * modules/crc (Files): Remove it.
16891         (configure.ac): Remove gl_CRC call.
16892         (Makefile.am): Augment lib_SOURCES.
16893
16894 2011-05-23  Bruno Haible  <bruno@clisp.org>
16895
16896         close-stream: Move AC_LIBOBJ invocations to module description.
16897         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
16898         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
16899
16900 2011-05-23  Bruno Haible  <bruno@clisp.org>
16901
16902         closeout: Move AC_LIBOBJ invocations to module description.
16903         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
16904         * modules/closeout (Makefile.am): Augment lib_SOURCES.
16905
16906 2011-05-23  Bruno Haible  <bruno@clisp.org>
16907
16908         closein: Move AC_LIBOBJ invocations to module description.
16909         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
16910         * modules/closein (Makefile.am): Augment lib_SOURCES.
16911
16912 2011-05-23  Bruno Haible  <bruno@clisp.org>
16913
16914         cloexec: Move AC_LIBOBJ invocations to module description.
16915         * m4/cloexec.m4: Remove file.
16916         * modules/cloexec (Files): Remove it.
16917         (configure.ac): Remove gl_CLOEXEC call.
16918         (Makefile.am): Augment lib_SOURCES.
16919
16920 2011-05-23  Bruno Haible  <bruno@clisp.org>
16921
16922         check-version: Move AC_LIBOBJ invocations to module description.
16923         * m4/check-version.m4: Remove file.
16924         * modules/check-version (Files): Remove it.
16925         (configure.ac): Remove gl_CHECK_VERSION call.
16926         (Makefile.am): Augment lib_SOURCES.
16927
16928 2011-05-23  Bruno Haible  <bruno@clisp.org>
16929
16930         chdir-safer: Move AC_LIBOBJ invocations to module description.
16931         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16932         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16933
16934 2011-05-23  Bruno Haible  <bruno@clisp.org>
16935
16936         canonicalize: Move AC_LIBOBJ invocations to module description.
16937         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16938         AC_LIBOBJ invocation.
16939         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16940
16941 2011-05-23  Bruno Haible  <bruno@clisp.org>
16942
16943         canon-host: Move AC_LIBOBJ invocations to module description.
16944         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
16945         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
16946         instead of gl_CANON_HOST.
16947         (Makefile.am): Augment lib_SOURCES.
16948
16949 2011-05-23  Bruno Haible  <bruno@clisp.org>
16950
16951         backupfile: Move AC_LIBOBJ invocations to module description.
16952         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
16953         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
16954
16955 2011-05-23  Bruno Haible  <bruno@clisp.org>
16956
16957         argmatch: Move AC_LIBOBJ invocations to module description.
16958         * m4/argmatch.m4: Remove file.
16959         * modules/argmatch (Files): Remove it.
16960         (configure.ac): Remove gl_ARGMATCH call.
16961         (Makefile.am): Augment lib_SOURCES.
16962
16963 2011-05-23  Bruno Haible  <bruno@clisp.org>
16964
16965         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
16966         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
16967         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
16968
16969 2011-05-23  Bruno Haible  <bruno@clisp.org>
16970
16971         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
16972         * m4/arcfour.m4: Remove file.
16973         * modules/crypto/arcfour (Files): Remove it.
16974         (configure.ac): Remove gl_ARCFOUR call.
16975         (Makefile.am): Augment lib_SOURCES.
16976
16977 2011-05-22  Bruno Haible  <bruno@clisp.org>
16978
16979         write: Move AC_LIBOBJ invocations to module description.
16980         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
16981         * modules/write (configure.ac): ... to here.
16982
16983 2011-05-22  Bruno Haible  <bruno@clisp.org>
16984
16985         wmemset: Move AC_LIBOBJ invocations to module description.
16986         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
16987         here...
16988         * modules/wmemset (configure.ac): ... to here.
16989
16990 2011-05-22  Bruno Haible  <bruno@clisp.org>
16991
16992         wmemmove: Move AC_LIBOBJ invocations to module description.
16993         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
16994         here...
16995         * modules/wmemmove (configure.ac): ... to here.
16996
16997 2011-05-22  Bruno Haible  <bruno@clisp.org>
16998
16999         wmemcpy: Move AC_LIBOBJ invocations to module description.
17000         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17001         here...
17002         * modules/wmemcpy (configure.ac): ... to here.
17003
17004 2011-05-22  Bruno Haible  <bruno@clisp.org>
17005
17006         wmemcmp: Move AC_LIBOBJ invocations to module description.
17007         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17008         here...
17009         * modules/wmemcmp (configure.ac): ... to here.
17010
17011 2011-05-22  Bruno Haible  <bruno@clisp.org>
17012
17013         wmemchr: Move AC_LIBOBJ invocations to module description.
17014         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17015         here...
17016         * modules/wmemchr (configure.ac): ... to here.
17017
17018 2011-05-22  Bruno Haible  <bruno@clisp.org>
17019
17020         wcswidth: Move AC_LIBOBJ invocations to module description.
17021         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17022         here...
17023         * modules/wcswidth (configure.ac): ... to here.
17024
17025 2011-05-22  Bruno Haible  <bruno@clisp.org>
17026
17027         wcwidth: Respect rules for use of AC_LIBOBJ.
17028         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17029         invocation from here...
17030         * modules/wcwidth (configure.ac): ... to here.
17031         (Depends-on): Update conditions.
17032
17033 2011-05-22  Bruno Haible  <bruno@clisp.org>
17034
17035         wctype: Move AC_LIBOBJ invocations to module description.
17036         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17037         invocation from here...
17038         * modules/wctype (configure.ac): ... to here.
17039         (Depends-on): Update conditions.
17040
17041 2011-05-22  Bruno Haible  <bruno@clisp.org>
17042
17043         wctrans: Move AC_LIBOBJ invocations to module description.
17044         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17045         invocation from here...
17046         * modules/wctrans (configure.ac): ... to here.
17047
17048 2011-05-22  Bruno Haible  <bruno@clisp.org>
17049
17050         wctomb: Move AC_LIBOBJ invocations to module description.
17051         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17052         invocations from here...
17053         * modules/wctomb (configure.ac): ... to here.
17054
17055 2011-05-22  Bruno Haible  <bruno@clisp.org>
17056
17057         wctob: Move AC_LIBOBJ invocations to module description.
17058         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17059         gl_PREREQ_WCTOB invocations from here...
17060         * modules/wctob (configure.ac): ... to here.
17061         (Depends-on): Update conditions.
17062
17063 2011-05-22  Bruno Haible  <bruno@clisp.org>
17064
17065         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17066         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17067         here...
17068         * modules/wcsxfrm (configure.ac): ... to here.
17069
17070 2011-05-22  Bruno Haible  <bruno@clisp.org>
17071
17072         wcstok: Move AC_LIBOBJ invocations to module description.
17073         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17074         * modules/wcstok (configure.ac): ... to here.
17075
17076 2011-05-22  Bruno Haible  <bruno@clisp.org>
17077
17078         wcsstr: Move AC_LIBOBJ invocations to module description.
17079         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17080         * modules/wcsstr (configure.ac): ... to here.
17081
17082 2011-05-22  Bruno Haible  <bruno@clisp.org>
17083
17084         wcsspn: Move AC_LIBOBJ invocations to module description.
17085         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17086         * modules/wcsspn (configure.ac): ... to here.
17087
17088 2011-05-22  Bruno Haible  <bruno@clisp.org>
17089
17090         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17091         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17092         gl_PREREQ_WCSRTOMBS invocations from here...
17093         * modules/wcsrtombs (configure.ac): ... to here.
17094
17095 2011-05-22  Bruno Haible  <bruno@clisp.org>
17096
17097         wcsrchr: Move AC_LIBOBJ invocations to module description.
17098         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17099         here...
17100         * modules/wcsrchr (configure.ac): ... to here.
17101
17102 2011-05-22  Bruno Haible  <bruno@clisp.org>
17103
17104         wcspbrk: Move AC_LIBOBJ invocations to module description.
17105         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17106         here...
17107         * modules/wcspbrk (configure.ac): ... to here.
17108
17109 2011-05-22  Bruno Haible  <bruno@clisp.org>
17110
17111         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17112         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17113         gl_PREREQ_WCSNRTOMBS invocations from here...
17114         * modules/wcsnrtombs (configure.ac): ... to here.
17115
17116 2011-05-22  Bruno Haible  <bruno@clisp.org>
17117
17118         wcsnlen: Move AC_LIBOBJ invocations to module description.
17119         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17120         here...
17121         * modules/wcsnlen (configure.ac): ... to here.
17122
17123 2011-05-22  Bruno Haible  <bruno@clisp.org>
17124
17125         wcsncpy: Move AC_LIBOBJ invocations to module description.
17126         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17127         here...
17128         * modules/wcsncpy (configure.ac): ... to here.
17129
17130 2011-05-22  Bruno Haible  <bruno@clisp.org>
17131
17132         wcsncmp: Move AC_LIBOBJ invocations to module description.
17133         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17134         here...
17135         * modules/wcsncmp (configure.ac): ... to here.
17136
17137 2011-05-22  Bruno Haible  <bruno@clisp.org>
17138
17139         wcsncat: Move AC_LIBOBJ invocations to module description.
17140         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17141         here...
17142         * modules/wcsncat (configure.ac): ... to here.
17143
17144 2011-05-22  Bruno Haible  <bruno@clisp.org>
17145
17146         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17147         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17148         from here...
17149         * modules/wcsncasecmp (configure.ac): ... to here.
17150
17151 2011-05-22  Bruno Haible  <bruno@clisp.org>
17152
17153         wcslen: Move AC_LIBOBJ invocations to module description.
17154         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17155         * modules/wcslen (configure.ac): ... to here.
17156
17157 2011-05-22  Bruno Haible  <bruno@clisp.org>
17158
17159         wcsdup: Move AC_LIBOBJ invocations to module description.
17160         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17161         * modules/wcsdup (configure.ac): ... to here.
17162
17163 2011-05-22  Bruno Haible  <bruno@clisp.org>
17164
17165         wcscspn: Move AC_LIBOBJ invocations to module description.
17166         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17167         here...
17168         * modules/wcscspn (configure.ac): ... to here.
17169
17170 2011-05-22  Bruno Haible  <bruno@clisp.org>
17171
17172         wcscpy: Move AC_LIBOBJ invocations to module description.
17173         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17174         * modules/wcscpy (configure.ac): ... to here.
17175
17176 2011-05-22  Bruno Haible  <bruno@clisp.org>
17177
17178         wcscoll: Move AC_LIBOBJ invocations to module description.
17179         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17180         here...
17181         * modules/wcscoll (configure.ac): ... to here.
17182
17183 2011-05-22  Bruno Haible  <bruno@clisp.org>
17184
17185         wcscmp: Move AC_LIBOBJ invocations to module description.
17186         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17187         * modules/wcscmp (configure.ac): ... to here.
17188
17189 2011-05-22  Bruno Haible  <bruno@clisp.org>
17190
17191         wcschr: Move AC_LIBOBJ invocations to module description.
17192         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17193         * modules/wcschr (configure.ac): ... to here.
17194
17195 2011-05-22  Bruno Haible  <bruno@clisp.org>
17196
17197         wcscat: Move AC_LIBOBJ invocations to module description.
17198         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17199         * modules/wcscat (configure.ac): ... to here.
17200
17201 2011-05-22  Bruno Haible  <bruno@clisp.org>
17202
17203         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17204         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17205         here...
17206         * modules/wcscasecmp (configure.ac): ... to here.
17207
17208 2011-05-22  Bruno Haible  <bruno@clisp.org>
17209
17210         wcrtomb: Move AC_LIBOBJ invocations to module description.
17211         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17212         invocations from here...
17213         * modules/wcrtomb (configure.ac): ... to here.
17214
17215 2011-05-22  Bruno Haible  <bruno@clisp.org>
17216
17217         wcpncpy: Move AC_LIBOBJ invocations to module description.
17218         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17219         here...
17220         * modules/wcpncpy (configure.ac): ... to here.
17221
17222 2011-05-22  Bruno Haible  <bruno@clisp.org>
17223
17224         wcpcpy: Move AC_LIBOBJ invocations to module description.
17225         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17226         * modules/wcpcpy (configure.ac): ... to here.
17227
17228 2011-05-22  Bruno Haible  <bruno@clisp.org>
17229
17230         waitpid: Move AC_LIBOBJ invocations to module description.
17231         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17232         invocation from here...
17233         * modules/waitpid (configure.ac): ... to here.
17234
17235 2011-05-22  Bruno Haible  <bruno@clisp.org>
17236
17237         utimensat: Move AC_LIBOBJ invocations to module description.
17238         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17239         here...
17240         * modules/utimensat (configure.ac): ... to here.
17241
17242 2011-05-22  Bruno Haible  <bruno@clisp.org>
17243
17244         usleep: Move AC_LIBOBJ invocations to module description.
17245         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17246         here...
17247         * modules/usleep (configure.ac): ... to here.
17248
17249 2011-05-22  Bruno Haible  <bruno@clisp.org>
17250
17251         unlockpt: Move AC_LIBOBJ invocations to module description.
17252         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17253         gl_PREREQ_UNLOCKPT invocations from here...
17254         * modules/unlockpt (configure.ac): ... to here.
17255
17256 2011-05-22  Bruno Haible  <bruno@clisp.org>
17257
17258         unlink: Respect rules for use of AC_LIBOBJ.
17259         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17260         * modules/unlink (configure.ac): ... to here.
17261
17262 2011-05-22  Bruno Haible  <bruno@clisp.org>
17263
17264         uname: Move AC_LIBOBJ invocations to module description.
17265         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17266         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17267         here...
17268         * modules/uname (configure.ac): ... to here.
17269
17270 2011-05-22  Bruno Haible  <bruno@clisp.org>
17271
17272         ttyname_r: Move AC_LIBOBJ invocations to module description.
17273         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17274         gl_PREREQ_TTYNAME_R invocations from here...
17275         * modules/ttyname_r (configure.ac): ... to here.
17276
17277 2011-05-22  Bruno Haible  <bruno@clisp.org>
17278
17279         tsearch: Move AC_LIBOBJ invocations to module description.
17280         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17281         invocations from here...
17282         * modules/tsearch (configure.ac): ... to here.
17283
17284 2011-05-22  Bruno Haible  <bruno@clisp.org>
17285
17286         towctrans: Move AC_LIBOBJ invocations to module description.
17287         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17288         AC_LIBOBJ invocation from here...
17289         * modules/towctrans (configure.ac): ... to here.
17290
17291 2011-05-22  Bruno Haible  <bruno@clisp.org>
17292
17293         tmpfile: Move AC_LIBOBJ invocations to module description.
17294         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17295         invocations from here...
17296         * modules/tmpfile (configure.ac): ... to here.
17297
17298 2011-05-22  Bruno Haible  <bruno@clisp.org>
17299
17300         times: Move AC_LIBOBJ invocations to module description.
17301         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17302         * modules/times (configure.ac): ... to here.
17303
17304 2011-05-22  Bruno Haible  <bruno@clisp.org>
17305
17306         time_r: Move AC_LIBOBJ invocations to module description.
17307         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17308         invocations from here...
17309         * modules/time_r (configure.ac): ... to here.
17310
17311 2011-05-22  Bruno Haible  <bruno@clisp.org>
17312
17313         timegm: Move AC_LIBOBJ invocations to module description.
17314         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17315         invocations from here...
17316         * modules/timegm (configure.ac): ... to here.
17317
17318 2011-05-22  Bruno Haible  <bruno@clisp.org>
17319
17320         tcgetsid: Move AC_LIBOBJ invocations to module description.
17321         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17322         and gl_PREREQ_TCGETSID invocations from here...
17323         * modules/tcgetsid (configure.ac): ... to here.
17324         (Depends-on): Update conditions.
17325
17326 2011-05-22  Bruno Haible  <bruno@clisp.org>
17327
17328         symlinkat: Move AC_LIBOBJ invocations to module description.
17329         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17330         here...
17331         * modules/symlinkat (configure.ac): ... to here.
17332
17333 2011-05-22  Bruno Haible  <bruno@clisp.org>
17334
17335         symlink: Move AC_LIBOBJ invocations to module description.
17336         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17337         here...
17338         * modules/symlink (configure.ac): ... to here.
17339
17340 2011-05-22  Bruno Haible  <bruno@clisp.org>
17341
17342         strverscmp: Move AC_LIBOBJ invocations to module description.
17343         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17344         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17345         from here...
17346         * modules/strverscmp (configure.ac): ... to here.
17347
17348 2011-05-22  Bruno Haible  <bruno@clisp.org>
17349
17350         strtok_r: Move AC_LIBOBJ invocations to module description.
17351         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17352         and gl_PREREQ_STRTOK_R invocations from here...
17353         * modules/strtok_r (configure.ac): ... to here.
17354         (Depends-on): Update conditions.
17355
17356 2011-05-22  Bruno Haible  <bruno@clisp.org>
17357
17358         strtoumax: Move AC_LIBOBJ invocations to module description.
17359         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17360         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17361         from here...
17362         * modules/strtoumax (configure.ac): ... to here.
17363
17364 2011-05-22  Bruno Haible  <bruno@clisp.org>
17365
17366         strtoimax: Move AC_LIBOBJ invocations to module description.
17367         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17368         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17369         from here...
17370         * modules/strtoimax (configure.ac): ... to here.
17371
17372 2011-05-22  Bruno Haible  <bruno@clisp.org>
17373
17374         strtoull: Move AC_LIBOBJ invocations to module description.
17375         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17376         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17377         from here...
17378         * modules/strtoull (configure.ac): ... to here.
17379
17380 2011-05-22  Bruno Haible  <bruno@clisp.org>
17381
17382         strtoll: Move AC_LIBOBJ invocations to module description.
17383         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17384         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17385         here...
17386         * modules/strtoll (configure.ac): ... to here.
17387
17388 2011-05-22  Bruno Haible  <bruno@clisp.org>
17389
17390         strtoul: Move AC_LIBOBJ invocations to module description.
17391         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17392         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17393         * modules/strtoul (configure.ac): ... to here.
17394
17395 2011-05-22  Bruno Haible  <bruno@clisp.org>
17396
17397         strtol: Move AC_LIBOBJ invocations to module description.
17398         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17399         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17400         * modules/strtol (configure.ac): ... to here.
17401
17402 2011-05-22  Bruno Haible  <bruno@clisp.org>
17403
17404         strtod: Move AC_LIBOBJ invocations to module description.
17405         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17406         invocations from here...
17407         * modules/strtod (configure.ac): ... to here.
17408
17409 2011-05-22  Bruno Haible  <bruno@clisp.org>
17410
17411         strstr*: Move AC_LIBOBJ invocations to module description.
17412         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17413         invocations from here...
17414         * modules/strstr-simple (configure.ac): ... to here.
17415         * modules/strstr (configure.ac): ... and here.
17416
17417 2011-05-22  Bruno Haible  <bruno@clisp.org>
17418
17419         strsignal: Move AC_LIBOBJ invocations to module description.
17420         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17421         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17422         * modules/strsignal (configure.ac): ... to here.
17423         (Depends-on): Update conditions.
17424
17425 2011-05-22  Bruno Haible  <bruno@clisp.org>
17426
17427         strsep: Move AC_LIBOBJ invocations to module description.
17428         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17430         here...
17431         * modules/strsep (configure.ac): ... to here.
17432
17433 2011-05-22  Bruno Haible  <bruno@clisp.org>
17434
17435         strptime: Move AC_LIBOBJ invocations to module description.
17436         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17437         gl_PREREQ_STRPTIME invocations from here...
17438         * modules/strptime (configure.ac): ... to here.
17439
17440 2011-05-22  Bruno Haible  <bruno@clisp.org>
17441
17442         strpbrk: Move AC_LIBOBJ invocations to module description.
17443         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17444         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17445         here...
17446         * modules/strpbrk (configure.ac): ... to here.
17447
17448 2011-05-22  Bruno Haible  <bruno@clisp.org>
17449
17450         strnlen: Move AC_LIBOBJ invocations to module description.
17451         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17452         invocations from here...
17453         * modules/strnlen (configure.ac): ... to here.
17454
17455 2011-05-22  Bruno Haible  <bruno@clisp.org>
17456
17457         strndup: Move AC_LIBOBJ invocations to module description.
17458         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17459         invocations from here...
17460         * modules/strndup (configure.ac): ... to here.
17461         (Depends-on): Update conditions.
17462
17463 2011-05-22  Bruno Haible  <bruno@clisp.org>
17464
17465         strncat: Move AC_LIBOBJ invocations to module description.
17466         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17467         invocations from here...
17468         * modules/strncat (configure.ac): ... to here.
17469
17470 2011-05-22  Bruno Haible  <bruno@clisp.org>
17471
17472         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17473         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17474         invocations from here...
17475         * modules/strdup (configure.ac): ... to here.
17476         * modules/strdup-posix (configure.ac): ... and here.
17477
17478 2011-05-22  Bruno Haible  <bruno@clisp.org>
17479
17480         strcspn: Move AC_LIBOBJ invocations to module description.
17481         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17482         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17483         here...
17484         * modules/strcspn (configure.ac): ... to here.
17485
17486 2011-05-22  Bruno Haible  <bruno@clisp.org>
17487
17488         strchrnul: Move AC_LIBOBJ invocations to module description.
17489         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17490         gl_PREREQ_STRCHRNUL invocations from here...
17491         * modules/strchrnul (configure.ac): ... to here.
17492
17493 2011-05-22  Bruno Haible  <bruno@clisp.org>
17494
17495         strcasestr*: Move AC_LIBOBJ invocations to module description.
17496         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17497         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17498         * modules/strcasestr-simple (configure.ac): ... to here.
17499         * modules/strcasestr (configure.ac): ... and here.
17500
17501 2011-05-22  Bruno Haible  <bruno@clisp.org>
17502
17503         strcase: Move AC_LIBOBJ invocations to module description.
17504         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17505         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17506         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17507         gl_PREREQ_STRNCASECMP invocations from here...
17508         * modules/strcase (configure.ac): ... to here.
17509
17510 2011-05-22  Bruno Haible  <bruno@clisp.org>
17511
17512         stpncpy: Move AC_LIBOBJ invocations to module description.
17513         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17514         here...
17515         * modules/stpncpy (configure.ac): ... to here.
17516
17517 2011-05-22  Bruno Haible  <bruno@clisp.org>
17518
17519         stpcpy: Move AC_LIBOBJ invocations to module description.
17520         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17521         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17522         here...
17523         * modules/stpcpy (configure.ac): ... to here.
17524
17525 2011-05-21  Bruno Haible  <bruno@clisp.org>
17526
17527         stat: Move AC_LIBOBJ invocations to module description.
17528         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17529         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17530         here...
17531         * modules/stat (configure.ac): ... to here.
17532
17533 2011-05-21  Bruno Haible  <bruno@clisp.org>
17534
17535         sleep: Move AC_LIBOBJ invocations to module description.
17536         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17537         * modules/sleep (configure.ac): ... to here.
17538
17539 2011-05-21  Bruno Haible  <bruno@clisp.org>
17540
17541         signbit: Move AC_LIBOBJ invocations to module description.
17542         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17543         * modules/signbit (configure.ac): ... to here.
17544
17545 2011-05-21  Bruno Haible  <bruno@clisp.org>
17546
17547         sigprocmask: Move AC_LIBOBJ invocations to module description.
17548         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17549         gl_PREREQ_SIGPROMASK invocations from here...
17550         * modules/sigprocmask (configure.ac): ... to here.
17551
17552 2011-05-21  Bruno Haible  <bruno@clisp.org>
17553
17554         sigaction: Move AC_LIBOBJ invocations to module description.
17555         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17556         gl_PREREQ_SIGACTION invocations from here...
17557         * modules/sigaction (configure.ac): ... to here.
17558
17559 2011-05-21  Bruno Haible  <bruno@clisp.org>
17560
17561         sig2str: Move AC_LIBOBJ invocations to module description.
17562         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17563         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17564         here...
17565         * modules/sig2str (configure.ac): ... to here.
17566
17567 2011-05-21  Bruno Haible  <bruno@clisp.org>
17568
17569         setlocale: Move AC_LIBOBJ invocations to module description.
17570         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17571         gl_PREREQ_SETLOCALE invocations from here...
17572         * modules/setlocale (configure.ac): ... to here.
17573
17574 2011-05-21  Bruno Haible  <bruno@clisp.org>
17575
17576         unsetenv: Move AC_LIBOBJ invocations to module description.
17577         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17578         and gl_PREREQ_UNSETENV invocations from here...
17579         * modules/unsetenv (configure.ac): ... to here.
17580         (Depends-on): Update.
17581
17582 2011-05-21  Bruno Haible  <bruno@clisp.org>
17583
17584         setenv: Move AC_LIBOBJ invocations to module description.
17585         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17586         here...
17587         * modules/setenv (configure.ac): ... to here.
17588
17589 2011-05-21  Bruno Haible  <bruno@clisp.org>
17590
17591         selinux-h: Move AC_LIBOBJ invocations to module description.
17592         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17593         AC_LIBOBJ invocation from here...
17594         * modules/selinux-h (configure.ac): ... to here.
17595
17596 2011-05-21  Bruno Haible  <bruno@clisp.org>
17597
17598         select: Respect rules for use of AC_LIBOBJ.
17599         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17600         here...
17601         * modules/select (configure.ac): ... to here.
17602
17603 2011-05-21  Bruno Haible  <bruno@clisp.org>
17604
17605         scandir: Move AC_LIBOBJ invocations to module description.
17606         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17607         invocations from here...
17608         * modules/scandir (configure.ac): ... to here.
17609
17610 2011-05-21  Bruno Haible  <bruno@clisp.org>
17611
17612         rpmatch: Move AC_LIBOBJ invocations to module description.
17613         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17615         here...
17616         * modules/rpmatch (configure.ac): ... to here.
17617
17618 2011-05-21  Bruno Haible  <bruno@clisp.org>
17619
17620         rmdir: Respect rules for use of AC_LIBOBJ.
17621         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17622         * modules/rmdir (configure.ac): ... to here.
17623
17624 2011-05-21  Bruno Haible  <bruno@clisp.org>
17625
17626         renameat: Move AC_LIBOBJ invocations to module description.
17627         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17628         here...
17629         * modules/renameat (configure.ac): ... to here.
17630
17631 2011-05-21  Bruno Haible  <bruno@clisp.org>
17632
17633         rename: Respect rules for use of AC_LIBOBJ.
17634         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17635         here...
17636         * modules/rename (configure.ac): ... to here.
17637
17638 2011-05-21  Bruno Haible  <bruno@clisp.org>
17639
17640         remove: Move AC_LIBOBJ invocations to module description.
17641         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17642         here...
17643         * modules/remove (configure.ac): ... to here.
17644
17645 2011-05-21  Bruno Haible  <bruno@clisp.org>
17646
17647         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17648         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17649         macro.
17650         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17651         * modules/relocatable-lib (configure.ac): ... to here.
17652         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17653         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17654
17655 2011-05-21  Bruno Haible  <bruno@clisp.org>
17656
17657         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17658         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17659         here...
17660         * modules/relocatable-prog (configure.ac): ... to here.
17661
17662 2011-05-21  Bruno Haible  <bruno@clisp.org>
17663
17664         regex: Move AC_LIBOBJ invocations to module description.
17665         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17666         invocations from here...
17667         * modules/regex (configure.ac): ... to here.
17668
17669 2011-05-21  Bruno Haible  <bruno@clisp.org>
17670
17671         realloc-*: Move AC_LIBOBJ invocations to module description.
17672         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17673         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17674         AC_LIBOBJ invocations from here...
17675         * modules/realloc-gnu (configure.ac): ... to here.
17676         * modules/realloc-posix (configure.ac): ... and here.
17677
17678 2011-05-21  Bruno Haible  <bruno@clisp.org>
17679
17680         readutmp: Move AC_LIBOBJ invocations to module description.
17681         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17682         * modules/readutmp (configure.ac): ... to here.
17683
17684 2011-05-21  Bruno Haible  <bruno@clisp.org>
17685
17686         readlinkat: Move AC_LIBOBJ invocations to module description.
17687         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17688         here...
17689         * modules/readlinkat (configure.ac): ... to here.
17690
17691 2011-05-21  Bruno Haible  <bruno@clisp.org>
17692
17693         readlink: Move AC_LIBOBJ invocations to module description.
17694         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17695         gl_PREREQ_READLINK invocations from here...
17696         * modules/readlink (configure.ac): ... to here.
17697
17698 2011-05-21  Bruno Haible  <bruno@clisp.org>
17699
17700         readline: Move AC_LIBOBJ invocations to module description.
17701         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17702         gl_PREREQ_READLINE invocations from here...
17703         * modules/readline (configure.ac): ... to here.
17704
17705 2011-05-21  Bruno Haible  <bruno@clisp.org>
17706
17707         read: Move AC_LIBOBJ invocations to module description.
17708         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17709         * modules/read (configure.ac): ... to here.
17710
17711 2011-05-21  Bruno Haible  <bruno@clisp.org>
17712
17713         rawmemchr: Move AC_LIBOBJ invocations to module description.
17714         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17715         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17716         from here...
17717         * modules/rawmemchr (configure.ac): ... to here.
17718
17719 2011-05-21  Bruno Haible  <bruno@clisp.org>
17720
17721         random_r: Move AC_LIBOBJ invocations to module description.
17722         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17723         gl_PREREQ_RANDOM_R invocations from here...
17724         * modules/random_r (configure.ac): ... to here.
17725
17726 2011-05-21  Bruno Haible  <bruno@clisp.org>
17727
17728         pwrite: Move AC_LIBOBJ invocations to module description.
17729         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17730         * modules/pwrite (configure.ac): ... to here.
17731
17732 2011-05-21  Bruno Haible  <bruno@clisp.org>
17733
17734         putenv: Move AC_LIBOBJ invocations to module description.
17735         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17736         * modules/putenv (configure.ac): ... to here.
17737
17738 2011-05-21  Bruno Haible  <bruno@clisp.org>
17739
17740         login_tty: Move AC_LIBOBJ invocations to module description.
17741         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17742         * modules/login_tty (configure.ac): ... to here.
17743
17744 2011-05-21  Bruno Haible  <bruno@clisp.org>
17745
17746         openpty: Move AC_LIBOBJ invocations to module description.
17747         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17748         * modules/openpty (configure.ac): ... to here.
17749
17750 2011-05-21  Bruno Haible  <bruno@clisp.org>
17751
17752         forkpty: Move AC_LIBOBJ invocations to module description.
17753         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17754         * modules/forkpty (configure.ac): ... to here.
17755
17756 2011-05-21  Bruno Haible  <bruno@clisp.org>
17757
17758         ptsname: Move AC_LIBOBJ invocations to module description.
17759         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17760         invocations from here...
17761         * modules/ptsname (configure.ac): ... to here.
17762
17763 2011-05-21  Bruno Haible  <bruno@clisp.org>
17764
17765         pread: Move AC_LIBOBJ invocations to module description.
17766         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
17767         * modules/pread (configure.ac): ... to here.
17768
17769 2011-05-21  Bruno Haible  <bruno@clisp.org>
17770
17771         posix_spawn*: Move AC_LIBOBJ invocations to module description.
17772         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
17773         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
17774         * modules/posix_spawn (configure.ac): ... to here.
17775         * modules/posix_spawnp (configure.ac): ... and here.
17776
17777 2011-05-21  Bruno Haible  <bruno@clisp.org>
17778
17779         popen: Move AC_LIBOBJ invocations to module description.
17780         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
17781         invocations from here...
17782         * modules/popen (configure.ac): ... to here.
17783
17784 2011-05-21  Bruno Haible  <bruno@clisp.org>
17785
17786         poll: Move AC_LIBOBJ invocations to module description.
17787         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
17788         invocations from here...
17789         * modules/poll (configure.ac): ... to here.
17790
17791 2011-05-21  Bruno Haible  <bruno@clisp.org>
17792
17793         pipe-posix: Move AC_LIBOBJ invocations to module description.
17794         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
17795         * modules/pipe-posix (configure.ac): ... to here.
17796
17797 2011-05-21  Bruno Haible  <bruno@clisp.org>
17798
17799         openat: Respect rules for use of AC_LIBOBJ.
17800         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
17801         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17802         * modules/openat (configure.ac): ... to here.
17803
17804 2011-05-21  Bruno Haible  <bruno@clisp.org>
17805
17806         obstack-printf*: Move AC_LIBOBJ invocations to module description.
17807         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
17808         invocation from here...
17809         * modules/obstack-printf (configure.ac): ... to here.
17810         * modules/obstack-printf-posix (configure.ac): ... and here.
17811
17812 2011-05-21  Bruno Haible  <bruno@clisp.org>
17813
17814         nl_langinfo: Move AC_LIBOBJ invocations to module description.
17815         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
17816         from here...
17817         * modules/nl_langinfo (configure.ac): ... to here.
17818
17819 2011-05-21  Bruno Haible  <bruno@clisp.org>
17820
17821         nanosleep: Move AC_LIBOBJ invocations to module description.
17822         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
17823         gl_PREREQ_NANOSLEEP invocations from here...
17824         * modules/nanosleep (configure.ac): ... to here.
17825
17826 2011-05-21  Bruno Haible  <bruno@clisp.org>
17827
17828         mountlist: Move AC_LIBOBJ invocations to module description.
17829         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
17830         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
17831         * modules/mountlist (configure.ac): ... to here.
17832
17833 2011-05-21  Bruno Haible  <bruno@clisp.org>
17834
17835         mktime: Respect rules for use of AC_LIBOBJ.
17836         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
17837         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
17838         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
17839         (gl_FUNC_MKTIME_INTERNAL): ... and here...
17840         * modules/mktime (configure.ac): ... to here.
17841         * modules/mktime-internal (configure.ac): ... and here.
17842         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
17843
17844 2011-05-21  Bruno Haible  <bruno@clisp.org>
17845
17846         mkstemps: Move AC_LIBOBJ invocations to module description.
17847         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
17848         here...
17849         * modules/mkstemps (configure.ac): ... to here.
17850
17851 2011-05-21  Bruno Haible  <bruno@clisp.org>
17852
17853         mkstemp: Move AC_LIBOBJ invocations to module description.
17854         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
17855         gl_PREREQ_MKSTEMP invocations from here...
17856         * modules/mkstemp (configure.ac): ... to here.
17857
17858 2011-05-21  Bruno Haible  <bruno@clisp.org>
17859
17860         mkostemps: Move AC_LIBOBJ invocations to module description.
17861         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
17862         here...
17863         * modules/mkostemps (configure.ac): ... to here.
17864
17865 2011-05-21  Bruno Haible  <bruno@clisp.org>
17866
17867         mkostemp: Move AC_LIBOBJ invocations to module description.
17868         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
17869         gl_PREREQ_MKOSTEMP invocations from here...
17870         * modules/mkostemp (configure.ac): ... to here.
17871
17872 2011-05-21  Bruno Haible  <bruno@clisp.org>
17873
17874         mknod: Move AC_LIBOBJ invocations to module description.
17875         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
17876         * modules/mknod (configure.ac): ... to here.
17877
17878 2011-05-21  Bruno Haible  <bruno@clisp.org>
17879
17880         mkfifoat: Move AC_LIBOBJ invocations to module description.
17881         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
17882         here...
17883         * modules/mkfifoat (configure.ac): ... to here.
17884
17885 2011-05-21  Bruno Haible  <bruno@clisp.org>
17886
17887         mkfifo: Respect rules for use of AC_LIBOBJ.
17888         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
17889         here...
17890         * modules/mkfifo (configure.ac): ... to here.
17891
17892 2011-05-21  Bruno Haible  <bruno@clisp.org>
17893
17894         mkdtemp: Move AC_LIBOBJ invocations to module description.
17895         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
17896         invocations from here...
17897         * modules/mkdtemp (configure.ac): ... to here.
17898
17899 2011-05-21  Bruno Haible  <bruno@clisp.org>
17900
17901         mkdir: Move AC_LIBOBJ invocations to module description.
17902         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
17903         * modules/mkdir (configure.ac): ... to here.
17904
17905 2011-05-21  Bruno Haible  <bruno@clisp.org>
17906
17907         memset: Move AC_LIBOBJ invocations to module description.
17908         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
17909         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
17910         here...
17911         * modules/memset (configure.ac): ... to here.
17912
17913 2011-05-21  Bruno Haible  <bruno@clisp.org>
17914
17915         memrchr: Move AC_LIBOBJ invocations to module description.
17916         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
17917         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
17918         here...
17919         * modules/memrchr (configure.ac): ... to here.
17920
17921 2011-05-21  Bruno Haible  <bruno@clisp.org>
17922
17923         mempcpy: Move AC_LIBOBJ invocations to module description.
17924         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
17925         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
17926         here...
17927         * modules/mempcpy (configure.ac): ... to here.
17928
17929 2011-05-21  Bruno Haible  <bruno@clisp.org>
17930
17931         memmove: Move AC_LIBOBJ invocations to module description.
17932         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17933         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17934         here...
17935         * modules/memmove (configure.ac): ... to here.
17936
17937 2011-05-21  Bruno Haible  <bruno@clisp.org>
17938
17939         memmem*: Move AC_LIBOBJ invocations to module description.
17940         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
17941         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
17942         here...
17943         (gl_FUNC_MEMMEM): ... and here...
17944         * modules/memmem-simple (configure.ac): ... to here.
17945         * modules/memmem (configure.ac): ... and here.
17946
17947 2011-05-21  Bruno Haible  <bruno@clisp.org>
17948
17949         memcpy: Move AC_LIBOBJ invocations to module description.
17950         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
17951         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
17952         here...
17953         * modules/memcpy (configure.ac): ... to here.
17954
17955 2011-05-21  Bruno Haible  <bruno@clisp.org>
17956
17957         memcmp: Simplify autoconf macro.
17958         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
17959         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
17960         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
17961
17962 2011-05-21  Bruno Haible  <bruno@clisp.org>
17963
17964         memcmp: Move AC_LIBOBJ invocations to module description.
17965         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
17966         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
17967         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
17968         * modules/memcmp (configure.ac): ... to here.
17969         (Depends-on): Update conditions.
17970
17971 2011-05-21  Bruno Haible  <bruno@clisp.org>
17972
17973         memchr: Respect rules for use of AC_LIBOBJ.
17974         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
17975         invocations from here...
17976         * modules/memchr (configure.ac): ... to here.
17977
17978 2011-05-21  Bruno Haible  <bruno@clisp.org>
17979
17980         mbtowc: Move AC_LIBOBJ invocations to module description.
17981         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
17982         invocations from here...
17983         * modules/mbtowc (configure.ac): ... to here.
17984
17985 2011-05-21  Bruno Haible  <bruno@clisp.org>
17986
17987         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
17988         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
17989         gl_PREREQ_MBSRTOWCS invocations from here...
17990         * modules/mbsrtowcs (configure.ac): ... to here.
17991
17992 2011-05-21  Bruno Haible  <bruno@clisp.org>
17993
17994         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
17995         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
17996         gl_PREREQ_MBSNRTOWCS invocations from here...
17997         * modules/mbsnrtowcs (configure.ac): ... to here.
17998
17999 2011-05-21  Bruno Haible  <bruno@clisp.org>
18000
18001         mbsinit: Move AC_LIBOBJ invocations to module description.
18002         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18003         invocations from here...
18004         * modules/mbsinit (configure.ac): ... to here.
18005
18006 2011-05-21  Bruno Haible  <bruno@clisp.org>
18007
18008         mbrlen: Move AC_LIBOBJ invocations to module description.
18009         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18010         invocations from here...
18011         * modules/mbrlen (configure.ac): ... to here.
18012
18013 2011-05-21  Bruno Haible  <bruno@clisp.org>
18014
18015         mbrtowc: Respect rules for use of AC_LIBOBJ.
18016         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18017         invocations from here...
18018         * modules/mbrtowc (configure.ac): ... to here.
18019
18020 2011-05-21  Bruno Haible  <bruno@clisp.org>
18021
18022         malloc-*: Move AC_LIBOBJ invocations to module description.
18023         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18024         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18025         AC_LIBOBJ invocations from here...
18026         * modules/malloc-gnu (configure.ac): ... to here.
18027         * modules/malloc-posix (configure.ac): ... and here.
18028
18029 2011-05-21  Bruno Haible  <bruno@clisp.org>
18030
18031         lstat, openat: Respect rules for use of AC_LIBOBJ.
18032         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18033         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18034         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18035         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18036         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18037         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18038         here.
18039         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18040
18041 2011-05-21  Bruno Haible  <bruno@clisp.org>
18042
18043         lseek: Move AC_LIBOBJ invocations to module description.
18044         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18045         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18046         * modules/lseek (configure.ac): ... to here.
18047
18048 2011-05-21  Bruno Haible  <bruno@clisp.org>
18049
18050         linkat: Move AC_LIBOBJ invocations to module description.
18051         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18052         here...
18053         * modules/linkat (configure.ac): ... to here.
18054
18055 2011-05-21  Bruno Haible  <bruno@clisp.org>
18056
18057         link: Respect rules for use of AC_LIBOBJ.
18058         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18059         * modules/link (configure.ac): ... to here.
18060
18061 2011-05-21  Bruno Haible  <bruno@clisp.org>
18062
18063         lchown: Move AC_LIBOBJ invocations to module description.
18064         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18065         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18066         * modules/lchown (configure.ac): ... to here.
18067
18068 2011-05-21  Bruno Haible  <bruno@clisp.org>
18069
18070         iswctype: Move AC_LIBOBJ invocations to module description.
18071         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18072         here...
18073         * modules/iswctype (configure.ac): ... to here.
18074
18075 2011-05-21  Bruno Haible  <bruno@clisp.org>
18076
18077         iswblank: Move AC_LIBOBJ invocations to module description.
18078         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18079         here...
18080         * modules/iswblank (configure.ac): ... to here.
18081
18082 2011-05-21  Bruno Haible  <bruno@clisp.org>
18083
18084         atanl: Move AC_LIBOBJ invocations to module description.
18085         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18086         * modules/atanl (configure.ac): ... to here.
18087
18088 2011-05-21  Bruno Haible  <bruno@clisp.org>
18089
18090         acosl: Move AC_LIBOBJ invocations to module description.
18091         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18092         * modules/acosl (configure.ac): ... to here.
18093
18094 2011-05-21  Bruno Haible  <bruno@clisp.org>
18095
18096         asinl: Respect rules for use of AC_LIBOBJ.
18097         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18098         * modules/asinl (configure.ac): ... to here.
18099
18100 2011-05-21  Bruno Haible  <bruno@clisp.org>
18101
18102         tanl: Move AC_LIBOBJ invocations to module description.
18103         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18104         * modules/tanl (configure.ac): ... to here.
18105
18106 2011-05-21  Bruno Haible  <bruno@clisp.org>
18107
18108         cosl: Move AC_LIBOBJ invocations to module description.
18109         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18110         * modules/cosl (configure.ac): ... to here.
18111
18112 2011-05-21  Bruno Haible  <bruno@clisp.org>
18113
18114         sinl: Move AC_LIBOBJ invocations to module description.
18115         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18116         * modules/sinl (configure.ac): ... to here.
18117
18118 2011-05-21  Bruno Haible  <bruno@clisp.org>
18119
18120         logl: Move AC_LIBOBJ invocations to module description.
18121         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18122         * modules/logl (configure.ac): ... to here.
18123
18124 2011-05-21  Bruno Haible  <bruno@clisp.org>
18125
18126         expl: Move AC_LIBOBJ invocations to module description.
18127         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18128         * modules/expl (configure.ac): ... to here.
18129
18130 2011-05-21  Bruno Haible  <bruno@clisp.org>
18131
18132         roundl: Move AC_LIBOBJ invocations to module description.
18133         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18134         * modules/roundl (configure.ac): ... to here.
18135
18136 2011-05-21  Bruno Haible  <bruno@clisp.org>
18137
18138         round: Move AC_LIBOBJ invocations to module description.
18139         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18140         * modules/round (configure.ac): ... to here.
18141
18142 2011-05-21  Bruno Haible  <bruno@clisp.org>
18143
18144         roundf: Move AC_LIBOBJ invocations to module description.
18145         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18146         * modules/roundf (configure.ac): ... to here.
18147
18148 2011-05-21  Bruno Haible  <bruno@clisp.org>
18149
18150         truncl: Move AC_LIBOBJ invocations to module description.
18151         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18152         * modules/truncl (configure.ac): ... to here.
18153
18154 2011-05-21  Bruno Haible  <bruno@clisp.org>
18155
18156         trunc: Move AC_LIBOBJ invocations to module description.
18157         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18158         * modules/trunc (configure.ac): ... to here.
18159
18160 2011-05-21  Bruno Haible  <bruno@clisp.org>
18161
18162         truncf: Move AC_LIBOBJ invocations to module description.
18163         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18164         * modules/truncf (configure.ac): ... to here.
18165
18166 2011-05-21  Bruno Haible  <bruno@clisp.org>
18167
18168         ceill: Move AC_LIBOBJ invocations to module description.
18169         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18170         * modules/ceill (configure.ac): ... to here.
18171
18172 2011-05-21  Bruno Haible  <bruno@clisp.org>
18173
18174         ceil: Move AC_LIBOBJ invocations to module description.
18175         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18176         * modules/ceil (configure.ac): ... to here.
18177
18178 2011-05-21  Bruno Haible  <bruno@clisp.org>
18179
18180         ceilf: Move AC_LIBOBJ invocations to module description.
18181         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18182         * modules/ceilf (configure.ac): ... to here.
18183
18184 2011-05-21  Bruno Haible  <bruno@clisp.org>
18185
18186         floorl: Respect rules for use of AC_LIBOBJ.
18187         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18188         * modules/floorl (configure.ac): ... to here.
18189
18190 2011-05-21  Bruno Haible  <bruno@clisp.org>
18191
18192         floor: Respect rules for use of AC_LIBOBJ.
18193         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18194         * modules/floor (configure.ac): ... to here.
18195
18196 2011-05-21  Bruno Haible  <bruno@clisp.org>
18197
18198         floorf: Move AC_LIBOBJ invocations to module description.
18199         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18200         * modules/floorf (configure.ac): ... to here.
18201
18202 2011-05-20  Bruno Haible  <bruno@clisp.org>
18203
18204         sqrtl: Respect rules for use of AC_LIBOBJ.
18205         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18206         * modules/sqrtl (configure.ac): ... to here.
18207
18208 2011-05-20  Bruno Haible  <bruno@clisp.org>
18209
18210         ldexpl: Respect rules for use of AC_LIBOBJ.
18211         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18212         * modules/ldexpl (configure.ac): ... to here.
18213
18214 2011-05-20  Bruno Haible  <bruno@clisp.org>
18215
18216         frexpl*: Respect rules for use of AC_LIBOBJ.
18217         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18218         invocation from here...
18219         * modules/frexpl (configure.ac): ... to here.
18220         * modules/frexpl-nolibm (configure.ac): ... and here.
18221
18222 2011-05-20  Bruno Haible  <bruno@clisp.org>
18223
18224         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18225         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18226         invocation from here...
18227         * modules/frexp (configure.ac): ... to here.
18228         * modules/frexp-nolibm (configure.ac): ... and here.
18229
18230 2011-05-20  Bruno Haible  <bruno@clisp.org>
18231
18232         isnan: Respect rules for use of AC_LIBOBJ.
18233         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18234         invocations here.
18235         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18236         REPLACE_ISNAN.
18237         * modules/isnand (configure.ac): Likewise.
18238         * modules/isnanl (configure.ac): Likewise.
18239
18240 2011-05-20  Bruno Haible  <bruno@clisp.org>
18241
18242         isnanl*: Respect rules for use of AC_LIBOBJ.
18243         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18244         invocation from here...
18245         * modules/isnanl (configure.ac): ... to here.
18246         * modules/isnanl-nolibm (configure.ac): ... and here.
18247
18248 2011-05-20  Bruno Haible  <bruno@clisp.org>
18249
18250         isnand*: Move AC_LIBOBJ invocations to module description.
18251         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18252         invocation from here...
18253         * modules/isnand (configure.ac): ... to here.
18254         * modules/isnand-nolibm (configure.ac): ... and here.
18255
18256 2011-05-20  Bruno Haible  <bruno@clisp.org>
18257
18258         isnanf*: Move AC_LIBOBJ invocations to module description.
18259         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18260         invocation from here...
18261         * modules/isnanf (configure.ac): ... to here.
18262         * modules/isnanf-nolibm (configure.ac): ... and here.
18263
18264 2011-05-20  Bruno Haible  <bruno@clisp.org>
18265
18266         isnan*: Separate the AC_LIBOBJ invocations.
18267         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18268         AC_LIBOBJ invocation.
18269         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18270         here.
18271         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18272         AC_LIBOBJ invocation.
18273         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18274         here.
18275         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18276         AC_LIBOBJ invocation.
18277         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18278         here.
18279         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18280
18281 2011-05-08  Bruno Haible  <bruno@clisp.org>
18282
18283         isinf: Move AC_LIBOBJ invocations to module description.
18284         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18285         * modules/isinf (configure.ac): ... to here.
18286
18287 2011-05-08  Bruno Haible  <bruno@clisp.org>
18288
18289         isfinite: Move AC_LIBOBJ invocations to module description.
18290         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18291         * modules/isfinite (configure.ac): ... to here.
18292
18293 2011-05-08  Bruno Haible  <bruno@clisp.org>
18294
18295         isblank: Move AC_LIBOBJ invocations to module description.
18296         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18297         here...
18298         * modules/isblank (configure.ac): ... to here.
18299
18300 2011-05-08  Bruno Haible  <bruno@clisp.org>
18301
18302         isapipe: Move AC_LIBOBJ invocations to module description.
18303         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18304         gl_PREREQ_ISAPIPE invocations from here...
18305         * modules/isapipe (configure.ac): ... to here.
18306         (Depends-on): Update condition.
18307
18308 2011-05-08  Bruno Haible  <bruno@clisp.org>
18309
18310         ioctl: Move AC_LIBOBJ invocations to module description.
18311         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18312         invocations from here...
18313         * modules/ioctl (configure.ac): ... to here.
18314         (Depends-on): Update condition.
18315
18316 2011-05-08  Bruno Haible  <bruno@clisp.org>
18317
18318         imaxdiv: Move AC_LIBOBJ invocations to module description.
18319         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18320         invocations from here...
18321         * modules/imaxdiv (configure.ac): ... to here.
18322
18323 2011-05-08  Bruno Haible  <bruno@clisp.org>
18324
18325         imaxabs: Move AC_LIBOBJ invocations to module description.
18326         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18327         invocations from here...
18328         * modules/imaxabs (configure.ac): ... to here.
18329
18330 2011-05-08  Bruno Haible  <bruno@clisp.org>
18331
18332         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18333         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18334         AC_LIBOBJ invocations from here...
18335         * modules/getaddrinfo (configure.ac): ... to here.
18336         (Depends-on): Add conditions.
18337
18338 2011-05-08  Bruno Haible  <bruno@clisp.org>
18339
18340         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18341         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18342         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18343         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18344         (gl_PREREQ_INET_PTON): ... from here.
18345         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18346         gl_PREREQ_INET_PTON here.
18347         (Depends-on): Update condition.
18348
18349 2011-05-08  Bruno Haible  <bruno@clisp.org>
18350
18351         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18352         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18353         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18354         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18355         (gl_PREREQ_INET_NTOP): ... from here.
18356         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18357         gl_PREREQ_INET_NTOP here.
18358         (Depends-on): Update condition.
18359
18360 2011-05-08  Bruno Haible  <bruno@clisp.org>
18361
18362         iconv_open: Move AC_LIBOBJ invocations to module description.
18363         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18364         AC_LIBOBJ invocations from here...
18365         * modules/iconv_open (configure.ac): ... to here.
18366
18367 2011-05-08  Bruno Haible  <bruno@clisp.org>
18368
18369         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18370         If module 'iconv_open' is among the main modules and module
18371         'iconv_open-utf' is among the tests dependencies, then
18372         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18373         return the special iconv_t values. Therefore iconv() and iconv_close()
18374         must support these special iconv_t values, already in lib, not only in
18375         tests.
18376         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18377         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18378         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18379         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18380         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18381         (Depends-on): Add the dependencies of iconv_open-utf.
18382         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18383         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18384         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18385
18386 2011-05-08  Bruno Haible  <bruno@clisp.org>
18387
18388         group-member: Move AC_LIBOBJ invocations to module description.
18389         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18390         gl_PREREQ_GROUP_MEMBER invocations from here...
18391         * modules/group-member (configure.ac): ... to here.
18392
18393 2011-05-08  Bruno Haible  <bruno@clisp.org>
18394
18395         grantpt: Move AC_LIBOBJ invocations to module description.
18396         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18397         invocations from here...
18398         * modules/grantpt (configure.ac): ... to here.
18399
18400 2011-05-08  Bruno Haible  <bruno@clisp.org>
18401
18402         glob: Move AC_LIBOBJ invocations to module description.
18403         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18404         from here...
18405         * modules/glob (configure.ac): ... to here.
18406
18407 2011-05-08  Bruno Haible  <bruno@clisp.org>
18408
18409         getusershell: Move AC_LIBOBJ invocations to module description.
18410         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18411         Move AC_LIBOBJ invocation from here...
18412         * modules/getusershell (configure.ac): ... to here.
18413         (Depends-on): Update condition.
18414
18415 2011-05-08  Bruno Haible  <bruno@clisp.org>
18416
18417         gettimeofday: Move AC_LIBOBJ invocations to module description.
18418         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18419         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18420         gl_PREREQ_GETTIMEOFDAY invocations from here...
18421         * modules/gettimeofday (configure.ac): ... to here.
18422
18423 2011-05-08  Bruno Haible  <bruno@clisp.org>
18424
18425         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18426         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18427         just gl_FUNC_TZSET.
18428         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18429         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18430         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18431         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18432
18433 2011-05-08  Bruno Haible  <bruno@clisp.org>
18434
18435         getsubopt: Move AC_LIBOBJ invocations to module description.
18436         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18437         gl_PREREQ_GETSUBOPT invocations from here...
18438         * modules/getsubopt (configure.ac): ... to here.
18439
18440 2011-05-08  Bruno Haible  <bruno@clisp.org>
18441
18442         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18443         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18444         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18445         * modules/getpass-gnu (configure.ac): ... to here.
18446
18447 2011-05-08  Bruno Haible  <bruno@clisp.org>
18448
18449         getpass: Move AC_LIBOBJ invocations to module description.
18450         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18451         gl_PREREQ_GETPASS invocations from here...
18452         * modules/getpass (configure.ac): ... to here.
18453
18454 2011-05-08  Bruno Haible  <bruno@clisp.org>
18455
18456         getpagesize: Move AC_LIBOBJ invocations to module description.
18457         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18458         from here...
18459         * modules/getpagesize (configure.ac): ... to here.
18460
18461 2011-05-08  Bruno Haible  <bruno@clisp.org>
18462
18463         getopt: Move AC_LIBOBJ invocations to module description.
18464         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18465         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18466         invocations from here...
18467         * modules/getopt-gnu (configure.ac): ... to here.
18468         * modules/getopt-posix (configure.ac): ... and here.
18469         (Depends-on): Update condition.
18470
18471 2011-05-08  Bruno Haible  <bruno@clisp.org>
18472
18473         getopt, argp: Respect rules for use of AC_LIBOBJ.
18474         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18475         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18476         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18477         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18478
18479 2011-05-08  Bruno Haible  <bruno@clisp.org>
18480
18481         getlogin_r: Move AC_LIBOBJ invocations to module description.
18482         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18483         gl_PREREQ_GETLOGIN_R invocations from here...
18484         * modules/getlogin_r (configure.ac): ... to here.
18485
18486 2011-05-08  Bruno Haible  <bruno@clisp.org>
18487
18488         getlogin: Move AC_LIBOBJ invocations to module description.
18489         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18490         here...
18491         * modules/getlogin (configure.ac): ... to here.
18492
18493 2011-05-08  Bruno Haible  <bruno@clisp.org>
18494
18495         getloadavg: Move AC_LIBOBJ invocations to module description.
18496         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18497         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18498         * modules/getloadavg (configure.ac): ... to here.
18499
18500 2011-05-08  Bruno Haible  <bruno@clisp.org>
18501
18502         gethrxtime: Move AC_LIBOBJ invocations to module description.
18503         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18504         LIB_GETHRXTIME from here...
18505         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18506         invocations from here...
18507         * modules/gethrxtime (configure.ac): ... to here.
18508
18509 2011-05-08  Bruno Haible  <bruno@clisp.org>
18510
18511         gethostname: Move AC_LIBOBJ invocations to module description.
18512         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18513         gl_PREREQ_GETHOSTNAME invocations from here...
18514         * modules/gethostname (configure.ac): ... to here.
18515
18516 2011-05-08  Bruno Haible  <bruno@clisp.org>
18517
18518         getgroups: Move AC_LIBOBJ invocations to module description.
18519         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18520         here...
18521         * modules/getgroups (configure.ac): ... to here.
18522
18523 2011-05-08  Bruno Haible  <bruno@clisp.org>
18524
18525         getdtablesize: Move AC_LIBOBJ invocations to module description.
18526         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18527         invocation from here...
18528         * modules/getdtablesize (configure.ac): ... to here.
18529
18530 2011-05-08  Bruno Haible  <bruno@clisp.org>
18531
18532         getdomainname: Move AC_LIBOBJ invocations to module description.
18533         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18534         gl_PREREQ_GETDOMAINNAME invocations from here...
18535         * modules/getdomainname (configure.ac): ... to here.
18536
18537 2011-05-08  Bruno Haible  <bruno@clisp.org>
18538
18539         getline: Move AC_LIBOBJ invocations to module description.
18540         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18541         invocations from here...
18542         * modules/getline (configure.ac): ... to here.
18543
18544 2011-05-08  Bruno Haible  <bruno@clisp.org>
18545
18546         getline: Simplify.
18547         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18548         It's already handled through the module dependency.
18549
18550 2011-05-08  Bruno Haible  <bruno@clisp.org>
18551
18552         getdelim: Move AC_LIBOBJ invocations to module description.
18553         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18554         and gl_PREREQ_GETDELIM invocations from here...
18555         * modules/getdelim (configure.ac): ... to here.
18556         (Depends-on): Fix condition.
18557
18558 2011-05-08  Bruno Haible  <bruno@clisp.org>
18559
18560         getcwd: Move AC_LIBOBJ invocations to module description.
18561         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18562         invocations from here...
18563         * modules/getcwd (configure.ac): ... to here.
18564
18565 2011-05-08  Bruno Haible  <bruno@clisp.org>
18566
18567         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18568         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18569         here...
18570         * modules/getcwd-lgpl (configure.ac): ... to here.
18571
18572 2011-05-07  Bruno Haible  <bruno@clisp.org>
18573
18574         crypto/gc: Move AC_LIBOBJ invocations to module description.
18575         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18576         * modules/crypto/gc (configure.ac): ... to here.
18577
18578 2011-05-07  Bruno Haible  <bruno@clisp.org>
18579
18580         fwriting: Move AC_LIBOBJ invocations to module description.
18581         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18582         here...
18583         * modules/fwriting (configure.ac): ... to here.
18584
18585 2011-05-07  Bruno Haible  <bruno@clisp.org>
18586
18587         fwritable: Move AC_LIBOBJ invocations to module description.
18588         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18589         here...
18590         * modules/fwritable (configure.ac): ... to here.
18591
18592 2011-05-07  Bruno Haible  <bruno@clisp.org>
18593
18594         futimens: Move AC_LIBOBJ invocations to module description.
18595         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18596         here...
18597         * modules/futimens (configure.ac): ... to here.
18598
18599 2011-05-07  Bruno Haible  <bruno@clisp.org>
18600
18601         ftruncate: Move AC_LIBOBJ invocations to module description.
18602         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18603         gl_PREREQ_FTRUNCATE invocations from here...
18604         * modules/ftruncate (configure.ac): ... to here.
18605
18606 2011-05-07  Bruno Haible  <bruno@clisp.org>
18607
18608         fsync: Move AC_LIBOBJ invocations to module description.
18609         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18610         invocations from here...
18611         * modules/fsync (configure.ac): ... to here.
18612
18613 2011-05-07  Bruno Haible  <bruno@clisp.org>
18614
18615         fsusage: Move AC_LIBOBJ invocations to module description.
18616         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18617         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18618         * modules/fsusage (configure.ac): ... to here.
18619
18620 2011-05-07  Bruno Haible  <bruno@clisp.org>
18621
18622         freopen: Move AC_LIBOBJ invocations to module description.
18623         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18624         invocations from here...
18625         * modules/freopen (configure.ac): ... to here.
18626
18627 2011-05-07  Bruno Haible  <bruno@clisp.org>
18628
18629         free: Move AC_LIBOBJ invocations to module description.
18630         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18631         invocations from here...
18632         * modules/free (configure.ac): ... to here.
18633
18634 2011-05-07  Bruno Haible  <bruno@clisp.org>
18635
18636         freadable: Move AC_LIBOBJ invocations to module description.
18637         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18638         here...
18639         * modules/freadable (configure.ac): ... to here.
18640
18641 2011-05-07  Bruno Haible  <bruno@clisp.org>
18642
18643         fpurge: Move AC_LIBOBJ invocations to module description.
18644         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18645         invocations from here...
18646         * modules/fpurge (configure.ac): ... to here.
18647
18648 2011-05-07  Bruno Haible  <bruno@clisp.org>
18649
18650         fpending: Move AC_LIBOBJ invocations to module description.
18651         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18652         gl_FUNC_FPENDING.
18653         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18654         invocations from here...
18655         * modules/fpending (configure.ac): ... to here.
18656
18657 2011-05-07  Bruno Haible  <bruno@clisp.org>
18658
18659         fopen: Move AC_LIBOBJ invocations to module description.
18660         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18661         invocations from here...
18662         * modules/fopen (configure.ac): ... to here.
18663
18664 2011-05-07  Bruno Haible  <bruno@clisp.org>
18665
18666         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18667         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18668         gl_FUNC_FNMATCH_POSIX.
18669         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18670         invocations from here...
18671         * modules/fnmatch (configure.ac): ... to here.
18672         * modules/fnmatch-gnu (configure.ac): ... and here.
18673
18674 2011-05-07  Bruno Haible  <bruno@clisp.org>
18675
18676         flock: Move AC_LIBOBJ invocations to module description.
18677         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18678         invocations from here...
18679         * modules/flock (configure.ac): ... to here.
18680
18681 2011-05-07  Bruno Haible  <bruno@clisp.org>
18682
18683         fileblocks: Move AC_LIBOBJ invocations to module description.
18684         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18685         gl_PREREQ_FILEBLOCKS invocations from here...
18686         * modules/fileblocks (configure.ac): ... to here.
18687
18688 2011-05-06  Bruno Haible  <bruno@clisp.org>
18689
18690         fflush: Move AC_LIBOBJ invocations to module description.
18691         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18692         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18693         invocations from here...
18694         * modules/fflush (configure.ac): ... to here.
18695
18696 2011-05-06  Bruno Haible  <bruno@clisp.org>
18697
18698         fdopendir: Move AC_LIBOBJ invocations to module description.
18699         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18700         here...
18701         * modules/fdopendir (configure.ac): ... to here.
18702         (Depends-on): Improve conditions.
18703
18704 2011-05-06  Bruno Haible  <bruno@clisp.org>
18705
18706         _Exit: Move AC_LIBOBJ invocations to module description.
18707         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18708         invocations from here...
18709         * modules/_Exit (configure.ac): ... to here.
18710
18711 2011-05-21  Bruno Haible  <bruno@clisp.org>
18712
18713         euidaccess: Respect rules for use of AC_LIBOBJ.
18714         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18715         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18716         from here...
18717         * modules/euidaccess (configure.ac): ... to here.
18718
18719 2011-05-06  Bruno Haible  <bruno@clisp.org>
18720
18721         error: Move AC_LIBOBJ invocations to module description.
18722         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18723         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18724         invocations from here...
18725         * modules/error (configure.ac): ... to here.
18726
18727 2011-05-06  Bruno Haible  <bruno@clisp.org>
18728
18729         duplocale: Move AC_LIBOBJ invocations to module description.
18730         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18731         gl_PREREQ_DUPLOCALE invocations from here...
18732         * modules/duplocale (configure.ac): ... to here.
18733
18734 2011-05-05  Bruno Haible  <bruno@clisp.org>
18735
18736         dirfd: Move AC_LIBOBJ invocations to module description.
18737         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18738         gl_FUNC_DIRFD.
18739         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18740         here...
18741         * modules/dirfd (configure.ac): ... to here.
18742         (Depends-on): Fix condition.
18743
18744 2011-05-05  Bruno Haible  <bruno@clisp.org>
18745
18746         chown: Respect rules for use of AC_LIBOBJ.
18747         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18748         * modules/chown (configure.ac): ... to here.
18749
18750 2011-05-05  Bruno Haible  <bruno@clisp.org>
18751
18752         chdir-long: Move AC_LIBOBJ invocations to module description.
18753         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18754         gl_PREREQ_CHDIR_LONG invocations from here...
18755         * modules/chdir-long (configure.ac): ... to here.
18756
18757 2011-05-05  Bruno Haible  <bruno@clisp.org>
18758
18759         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18760         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18761         from here...
18762         * modules/canonicalize-lgpl (configure.ac): ... to here.
18763
18764 2011-05-05  Bruno Haible  <bruno@clisp.org>
18765
18766         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
18767         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
18768         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
18769         REPLACE_CALLOC.
18770         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
18771         * modules/calloc-gnu (configure.ac): Likewise.
18772
18773 2011-05-05  Bruno Haible  <bruno@clisp.org>
18774
18775         btowc: Move AC_LIBOBJ invocations to module description.
18776         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
18777         invocations from here...
18778         * modules/btowc (configure.ac): ... to here.
18779
18780 2011-05-21  Bruno Haible  <bruno@clisp.org>
18781
18782         atexit: Move AC_LIBOBJ invocations to module description.
18783         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
18784         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
18785         here...
18786         * modules/atexit (configure.ac): ... to here.
18787
18788 2011-05-05  Bruno Haible  <bruno@clisp.org>
18789
18790         atoll: Move AC_LIBOBJ invocations to module description.
18791         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
18792         invocations from here...
18793         * modules/atoll (configure.ac): ... to here.
18794
18795 2011-05-05  Bruno Haible  <bruno@clisp.org>
18796
18797         argz: Move AC_LIBOBJ invocations to module description.
18798         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
18799         * modules/argz (configure.ac): ... to here.
18800
18801 2011-05-05  Bruno Haible  <bruno@clisp.org>
18802
18803         alphasort: Move AC_LIBOBJ invocations to module description.
18804         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
18805         gl_PREREQ_ALPHASORT invocations from here...
18806         * modules/alphasort (configure.ac): ... to here.
18807
18808 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18809
18810         verify: new macro verify_expr; verify_true deprecated
18811         * NEWS: Mention this.
18812         * doc/verify.texi (Compile-time Assertions): Document this.
18813         * lib/verify.h (verify_true): Deprecate.
18814         (verify_expr): New macro.
18815         * tests/test-verify.c (function): Test verify_expr.
18816
18817 2011-06-14  Jim Meyering  <meyering@redhat.com>
18818
18819         init.sh: give more portable redirection-related advice in a comment
18820         * tests/init.sh (stderr_fileno_): Update the advice in comments.
18821         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
18822         for lots of discussion.  Stefano Lattarini suggested the solution
18823         of putting "9>&2" after the command.  Reported by Bruno Haible.
18824
18825 2011-06-13  Bruno Haible  <bruno@clisp.org>
18826
18827         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
18828         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
18829         'none'.
18830
18831 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18832
18833         ftoastr: use strtof only if HAVE_STRTOF
18834         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
18835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
18836         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
18837         * modules/ftoastr (configure.ac): Check for strtof.
18838
18839 2011-06-13  Bruno Haible  <bruno@clisp.org>
18840
18841         gnulib-tool: Addendum to 2011-06-08 commit.
18842         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
18843         and --witness-c-macro have been given, augment AM_CPPFLAGS.
18844
18845 2011-06-13  Bruno Haible  <bruno@clisp.org>
18846
18847         fseeko: Provide a non-inline replacement of fseek().
18848         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
18849         * modules/fseeko (Depends-on): Add fseek.
18850         * modules/fseek (License): Change to LGPLv2+.
18851
18852 2011-06-13  Bruno Haible  <bruno@clisp.org>
18853
18854         ftello: Provide a non-inline replacement of ftell().
18855         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
18856         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
18857         not have ftello() (such as on mingw).
18858         * modules/ftello (Depends-on): Add ftell.
18859         * modules/ftell (License): Change to LGPLv2+.
18860
18861 2011-05-07  Bruno Haible  <bruno@clisp.org>
18862
18863         ftell: Move AC_LIBOBJ invocations to module description.
18864         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
18865         * modules/ftell (configure.ac): ... to here.
18866
18867 2011-05-07  Bruno Haible  <bruno@clisp.org>
18868
18869         ftello: Respect rules for use of AC_LIBOBJ.
18870         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
18871         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
18872         here...
18873         * modules/ftello (configure.ac): ... to here.
18874
18875 2011-05-07  Bruno Haible  <bruno@clisp.org>
18876
18877         fseeko: Simplify.
18878         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
18879         (gl_FUNC_FSEEKO): Inline it here.
18880
18881 2011-05-07  Bruno Haible  <bruno@clisp.org>
18882
18883         fseek: Move AC_LIBOBJ invocations to module description.
18884         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
18885         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18886         * modules/fseek (configure.ac): ... to here.
18887
18888 2011-05-07  Bruno Haible  <bruno@clisp.org>
18889
18890         fseek: Respect rules for use of AC_LIBOBJ.
18891         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
18892         here...
18893         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
18894
18895 2011-05-07  Bruno Haible  <bruno@clisp.org>
18896
18897         fseeko: Respect rules for use of AC_LIBOBJ.
18898         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
18899         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
18900         here...
18901         * modules/fseeko (configure.ac): ... to here.
18902
18903 2011-06-13  Bruno Haible  <bruno@clisp.org>
18904
18905         gnulib-tool: Allow comments in the 'Depends-on' section.
18906         * doc/gnulib.texi (Module description): Mention comment syntax in the
18907         Depends-on section.
18908         * gnulib-tool (func_get_dependencies): Filter out comment lines.
18909
18910 2011-06-13  Bruno Haible  <bruno@clisp.org>
18911
18912         file-set.h: guard __attibute__ use, now that it's not always defined
18913         * lib/file-set.h (record_file): Use __attribute__ only with compiler
18914         versions that support it.  This fixes a coreutils build failure with
18915         the vendor cc on HP-UX 11.31.
18916
18917 2011-06-12  Bruno Haible  <bruno@clisp.org>
18918
18919         acl: Add support for HP-UX >= 11.11 JFS ACLs.
18920         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
18921         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
18922         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
18923         (acl, aclsort): New declarations.
18924         (aclv_nontrivial): New declaration.
18925         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
18926         (file_has_acl): Read also the second kind of HP-UX ACLs.
18927         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
18928         kind of HP-UX ACLs if the first kind fails.
18929         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
18930         second kind of HP-UX ACLs.
18931         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18932         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18933         agree.
18934         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18935         hpuxjfs.
18936         Handle hpuxjfs.
18937         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18938         hpuxjfs.
18939         Handle hpuxjfs.
18940         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18941         (func_test_same_acls): Use both lsacl and getacl.
18942         Handle hpuxjfs.
18943         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18944         (func_test_same_acls): Use both lsacl and getacl.
18945         Handle hpuxjfs.
18946
18947 2011-06-12  Bruno Haible  <bruno@clisp.org>
18948
18949         acl: Complete the 2010-08-10 fix.
18950         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
18951         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
18952         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
18953         explicitly.
18954         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
18955         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
18956
18957 2011-06-12  Bruno Haible  <bruno@clisp.org>
18958
18959         spawn-pipe tests: Comments.
18960         * tests/test-spawn-pipe-child.c (main): Update comment.
18961         Reported by James Youngman <jay@gnu.org>.
18962
18963 2011-06-11  James Youngman  <jay@gnu.org>
18964
18965         New module 'stat-size'.
18966         * modules/stat-size: New module.  Provides macros for accessing
18967         file size information in instances of struct stat.  Depends on the
18968         fileblocks module because it calls st_blocks.
18969         * lib/stat-size.h: New file, adapted from coreutils' system.h.
18970         * doc/gnulib.texi: Include stat-size.texi.
18971         * doc/stat-size.texi: Documentation for this module.
18972         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
18973         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18974         AC_STRUCT_ST_BLOCKS.
18975
18976 2011-06-09  Bruno Haible  <bruno@clisp.org>
18977
18978         thread: Support pthreads-win32.
18979         * lib/glthread/thread.h (gl_thread_self): Define differently on
18980         pthreads-win32.
18981         (gl_null_thread): New declaration.
18982         (gl_thread_self_pointer): New macro.
18983         * lib/glthread/thread.c (gl_null_thread): New constant.
18984         * tests/test-lock.c: Use gl_thread_self_pointer instead of
18985         gl_thread_self.
18986         * tests/test-tls.c: Likewise.
18987         Suggested by Paul Eggert. Reported by Eric Blake.
18988
18989 2011-06-09  Bruno Haible  <bruno@clisp.org>
18990
18991         thread: Fix confusion between NULL and 0.
18992         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
18993         Reported by Paul Eggert.
18994
18995 2011-06-09  Bruno Haible  <bruno@clisp.org>
18996
18997         spawn-pipe tests: Avoid test failure on HP-UX 11.
18998         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
18999         is closed.
19000
19001 2011-06-09  Bruno Haible  <bruno@clisp.org>
19002
19003         acl tests: Fix compilation error on HP-UX 11.
19004         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19005
19006 2011-06-09  Bruno Haible  <bruno@clisp.org>
19007
19008         rmdir: Avoid test failure on HP-UX 10.20.
19009         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19010         EEXIST.
19011
19012 2011-06-08  Eric Blake  <eblake@redhat.com>
19013
19014         perror: fix test on mingw
19015         * modules/perror-tests (Depends-on): Add dup2.
19016
19017         strerror_r-posix: fix on MacOS
19018         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19019         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19020         logic bug.
19021         * lib/strerror_r.c (strerror_r): Fix the bug.
19022         * lib/strerror.c (strerror): Likewise.
19023         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19024         problem.
19025         * doc/posix-functions/strerror.texi (strerror): Likewise.
19026         * doc/posix-functions/perror.texi (perror): Likewise.
19027         * tests/test-strerror.c (main): Enhance test.
19028         * tests/test-strerror_r.c (main): Likewise.
19029
19030 2011-06-08  Bruno Haible  <bruno@clisp.org>
19031
19032         gnulib-tool: Better isolation between different gnulib-tool invocations.
19033         * gnulib-tool: New option --witness-c-macro.
19034         (witness_c_macro): New variable.
19035         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19036         AM_CPPFLAGS define it as a C macro.
19037         (func_emit_tests_Makefile_am): Likewise.
19038         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19039         read it from there.
19040         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19041         m4_define, not AC_DEFUN.
19042         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19043         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19044         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19045         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19046         s|...|...|, to substitute the values of the GNULIB_* module indicator
19047         variables.
19048         * modules/dirent (Makefile.am): Likewise.
19049         * modules/fcntl-h (Makefile.am): Likewise.
19050         * modules/iconv-h (Makefile.am): Likewise.
19051         * modules/langinfo (Makefile.am): Likewise.
19052         * modules/locale (Makefile.am): Likewise.
19053         * modules/math (Makefile.am): Likewise.
19054         * modules/netdb (Makefile.am): Likewise.
19055         * modules/poll-h (Makefile.am): Likewise.
19056         * modules/pty (Makefile.am): Likewise.
19057         * modules/search (Makefile.am): Likewise.
19058         * modules/signal (Makefile.am): Likewise.
19059         * modules/spawn (Makefile.am): Likewise.
19060         * modules/stdio (Makefile.am): Likewise.
19061         * modules/stdlib (Makefile.am): Likewise.
19062         * modules/string (Makefile.am): Likewise.
19063         * modules/sys_ioctl (Makefile.am): Likewise.
19064         * modules/sys_select (Makefile.am): Likewise.
19065         * modules/sys_socket (Makefile.am): Likewise.
19066         * modules/sys_stat (Makefile.am): Likewise.
19067         * modules/sys_times (Makefile.am): Likewise.
19068         * modules/sys_utsname (Makefile.am): Likewise.
19069         * modules/sys_wait (Makefile.am): Likewise.
19070         * modules/termios (Makefile.am): Likewise.
19071         * modules/time (Makefile.am): Likewise.
19072         * modules/unistd (Makefile.am): Likewise.
19073         * modules/wchar (Makefile.am): Likewise.
19074
19075 2011-06-08  Eric Blake  <eblake@redhat.com>
19076
19077         strerror: simplify replacement
19078         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19079         * modules/strerror (configure.ac): No prereqs needed here...
19080         * modules/strerror-override (configure.ac): ...but this needs it.
19081         (Files): Add file for needed prereq macro.
19082
19083 2011-06-08  Bruno Haible  <bruno@clisp.org>
19084
19085         strerror_r-posix: Tweaks.
19086         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19087         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19088         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19089         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19090         (gl_FUNC_STRERROR_R): ... to here.
19091         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19092
19093 2011-06-07  Eric Blake  <eblake@redhat.com>
19094
19095         perror: document fixed bugs
19096         * doc/posix-functions/perror.texi (perror): Document recent
19097         patches.
19098
19099 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19100
19101         stat-time: get_stat_birthtime failure is better-defined
19102         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19103         return a timestamp whose tv_sec and tv_nsec values are both -1.
19104         Previously, the spec said only that the tv_nsec value was negative.
19105         This upward-compatible change simplifies GNU tar a bit.
19106
19107 2011-06-07  Eric Blake  <eblake@redhat.com>
19108
19109         strerror_r-posix: work around cygwin 1.7.9
19110         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19111         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19112         bug without replacing strerror_r.
19113         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19114         strerror_r is buggy, but without requiring strerror_r compilation.
19115         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19116
19117         test-perror: relax test to ignore cygwin bug
19118         * tests/test-perror2.c (main): Relax test on requiring detection
19119         of stream errors, and use unbuffered stream.
19120         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19121         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19122         * doc/posix-functions/fputc.texi (fputc): Likewise.
19123         * doc/posix-functions/fputs.texi (fputs): Likewise.
19124         * doc/posix-functions/fputws.texi (fputws): Likewise.
19125         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19126         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19127         * doc/posix-functions/getopt.texi (getopt): Likewise.
19128         * doc/posix-functions/perror.texi (perror): Likewise.
19129         * doc/posix-functions/printf.texi (printf): Likewise.
19130         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19131         * doc/posix-functions/psignal.texi (psignal): Likewise.
19132         * doc/posix-functions/putc.texi (putc): Likewise.
19133         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19134         Likewise.
19135         * doc/posix-functions/putchar.texi (putchar): Likewise.
19136         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19137         Likewise.
19138         * doc/posix-functions/puts.texi (puts): Likewise.
19139         * doc/posix-functions/putwc.texi (putwc): Likewise.
19140         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19141         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19142         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19143         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19144         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19145         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19146         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19147         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19148
19149 2011-05-22  Bruno Haible  <bruno@clisp.org>
19150
19151         strerror: Move AC_LIBOBJ invocations to module description.
19152         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19153         gl_PREREQ_STRERROR invocations from here...
19154         * modules/strerror (configure.ac): ... to here.
19155
19156 2011-05-21  Bruno Haible  <bruno@clisp.org>
19157
19158         perror: Use common idiom.
19159         * modules/perror (configure.ac): Reorder statements.
19160
19161 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19162
19163         tests: fix usage message in 'mktempd_'
19164         * tests/init.sh (mktempd_): In the usage message, use literal
19165         'mktempd_', not '$ME' (which is even undefined), as the name of
19166         the subroutine.
19167
19168 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19169
19170         tests init: new function 'fatal_', for hard errors
19171         Before this patch, the only way offered by tests/init.sh to
19172         properly signal a hard error was the `framework_failure_'
19173         function.  But the error message issued by that function,
19174         as its name would suggest, refers to a set-up failure in the
19175         testsuite, while hard errors can obviously also be due to
19176         other reasons.  The best way to fix this inconsistency is to
19177         introduce a new function with a more general error message.
19178         * tests/init.sh (fatal_): New function.
19179
19180 2011-06-06  Eric Blake  <eblake@redhat.com>
19181
19182         canonicalize-lgpl: use common idiom
19183         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19184         over newer POSIX -Rf.
19185         Reported by Bruno Haible.
19186
19187         canonicalize-lgpl: work around AIX realpath bug
19188         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19189         * doc/posix-functions/realpath.texi (realpath): Document it.
19190         Reported by Bruno Haible.
19191
19192         strerror: work around FreeBSD bug
19193         * lib/strerror.c (strerror): Special case 0.
19194         Reported by Bruno Haible.
19195
19196         strerror-override: avoid bloating errno module
19197         * modules/errno (Files, configure.ac): Move replacement strings...
19198         * modules/strerror-override: ...to new module.
19199         * modules/strerror (Depends-on): Add strerror-override.
19200         * modules/strerror_r-posix (Depends-on): Likewise.
19201         * MODULES.html.sh: Document new module.
19202         Reported by Bruno Haible.
19203
19204 2011-06-06  Bruno Haible  <bruno@clisp.org>
19205
19206         spawn-pipe tests: Rename program.
19207         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19208         * tests/test-spawn-pipe-child.c: Update comment.
19209         * tests/test-spawn-pipe.sh: Update.
19210         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19211
19212         spawn-pipe tests: Link the child program only against libc.
19213         * tests/test-spawn-pipe-child.c: New file, extracted from
19214         tests/test-spawn-pipe.c.
19215         (main): Expect only one argument.
19216         (is_open): New function, copied from tests/test-pipe.c.
19217         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19218         (child_main): Remove function.
19219         (test_pipe): Pass only one argument to the child program.
19220         (main): Remove child process code. Expect the child program's name as
19221         first argument.
19222         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19223         argument.
19224         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19225         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19226         test-spawn-pipe-child against no libraries.
19227
19228 2011-06-06  Bruno Haible  <bruno@clisp.org>
19229
19230         careadlinkat: Avoid mismatch between ssize_t and int.
19231         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19232         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19233
19234 2011-06-06  Jim Meyering  <meyering@redhat.com>
19235
19236         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19237         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19238         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19239
19240 2011-06-05  Bruno Haible  <bruno@clisp.org>
19241
19242         ansi-c++-opt: Interoperability with libtool.
19243         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19244         set the variable to "no", not to ":".
19245         * NEWS: Mention the change.
19246
19247 2011-06-05  Bruno Haible  <bruno@clisp.org>
19248
19249         acl: Fix test failure on AIX 7.
19250         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19251         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19252
19253 2011-06-05  Bruno Haible  <bruno@clisp.org>
19254
19255         pipe-filter-ii: Fix test failure on AIX and IRIX.
19256         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19257         with EAGAIN, retry with a smaller buffer size.
19258
19259 2011-06-05  Bruno Haible  <bruno@clisp.org>
19260
19261         localename: Fix link dependencies.
19262         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19263         * modules/localename-tests (Makefile.am): Link test-localename with
19264         $(LIBTHREAD).
19265
19266 2011-06-05  Bruno Haible  <bruno@clisp.org>
19267
19268         error: Avoid gcc warning.
19269         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19270
19271 2011-06-05  Bruno Haible  <bruno@clisp.org>
19272
19273         unsetenv: Avoid gcc warning.
19274         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19275
19276 2011-06-05  Bruno Haible  <bruno@clisp.org>
19277
19278         setenv: Avoid gcc warning.
19279         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19280
19281 2011-06-05  Bruno Haible  <bruno@clisp.org>
19282
19283         sys_select: Ensure memset is declared also on AIX 7.
19284         * lib/sys_select.in.h: Include <string.h> also on AIX.
19285         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19286         self-contained also on AIX 7.1.
19287
19288 2011-06-04  Jim Meyering  <meyering@redhat.com>
19289
19290         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19291         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19292         function name, "error".
19293         (_gl_translatable_diag_func_re): New configurable variable.
19294
19295 2011-06-04  Bruno Haible  <bruno@clisp.org>
19296
19297         getopt: Avoid gcc warning.
19298         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19299
19300 2011-06-04  Bruno Haible  <bruno@clisp.org>
19301
19302         strerror_r: Fix comments.
19303         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19304         commit.
19305
19306 2011-06-04  Bruno Haible  <bruno@clisp.org>
19307
19308         perror: Fix compilation error.
19309         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19310         Undefine fprintf, not sprintf.
19311         * modules/perror (Depends-on): Remove intprops, verify.
19312
19313 2011-06-04  Bruno Haible  <bruno@clisp.org>
19314
19315         setlocale: Enable replacement on Cygwin 1.5.
19316         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19317         Cygwin 1.5.x.
19318         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19319         LC_CTYPE category also exists on Cygwin 1.5.x.
19320
19321 2011-06-04  Bruno Haible  <bruno@clisp.org>
19322
19323         strerror-override: Don't disable symbol renamings.
19324         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19325         * lib/strerror-override.c: Include config.h.
19326         (strerror_override): Don't undefine.
19327
19328 2011-06-03  Bruno Haible  <bruno@clisp.org>
19329
19330         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19331         * lib/localename.h: Update copyright header.
19332         * lib/localename.c: Likewise.
19333         * lib/relocatable.h: Likewise.
19334         * lib/relocatable.c: Likewise.
19335
19336 2011-06-02  Bruno Haible  <bruno@clisp.org>
19337
19338         doc: Fix a module name.
19339         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19340
19341 2011-06-02  Bruno Haible  <bruno@clisp.org>
19342
19343         pipe2: Remove dependency on 'nonblocking' module.
19344         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19345         O_NONBLOCK is defined by gnulib.
19346         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19347         is zero.
19348         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19349         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19350         defined by gnulib.
19351         (get_nonblocking_flag): New function.
19352         (main): Test O_NONBLOCK flag only if it is nonzero.
19353         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19354
19355 2011-06-03  Jim Meyering  <meyering@redhat.com>
19356
19357         maint: three new prohibit-header-without-use rules
19358         Prohibit use of cloexec.h, posixver.h, same.h without use.
19359         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19360         (sc_prohibit_posixver_without_use): Likewise.
19361         (sc_prohibit_same_without_use): Likewise.
19362
19363 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19364
19365         allocator: 'die' routine is now given requested size
19366         * lib/allocator.h (struct allocator.die): New size arg.
19367         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19368         If the actual problem is an ssize_t limitation, not a size_t or
19369         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19370
19371 2011-06-01  Eric Blake  <eblake@redhat.com>
19372
19373         strerror: drop strerror_r dependency
19374         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19375         * lib/strerror-override.c (strerror_override): ...to new file.
19376         * lib/strerror-override.h: Add prototype.
19377         * lib/strerror-impl.h: Delete.
19378         * lib/strerror.c (strerror): New implementation.
19379         * modules/errno (Files): Add new files.
19380         (configure.ac): Compile new file as appropriate.
19381         * modules/strerror (Files): Drop unused file.
19382         (Depends-on): Drop strerror_r-posix.
19383         * MODULES.html.sh: Document strerror_r-posix.
19384         Requested by Sam Steingold.
19385
19386         perror: call strerror_r directly
19387         * modules/perror (Files): Drop strerror-impl.h.
19388         * lib/perror.c (perror): Use our own stack buffer, rather than
19389         calling a wrapper that uses static storage.
19390         * doc/posix-functions/perror.texi (perror): Document a limitation
19391         of our replacement.
19392
19393         strerror_r: fix includes for FreeBSD
19394         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19395         since we use abort on some platforms.
19396         Reported by Matthias Bolte.
19397
19398 2011-05-31  Bruno Haible  <bruno@clisp.org>
19399
19400         Fix link errors in tests: openat-die uses gettext-h.
19401         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19402         against $(LIBINTL).
19403         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19404         against $(LIBINTL).
19405         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19406         $(LIBINTL).
19407         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19408         against $(LIBINTL).
19409         * modules/linkat-tests (Makefile.am): Link test-linkat against
19410         $(LIBINTL).
19411         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19412         $(LIBINTL).
19413         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19414         against $(LIBINTL).
19415         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19416         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19417         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19418         $(LIBINTL).
19419         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19420         $(LIBINTL).
19421         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19422         $(LIBINTL).
19423         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19424
19425 2011-05-31  Bruno Haible  <bruno@clisp.org>
19426
19427         Fix link errors in tests: wait-process uses gettext-h.
19428         * modules/nonblocking-pipe-tests (Makefile.am): Set
19429         test_nonblocking_pipe_main_LDADD.
19430         * modules/nonblocking-socket-tests (Makefile.am): Link
19431         test-nonblocking-socket-main against $(LIBINTL).
19432         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19433
19434 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19435
19436         assert-h: work around 'verify' incompatibility
19437         * lib/verify.h: Use @...@ directives, not ifdef.
19438         * modules/assert-h (assert.h): Implement the directives.
19439         (assert.h): Substitute the symbol-prefix more consistently.
19440
19441 2011-05-29  Jim Meyering  <meyering@redhat.com>
19442
19443         trim: remove three superfluous assignments
19444         * lib/trim.c (trim2): Remove three superfluous assignments
19445         and correct brace positioning.
19446
19447 2011-05-29  Bruno Haible  <bruno@clisp.org>
19448
19449         wctype-h: Avoid namespace pollution on Solaris 2.6.
19450         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19451         identifiers.
19452         * doc/posix-headers/wctype.texi: Mention the problem.
19453         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19454
19455 2011-05-28  Jim Meyering  <meyering@redhat.com>
19456
19457         parse-datetime.y: accommodate -Wstrict-overflow
19458         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19459         placate -Wstrict-overflow.
19460
19461         trim: avoid a warning from -O2 -Wstrict-overflow
19462         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19463
19464 2011-05-29  Bruno Haible  <bruno@clisp.org>
19465
19466         gnulib-tool: Fix bug in yesterday's commit.
19467         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19468         twice.
19469
19470 2011-05-29  Bruno Haible  <bruno@clisp.org>
19471
19472         Allow multiple gnulib generated include files to be combined.
19473         * gnulib-tool (func_compute_include_guard_prefix): New function.
19474         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19475         ${gl_include_guard_prefix} references.
19476         (func_import, func_create_testdir): Invoke
19477         func_compute_include_guard_prefix.
19478         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19479         * lib/ctype.in.h: Likewise.
19480         * lib/dirent.in.h: Likewise.
19481         * lib/errno.in.h: Likewise.
19482         * lib/fcntl.in.h: Likewise.
19483         * lib/float.in.h: Likewise.
19484         * lib/getopt.in.h: Likewise.
19485         * lib/iconv.in.h: Likewise.
19486         * lib/langinfo.in.h: Likewise.
19487         * lib/locale.in.h: Likewise.
19488         * lib/math.in.h: Likewise.
19489         * lib/netdb.in.h: Likewise.
19490         * lib/netinet_in.in.h: Likewise.
19491         * lib/poll.in.h: Likewise.
19492         * lib/pthread.in.h: Likewise.
19493         * lib/pty.in.h: Likewise.
19494         * lib/sched.in.h: Likewise.
19495         * lib/se-selinux.in.h: Likewise.
19496         * lib/search.in.h: Likewise.
19497         * lib/signal.in.h: Likewise.
19498         * lib/spawn.in.h: Likewise.
19499         * lib/stdarg.in.h: Likewise.
19500         * lib/stddef.in.h: Likewise.
19501         * lib/stdint.in.h: Likewise.
19502         * lib/stdio.in.h: Likewise.
19503         * lib/stdlib.in.h: Likewise.
19504         * lib/string.in.h: Likewise.
19505         * lib/strings.in.h: Likewise.
19506         * lib/sys_file.in.h: Likewise.
19507         * lib/sys_ioctl.in.h: Likewise.
19508         * lib/sys_select.in.h: Likewise.
19509         * lib/sys_socket.in.h: Likewise.
19510         * lib/sys_stat.in.h: Likewise.
19511         * lib/sys_time.in.h: Likewise.
19512         * lib/sys_times.in.h: Likewise.
19513         * lib/sys_uio.in.h: Likewise.
19514         * lib/sys_utsname.in.h: Likewise.
19515         * lib/sys_wait.in.h: Likewise.
19516         * lib/sysexits.in.h: Likewise.
19517         * lib/termios.in.h: Likewise.
19518         * lib/time.in.h: Likewise.
19519         * lib/unistd.in.h: Likewise.
19520         * lib/wchar.in.h: Likewise.
19521         * lib/wctype.in.h: Likewise.
19522         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19523         * modules/ctype (Makefile.am): Likewise.
19524         * modules/dirent (Makefile.am): Likewise.
19525         * modules/errno (Makefile.am): Likewise.
19526         * modules/fcntl-h (Makefile.am): Likewise.
19527         * modules/float (Makefile.am): Likewise.
19528         * modules/getopt-posix (Makefile.am): Likewise.
19529         * modules/iconv-h (Makefile.am): Likewise.
19530         * modules/langinfo (Makefile.am): Likewise.
19531         * modules/locale (Makefile.am): Likewise.
19532         * modules/math (Makefile.am): Likewise.
19533         * modules/netdb (Makefile.am): Likewise.
19534         * modules/netinet_in (Makefile.am): Likewise.
19535         * modules/poll-h (Makefile.am): Likewise.
19536         * modules/pthread (Makefile.am): Likewise.
19537         * modules/pty (Makefile.am): Likewise.
19538         * modules/sched (Makefile.am): Likewise.
19539         * modules/search (Makefile.am): Likewise.
19540         * modules/selinux-h (Makefile.am): Likewise.
19541         * modules/signal (Makefile.am): Likewise.
19542         * modules/spawn (Makefile.am): Likewise.
19543         * modules/stdarg (Makefile.am): Likewise.
19544         * modules/stddef (Makefile.am): Likewise.
19545         * modules/stdint (Makefile.am): Likewise.
19546         * modules/stdio (Makefile.am): Likewise.
19547         * modules/stdlib (Makefile.am): Likewise.
19548         * modules/string (Makefile.am): Likewise.
19549         * modules/strings (Makefile.am): Likewise.
19550         * modules/sys_file (Makefile.am): Likewise.
19551         * modules/sys_ioctl (Makefile.am): Likewise.
19552         * modules/sys_select (Makefile.am): Likewise.
19553         * modules/sys_socket (Makefile.am): Likewise.
19554         * modules/sys_stat (Makefile.am): Likewise.
19555         * modules/sys_time (Makefile.am): Likewise.
19556         * modules/sys_times (Makefile.am): Likewise.
19557         * modules/sys_uio (Makefile.am): Likewise.
19558         * modules/sys_utsname (Makefile.am): Likewise.
19559         * modules/sys_wait (Makefile.am): Likewise.
19560         * modules/sysexits (Makefile.am): Likewise.
19561         * modules/termios (Makefile.am): Likewise.
19562         * modules/time (Makefile.am): Likewise.
19563         * modules/unistd (Makefile.am): Likewise.
19564         * modules/wchar (Makefile.am): Likewise.
19565         * modules/wctype-h (Makefile.am): Likewise.
19566         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19567
19568 2011-05-29  Bruno Haible  <bruno@clisp.org>
19569
19570         assert-h: Allow multiple gnulib generated replacements to coexist.
19571         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19572
19573 2011-05-29  Bruno Haible  <bruno@clisp.org>
19574
19575         argp: Allow coexistence with strerror_r-posix module.
19576         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19577         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19578         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19579         not the glibc signature.
19580
19581 2011-05-28  Bruno Haible  <bruno@clisp.org>
19582
19583         gnulib-tool: Alternative structure of testdirs, similar to --import.
19584         * gnulib-tool: New option --single-configure.
19585         (func_usage): Document it.
19586         (single_configure): New variable.
19587         (func_modules_transitive_closure_separately,
19588         func_modules_transitive_closure_separately,
19589         func_determine_use_libtests, func_modules_add_dummy_separately,
19590         func_modules_to_filelist_separately): New functions, extracted from
19591         func_import.
19592         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19593         (func_import): Use the new functions.
19594         (func_create_testdir): Set final_modules. Handle $single_configure =
19595         true case.
19596
19597 2011-05-28  Bruno Haible  <bruno@clisp.org>
19598
19599         getloadavg: Remove an unreliable safety check.
19600         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19601         getloadavg.c is in place.
19602         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19603         Reported by Sam Steingold <sds@gnu.org>.
19604
19605 2011-05-28  Bruno Haible  <bruno@clisp.org>
19606
19607         doc: Cleanup yet another file produced by texinfo.tex.
19608         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19609
19610 2011-05-28  Bruno Haible  <bruno@clisp.org>
19611
19612         Finish the conditional dependencies mechanism.
19613         * gnulib-tool: New option --no-conditional-dependencies.
19614         (func_usage): Document it. Don't mark --conditional-dependencies as
19615         experimental.
19616         (cond_dependencies): The possible values can now be true, false, empty.
19617         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19618         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19619         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19620
19621 2011-05-28  Bruno Haible  <bruno@clisp.org>
19622
19623         doc: Use a recent texinfo.tex.
19624         * doc/Makefile (tex_opts): New variable.
19625         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19626
19627 2011-05-28  Jim Meyering  <meyering@redhat.com>
19628
19629         intprops.h: adjust comment to match code change
19630         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19631         only once, it *may* have side effects.  Also fix an unrelated typo.
19632         (_GL_INT_SIGNED): Likewise.
19633
19634 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19635
19636         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19637
19638 2011-05-26  Bruno Haible  <bruno@clisp.org>
19639
19640         mbsrchr: Avoid collision with system function on Interix.
19641         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19642         Reported by Markus Duft <mduft@gentoo.org>.
19643
19644 2011-05-15  James Youngman  <jay@gnu.org>
19645
19646         getopt: for ambiguous options, enumerate the possibilities.
19647         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19648         the ambiguous options when an ambiguous prefix is given. This was
19649         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19650         glibc change was
19651         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19652
19653 2011-05-25  Eric Blake  <eblake@redhat.com>
19654
19655         getcwd: work around mingw bug
19656         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19657         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19658         Reported by Matthias Bolte.
19659
19660 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19661
19662         test-intprops: disable -Wtype-limits diagnostics
19663         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19664         diagnostics.  Otherwise, the integer overflow macros generate many
19665         diagnostics.  Reported by Jim Meyering in
19666         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19667
19668         intprops: shorten, to pacify gcc -Woverlength-strings
19669         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19670         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19671         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19672         likely to run afoul of C compiler limits for string constant lengths.
19673         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19674
19675 2011-05-24  Eric Blake  <eblake@redhat.com>
19676
19677         docs: document recently fixed glibc printf bug
19678         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19679         * doc/posix-functions/printf.texi (printf): Likewise.
19680         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19681         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19682
19683         closein-tests: convert to init.sh
19684         * modules/closein-tests (Files): Add init.sh
19685         * tests/test-closein.sh Use it.
19686
19687         yesno-tests: convert to init.sh
19688         * modules/yesno-tests (Files): Add init.sh.
19689         * tests/test-yesno.sh: Use it.
19690
19691         atexit-tests: ensure reliable exit status
19692         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19693         Reported by Bruno Haible.
19694
19695 2011-05-24  Bruno Haible  <bruno@clisp.org>
19696
19697         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19698         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19699         gl_PREREQ_STRERROR_R invocations from here...
19700         * modules/strerror_r-posix (configure.ac): ... to here.
19701
19702 2011-05-24  Eric Blake  <eblake@redhat.com>
19703
19704         strerror_r: fix missing header
19705         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19706
19707         strerror_r: fix AIX test failures
19708         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19709         ERANGE failure.
19710
19711         strerror_r: fix Solaris test failures
19712         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19713         failures.
19714         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19715
19716         strerror_r: enforce POSIX recommendations
19717         * lib/strerror_r.c (safe_copy): New helper method.
19718         (strerror_r): Guarantee a non-empty string.
19719         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19720         recent POSIX rulings and to match our strerror guarantees.
19721         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19722
19723 2011-05-24  Jim Meyering  <meyering@redhat.com>
19724
19725         test-perror2.c: avoid warning about unused variable
19726         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19727
19728 2011-05-24  Eric Blake  <eblake@redhat.com>
19729
19730         perror: avoid spurious test failure on HP-UX
19731         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19732
19733         tests: fix logic bug in init.sh
19734         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19735         shell.
19736
19737 2011-05-24  Jim Meyering  <meyering@redhat.com>
19738
19739         utimensat: do not reference an out-of-scope buffer
19740         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19741         declared in an inner scope, yet "times" would be dereferenced outside
19742         the scope in which "ts" was valid.
19743         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19744         of ts[2] "out/up", so that the use of aliased "times" (via
19745         "times = ts;") does not end up referencing an out-of-scope "ts"
19746
19747         opendir-safer.c: don't clobber errno; don't close negative FD
19748         * lib/opendir-safer.c (opendir_safer):
19749         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19750         file descriptor, and more importantly, don't clobber the
19751         offending errno value with EINVAL.  Before, upon failure
19752         of dup_safer, we would pass the negative file descriptor to
19753         fdopendir, which would clobber errno.
19754
19755 2011-05-23  Bruno Haible  <bruno@clisp.org>
19756
19757         idcache: Fix module description.
19758         * modules/idcache (Include): Set to "idcache.h".
19759
19760 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19761
19762         gnulib-tool: fix portability problem with MacOS sed
19763         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19764         before the "}".  Problem reported by Leo in
19765         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
19766         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
19767         sed_extract_condition1, sed_extract_condition2.
19768
19769 2011-05-23  Bruno Haible  <bruno@clisp.org>
19770
19771         hash: Simplify autoconf macro.
19772         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
19773
19774 2011-05-23  Bruno Haible  <bruno@clisp.org>
19775
19776         getugroups: Fix module description.
19777         * modules/getugroups (Include): Set to "getugroups.h".
19778
19779 2011-05-23  Bruno Haible  <bruno@clisp.org>
19780
19781         linkat: Simplify autoconf macro.
19782         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
19783
19784 2011-05-23  Bruno Haible  <bruno@clisp.org>
19785             Eric Blake  <eblake@redhat.com>
19786
19787         linkat, renameat: Update dependencies.
19788         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
19789         * modules/linkat (Depends-on): Likewise. Remove also readlink,
19790         symlinkat.
19791
19792 2011-05-23  Jim Meyering  <meyering@redhat.com>
19793
19794         maint.mk: more tight_scope improvements
19795         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
19796         (_gl_TS_headers): Define only in if-0'd block.
19797         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
19798         sometimes we must *not* use it.  Adjust uses accordingly.
19799         (sc_tight_scope): Use much simpler grep-based test to determine
19800         whether we skip this rule.
19801
19802         maint.mk: generalize/improve the tight-scope rule
19803         * top/maint.mk: Emit a warning when the test is skipped.
19804         (_gl_TS_dir): Add $(srcdir)/ prefix.
19805         (_gl_TS_function_match): Simplify, rather than trying
19806         to enumerate common types.  Otherwise, it would fail to match an
19807         "extern unsigned char const *" declaration in idutils.
19808         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
19809         a way to support use of that type of macro.
19810         (_gl_TS_var_match): Simplify regexp.
19811         (_gl_TS_obj_files): New configurable variable.
19812         (_gl_TS_headers): Likewise.
19813
19814 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19815
19816         verify: fix bug when gnulib <assert.h> is also included
19817         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
19818         is defined, not if _GL_STATIC_ASSERT_H is not defined.
19819         Perhaps there's a better way, but this fixes the immediate problem.
19820         Problem reported by Bruno Haible in
19821         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
19822
19823 2011-05-22  Bruno Haible  <bruno@clisp.org>
19824
19825         xgetcwd: Simplify autoconf macro.
19826         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
19827
19828 2011-05-22  Bruno Haible  <bruno@clisp.org>
19829
19830         New module 'mktime-internal'.
19831         * modules/mktime-internal: New file.
19832         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
19833         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
19834         mktime_internal as a C macro if libc has __mktime_internal.
19835         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
19836         conditions.
19837         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
19838
19839 2011-05-22  Bruno Haible  <bruno@clisp.org>
19840
19841         timegm: Correct mktime replacement statements.
19842         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
19843         defining mktime as a C macro. This completes a 2009-07-28 commit.
19844
19845 2011-05-22  Bruno Haible  <bruno@clisp.org>
19846
19847         timegm: Simplify autoconf macro.
19848         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
19849
19850 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19851
19852         clock-time: change to LGPLv2+.
19853         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
19854         BSD-like but we have no mark for that; this is good enough for now.
19855
19856 2011-05-21  Bruno Haible  <bruno@clisp.org>
19857
19858         strerror_r: Fix comments.
19859         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
19860
19861 2011-05-21  Bruno Haible  <bruno@clisp.org>
19862
19863         relocatable-prog-wrapper: Fix possible link error.
19864         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
19865         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
19866         (gl_FUNC_SETENV): ... to here.
19867         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
19868         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
19869
19870 2011-05-21  Bruno Haible  <bruno@clisp.org>
19871
19872         relocatable-prog-wrapper: Assume strerror() exists.
19873         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
19874         m4/strerror.m4.
19875         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
19876         * lib/relocwrapper.c: Remove mention of strerror module.
19877         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
19878         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
19879         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
19880         C macro.
19881
19882 2011-05-21  Bruno Haible  <bruno@clisp.org>
19883
19884         select: Simplify replacement idiom.
19885         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
19886         Win32 platforms.
19887         * lib/sys_select.in.h (select): Simplify accordingly.
19888         * modules/select (Depends-on): Likewise.
19889
19890 2011-05-21  Bruno Haible  <bruno@clisp.org>
19891
19892         mkdir-p: Simplify autoconf macro.
19893         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
19894         gl_FUNC_LCHOWN.
19895
19896 2011-05-21  Eric Blake  <eblake@redhat.com>
19897
19898         strerror_r: avoid clobbering strerror on cygwin
19899         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
19900         fall back instead to sys_errlist.
19901         * modules/strerror (configure.ac): Add witness.
19902         * tests/test-strerror_r.c (main): Enhance test.
19903         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19904         * tests/test-perror2.c (main): Free memory before exit.
19905
19906 2011-05-21  Bruno Haible  <bruno@clisp.org>
19907
19908         mkdtemp: Use gnulib naming conventions.
19909         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
19910         * modules/mkdtemp (configure.ac): Update.
19911
19912 2011-05-20  Eric Blake  <eblake@redhat.com>
19913
19914         strerror_r: avoid corrupting errno on Solaris
19915         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
19916         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19917
19918         strerror_r: avoid compiler warning
19919         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
19920
19921         strerror_r: simplify AIX code
19922         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
19923
19924         test-perror: avoid spurious failure on FreeBSD
19925         * modules/perror-tests (Depends-on): Add strerror, now that
19926         strerror_r no longer pulls it in.
19927
19928 2011-05-20  Bruno Haible  <bruno@clisp.org>
19929
19930         strerror_r-posix: Remove unused dependencies.
19931         * modules/strerror_r-posix (Depends-on): Remove strerror.
19932         Reported by Eric Blake.
19933
19934 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19935
19936         intprops: remove assumption about A|B representation
19937         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19938         is a valid integer if both A and B are.  Although this is true for
19939         all known practical hosts, the C standard doesn't guarantee it,
19940         and the code need not assume it.  Also, this change may work around
19941         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
19942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
19943
19944 2011-05-20  Eric Blake  <eblake@redhat.com>
19945
19946         perror: work around FreeBSD bug
19947         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
19948         is broken.  Move AC_LIBOBJ...
19949         * modules/perror (configure.ac): Here.
19950         * doc/posix-functions/perror.texi (perror): Document this.
19951         * tests/test-perror2.c (main): Enhance test.
19952
19953         test-perror: check for strerror interactions
19954         * tests/macros.h (STREQ): Add macro.
19955         * modules/perror-tests (Files): Add second test.
19956         * tests/test-perror2.c (main): New file.
19957         * doc/posix-functions/perror.texi (perror): Document glibc bug.
19958
19959         test-perror: rewrite to use init script
19960         * modules/perror-tests (Files): Add init.sh.
19961         * tests/test-perror.sh: Use temporary directory.
19962
19963 2011-05-20  Jim Meyering  <meyering@redhat.com>
19964
19965         maint: replace misused "a" with "an"
19966         * doc/intprops.texi: "a integer"
19967         * doc/regex.texi: "a explanation"
19968         * lib/alignof.h: "a object"
19969         * lib/argmatch.h: "a explanation"
19970         * lib/argp-help.c: "a option" and "a OPTION_DOC"
19971         * lib/stdint.in.h: "a integer"
19972         * lib/userspec.c: "a owner"
19973         * doc/gnulib.texi: Fix "a idea", and reword.
19974
19975 2011-05-19  Jim Meyering  <meyering@redhat.com>
19976
19977         maint: correct misuse of "a" and "an"
19978         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
19979         * lib/argp-help.c: "an docum...": s/an/a/
19980         * lib/argp-parse.c: "An vector": s/An/A/
19981         * lib/execute.c: "an native": s/an/a/
19982         * lib/spawn-pipe.c: Likewise.
19983         * lib/gc.h: "an Gc_rc": s/an/a/
19984         * lib/unigbrk.in.h: "an grapheme": s/an/a/
19985         * lib/fts.c: "an stat.st_dev": s/an/a/
19986
19987 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19988
19989         intprops-tests: work around HP-UX 11.23 cc bug with constants
19990         * tests/test-intprops.c (VERIFY): New macro.
19991         (main): Use it, instead of verify, to work around the compiler bug; see
19992         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19993
19994         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
19995         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
19996         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
19997         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
19998         (_GL_REMAINDER_OVERFLOW): Use it.
19999
20000         intprops-tests: revert unsigned part of previous change
20001         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20002         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20003         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20004         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20005
20006 2011-05-19  Bruno Haible  <bruno@clisp.org>
20007
20008         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20009         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20010         strerror_r() returned without filling the buffer.
20011         Reported by Eric Blake.
20012
20013 2011-05-19  Eric Blake  <eblake@redhat.com>
20014
20015         strerror_r: guarantee unchanged errno
20016         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20017         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20018         failure.
20019         * tests/test-strerror_r.c (main): Enhance test.
20020
20021 2011-05-19  Bruno Haible  <bruno@clisp.org>
20022
20023         strerror_r: Reorder #if blocks.
20024         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20025         for consistency with the previous commit.
20026
20027 2011-05-19  Bruno Haible  <bruno@clisp.org>
20028
20029         perror: Avoid clobbering the strerror buffer when possible.
20030         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20031         * lib/strerror.c: Include it.
20032         * modules/strerror (Files): Add lib/strerror-impl.h.
20033         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20034         (my_strerror): New function, defined through lib/strerror-impl.h.
20035         (perror): Use it instead of strerror.
20036         * modules/perror (Files): Add lib/strerror-impl.h.
20037         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20038
20039 2011-05-19  Eric Blake  <eblake@redhat.com>
20040
20041         strerror_r: fix on newer cygwin
20042         * lib/strerror_r.c (strerror_r): Cygwin now has
20043         __xpg_strerror_r, use it.
20044
20045 2011-05-19  Bruno Haible  <bruno@clisp.org>
20046
20047         strerror_r: Avoid clobbering the strerror buffer when possible.
20048         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20049         (sys_nerr, sys_errlist): New declarations.
20050         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20051         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20052         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20053
20054 2011-05-19  Bruno Haible  <bruno@clisp.org>
20055
20056         strerror_r: Fix test failure on mingw.
20057         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20058         EXTEND_STRERROR_R.
20059         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20060         macros from errno.in.h instead.
20061
20062 2011-05-19  Eric Blake  <eblake@redhat.com>
20063
20064         strerror: relax test for Solaris
20065         * tests/test-strerror.c (main): Permit Solaris behavior.
20066         * tests/test-strerror_r.c (main): Likewise.
20067
20068         strerror: enforce POSIX ruling on strerror(0)
20069         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20070         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20071         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20072         * doc/posix-functions/strerror.texi (strerror): Document it.
20073         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20074         * tests/test-strerror.c (main): Strengthen test.
20075         * tests/test-strerror_r.c (main): Likewise.
20076
20077 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20078
20079         intprop-tests: port to older and more-pedantic compilers
20080         * modules/intprops-tests (Files): Add tests/macros.h.
20081         * tests/test-intprops.c: Include macros.h.
20082         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20083         it's no longer documented to expand to an integer constant expression.
20084         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20085         argument is floating point, as it's no longer documented to expand
20086         to an integer constant expression in that case.
20087         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20088         compiler bugs reported by Bruno Haible.  See
20089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20090         (U0, U1): New constants, to work around the same bugs.  Also,
20091         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20092
20093         intprops: work around C compiler bugs
20094         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20095         bug in Sun C 5.11 2010/08/13 and other compilers; see
20096         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20097
20098         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20099         * doc/intprops.texi (Integer Type Determination): Fix
20100         documentation for TYPE_IS_INTEGER: it returns an constant
20101         expression, not an integer constant expression.  Fix doc for
20102         TYPE_SIGNED: it returns an integer constant expression only if its
20103         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20104         hardly worth documented that way....)
20105
20106 2011-05-18  Bruno Haible  <bruno@clisp.org>
20107
20108         strerror_r: Avoid clobbering the strerror buffer when possible.
20109         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20110         Handle gnulib defined errno values here. When strerror() returns NULL
20111         or an empty string, return EINVAL.
20112         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20113         gnulib defined errno values here.
20114         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20115
20116 2011-05-18  Eric Blake  <eblake@redhat.com>
20117
20118         fnmatch: avoid compiler warning
20119         * lib/fnmatch_loop.c (FCT): Use correct type.
20120         Reported by Matthias Bolte.
20121
20122 2011-05-13  Jim Meyering  <meyering@redhat.com>
20123
20124         maint.mk: three new prohibit_<HDR>_without_use rules
20125         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20126         (sc_prohibit_stdio-safer_without_use): Likewise.
20127         (sc_prohibit_xfreopen_without_use): Likewise.
20128
20129 2011-05-17  Jim Meyering  <meyering@redhat.com>
20130
20131         announce-gen: fail if the NEWS delta is empty
20132         If there's nothing noteworthy in NEWS, then either you forgot
20133         or you shouldn't be releasing.
20134         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20135
20136 2011-05-17  Pádraig Brady <P@draigBrady.com>
20137
20138         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20139         reserved symbols starting with double underscore from the check.
20140
20141 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20142
20143         intprops: add doc
20144         * doc/intprops.texi: New file, documenting intprops.
20145         * doc/gnulib.texi (Particular Modules): Include it.
20146
20147         verify: add doc to gnulib manual and fix example
20148         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20149         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20150         (Compile-time Assertions): Fix example so it can't overflow.
20151
20152 2011-05-17  Jim Meyering  <meyering@redhat.com>
20153
20154         warnings.m4: don't usurp save_CPPFLAGS variable name
20155         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20156
20157         doc: fix typo
20158         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20159
20160 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20161             Bruno Haible  <bruno@clisp.org>
20162
20163         doc: Tweak recent change.
20164         * README (Portability guidelines): Tweak new text.
20165         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20166         Interix 6.1.
20167
20168 2011-05-16  Eric Blake  <eblake@redhat.com>
20169
20170         inttypes: avoid autoconf warning
20171         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20172         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20173
20174 2011-05-16  Sam Steingold <sds@gnu.org>
20175         and Eric Blake  <eblake@redhat.com>
20176
20177         vc-list-files: accept multiple directory operands
20178         * build-aux/vc-list-files: Iterate over all remaining operands.
20179
20180 2011-05-16  Bruno Haible  <bruno@clisp.org>
20181
20182         Fix confusion regarding deprecated modules.
20183         * modules/calloc (Status, Notice): Mark module as deprecated, not
20184         obsolete.
20185         * modules/fnmatch-posix (Status, Notice): Likewise.
20186         * modules/getdate (Status, Notice): Likewise.
20187         * modules/getopt (Status, Notice): Likewise.
20188         * modules/malloc (Status, Notice): Likewise.
20189         * modules/pipe (Status, Notice): Likewise.
20190         * modules/realloc (Status, Notice): Likewise.
20191         * modules/rename-dest-slash (Status, Notice): Likewise.
20192         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20193         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20194         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20195         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20196         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20197
20198 2011-05-16  Bruno Haible  <bruno@clisp.org>
20199
20200         doc: List the target platforms.
20201         * doc/gnulib-intro.texi (Target Platforms): New section.
20202         * doc/gnulib.texi (Introduction): Update menu.
20203         * README (Portability guidelines): Refer to the new section. Update
20204         statement about oldest supported environment. Remove rationale why
20205         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20206         unportable C89 function.
20207         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20208         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20209
20210 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20211
20212         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20213
20214 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20215
20216         intprops-tests: new module
20217         * modules/intprops-tests, tests/test-intprops.c: New files.
20218
20219         intprops: add safe, portable integer overflow checking
20220         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20221         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20222         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20223         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20224         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20225         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20226         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20227         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20228         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20229         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20230         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20231
20232 2011-05-12  James Youngman  <jay@gnu.org>
20233
20234         Add a test for glibc's Bugzilla bug #12378.
20235         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20236         doesn't allow the literal matching of a lone "[" (which is
20237         required by POSIX).
20238         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20239
20240 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20241
20242         Sync glibc change fixing Bugzilla bug #12378.
20243         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20244         beginning and fall back to matching as normal character if the
20245         string ends before the matching ']' is found.  This is what POSIX
20246         requires.
20247
20248 2011-05-13  Eric Blake  <eblake@redhat.com>
20249
20250         getcwd-lgpl: relax test for FreeBSD
20251         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20252         issue.
20253         * tests/test-getcwd-lgpl.c (main): Relax test.
20254         Reported by Matthias Bolte.
20255
20256 2011-05-11  Eric Blake  <eblake@redhat.com>
20257
20258         test-fflush: silence compiler warning
20259         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20260
20261 2011-05-11  Bruno Haible  <bruno@clisp.org>
20262
20263         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20264         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20265         * modules/canonicalize (Depends-on): Add 'nocrash'.
20266         * modules/canonicalize-lgpl (Depends-on): Likewise.
20267         * doc/posix-functions/realpath.texi: Update platforms list.
20268         Reported by Ryan Schmidt <ryandesign@macports.org>.
20269
20270 2011-05-11  Bruno Haible  <bruno@clisp.org>
20271
20272         group-member: Declare function in <unistd.h>.
20273         * lib/unistd.in.h (group_member): New declaration.
20274         * lib/group-member.h: Remove file.
20275         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20276         * tests/test-unistd-c++.cc: Check signature of group_member.
20277         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20278         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20279         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20280         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20281         HAVE_GROUP_MEMBER.
20282         * modules/group-member (Files): Remove lib/group-member.h.
20283         (Depends-on): Add unistd. Specify conditions.
20284         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20285         (Include): Change to <unistd.h>.
20286         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20287         HAVE_GROUP_MEMBER.
20288         * NEWS: Mention the change.
20289         * lib/euidaccess.c: Don't include group-member.h.
20290
20291 2011-05-11  Bruno Haible  <bruno@clisp.org>
20292
20293         group-member: Document module.
20294         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20295         module.
20296
20297 2011-05-11  Bruno Haible  <bruno@clisp.org>
20298
20299         fclose: Fix mistake earlier today.
20300         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20301
20302 2011-05-11  Eric Blake  <eblake@redhat.com>
20303
20304         fclose: preserve fflush errors
20305         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20306         Reported by Jim Meyering.
20307
20308         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20309         * build-aux/bootstrap (check_versions): When no specific version
20310         is required, merely check that the app produces an exit status
20311         that indicates its existence.
20312
20313         maint.mk: drop redundant check
20314         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20315         the same but better.
20316
20317 2011-05-11  Bruno Haible  <bruno@clisp.org>
20318
20319         fclose: Fix possible link error.
20320         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20321         unregister_shadow_fd. Improve comments.
20322         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20323         Eric Blake.
20324
20325 2011-05-11  Jim Meyering  <meyering@redhat.com>
20326
20327         maint.mk: improve "can not" detection and generalize rule name
20328         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20329         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20330         Use the same technique as in sc_prohibit_doubled_word, so that
20331         we recognize "can not" also when the words are separated by a newline.
20332         Suggested by Eric Blake.
20333         (perl_filename_lineno_text_): Define.  Factored out of...
20334         (prohibit_doubled_word_): ...here.  Use the new definition.
20335         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20336         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20337         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20338
20339 2011-05-10  Eric Blake  <eblake@redhat.com>
20340
20341         fclose: avoid double close race when possible
20342         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20343         all but WINDOWS_SOCKETS.
20344
20345 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20346
20347         openat: correct new comment
20348         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20349
20350 2011-05-10  Jim Meyering  <meyering@redhat.com>
20351
20352         openat: add comments
20353         * lib/openat-proc.c (openat_proc_name): Add comments,
20354         mostly from Eric Blake.
20355
20356 2011-05-09  Eric Blake  <eblake@redhat.com>
20357
20358         openat: reduce syscalls in first probe of /proc
20359         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20360         be a directory.  Simplify the probe for .. bugs.
20361         * modules/openat (Depends-on): Drop same-inode.
20362         Reported by Bastien ROUCARIES.
20363
20364 2011-05-09  Jim Meyering  <meyering@redhat.com>
20365
20366         maint.mk: change semantics/name of tight_scope variables
20367         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20368         Rename variables to align with semantics that make them more useful.
20369
20370         maint.mk: tweak new rule's name not to impinge
20371         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20372         (sc_tight_scope): Use new rule name rather than $@-0.
20373
20374         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20375         * top/maint.mk (sc_tight_scope): New rule.
20376         (sc_tight_scope-0): New rule, ifdef'd out.
20377         (_gl_TS_dir): Default.
20378         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20379         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20380
20381 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20382
20383         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20384         Haible <bruno@clisp.org>.
20385
20386 2011-05-08  Bruno Haible  <bruno@clisp.org>
20387
20388         Comments.
20389         * m4/isnanf.m4: Add comment.
20390         * m4/isnanl.m4: Likewise.
20391
20392 2011-05-08  Bruno Haible  <bruno@clisp.org>
20393
20394         glob: Remove obsolete macro.
20395         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20396
20397 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20398
20399         intprops: Sun C 5.11 supports __typeof__
20400         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20401         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20402         which is new.
20403         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20404
20405         intprops: switch to usual gnulib indenting and naming
20406         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20407         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20408
20409         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20410
20411 2011-05-08  Jim Meyering  <meyering@redhat.com>
20412
20413         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20414         * top/maint.mk (release-prep): Use make's --no-print-directory
20415         option when generating the announcement.  This eliminates the
20416         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20417         generated announcement template.
20418
20419 2011-05-08  Bruno Haible  <bruno@clisp.org>
20420
20421         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20422         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20423         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20424
20425 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20426
20427         ignore-value, verify: Omit include files from lib_SOURCES.
20428         * modules/ignore-value, modules/verify (Makefile.am):
20429         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20430         that leads Automake to duplicate use of am__objects_... variables
20431         in Makefile.in.  See
20432         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20433
20434 2011-05-07  Bruno Haible  <bruno@clisp.org>
20435
20436         fclose: Simplify autoconf macro.
20437         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20438         defined.
20439
20440 2011-05-07  Bruno Haible  <bruno@clisp.org>
20441
20442         canonicalize-lgpl: Fix autoconf macro ordering bug.
20443         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20444         gl_STDLIB_H_DEFAULTS.
20445
20446 2011-05-06  Eric Blake  <eblake@redhat.com>
20447
20448         maintainer-makefile: make sc_po_check easier to tune
20449         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20450         to probe for strings, such as an alternate location for gnulib.
20451
20452         fclose: guarantee behavior on seekable stdin
20453         * modules/fclose (Depends-on): Add fflush.
20454         * doc/posix-functions/fclose.texi (fclose): Document this.
20455         * tests/test-fclose.c (main): Make test for this unconditional.
20456
20457 2011-05-06  Bruno Haible  <bruno@clisp.org>
20458
20459         fflush, fpurge: Relicense under LGPLv2+.
20460         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20461         * modules/fpurge (License): Likewise.
20462         With permission from Eric Blake and Jim Meyering.
20463         Suggested by Eric Blake.
20464
20465 2011-05-06  Karl Berry  <karl@gnu.org>
20466
20467         * MODULES.html.sh (func_all_modules): remove exit.
20468
20469 2011-05-06  Jim Meyering  <meyering@redhat.com>
20470
20471         maint.mk: use info-gnu@ as the default only for a stable release
20472         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20473         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20474         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20475         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20476
20477 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20478
20479         assert-h: new module, which supports C1X-style static_assert
20480         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20481         * lib/verify.h: Revamp so that this can be copied into assert.h,
20482         while retaining the ability to use it standalone as before.
20483         Rename private identifiers so as not to encroach on the
20484         standard C namespace, since this is now used by assert.h.
20485         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20486         the old verify_true.
20487         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20488         the old verify_true.  Use _GL_VERIFY_TYPE.
20489         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20490         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20491         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20492         defined when this file is copied into the replacement assert.h.
20493         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20494         and _Static_assert is not built in.
20495         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20496         defined, and use the new macros mentioned above.
20497         * doc/posix-headers/assert.texi: Document this.
20498
20499 2011-05-05  Bruno Haible  <bruno@clisp.org>
20500
20501         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20502         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20503         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20504         gl_REPLACE_FCLOSE here.
20505         * modules/fflush (Depends-on): Remove fclose.
20506         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20507         combination with module 'fclose'.
20508
20509 2011-05-05  Bruno Haible  <bruno@clisp.org>
20510
20511         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20512         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20513         gl_FUNC_FFLUSH.
20514         (gl_FUNC_FFLUSH): Use it.
20515         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20516         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20517         gl_REPLACE_FSEEKO here.
20518
20519 2011-05-05  Bruno Haible  <bruno@clisp.org>
20520
20521         tzset: Relicense under LGPL.
20522         * modules/tzset (License): Change to LGPL.
20523         No agreement needed; it's a no-op.
20524
20525         strtoimax, strtoumax: Relicense under LGPL.
20526         * modules/strtoimax (License): Change to LGPL.
20527         * modules/strtoumax (License): Likewise.
20528         With permission from Jim Meyering, Paul Eggert:
20529         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20530         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20531
20532         getgroups: Relicense under LGPL.
20533         * modules/getgroups (License): Change to LGPL.
20534         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20536         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20537         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20538
20539         nanosleep: Relicense under LGPL.
20540         * modules/nanosleep (License): Change to LGPL.
20541         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20542         Haible:
20543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20544         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20545         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20547
20548         futimens: Relicense under LGPL.
20549         * modules/futimens (License): Change to LGPL.
20550         With permission from Eric Blake:
20551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20552
20553         fflush: Relicense under LGPL.
20554         * modules/fflush (License): Change to LGPL.
20555         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20556         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20558         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20559
20560         tmpfile: Relicense under LGPL.
20561         * modules/tmpfile (License): Change to LGPL.
20562         With permission from Ben Pfaff:
20563         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20564
20565         isfinite: Relicense under LGPL.
20566         * modules/isfinite (License): Change to LGPL.
20567         With permission from Ben Pfaff, Bruno Haible:
20568         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20570
20571         acosl..tanl: Relicense under LGPL.
20572         * modules/acosl (License): Change to LGPL.
20573         * modules/asinl (License): Likewise.
20574         * modules/atanl (License): Likewise.
20575         * modules/cosl (License): Likewise.
20576         * modules/expl (License): Likewise.
20577         * modules/logl (License): Likewise.
20578         * modules/sinl (License): Likewise.
20579         * modules/sqrtl (License): Likewise.
20580         * modules/tanl (License): Likewise.
20581         Source code originally from glibc and Paolo Bonzini. Agreements:
20582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20584
20585 2011-05-05  Bruno Haible  <bruno@clisp.org>
20586
20587         signal: Define sighandler_t.
20588         * lib/signal.in.h (sighandler_t): New type.
20589         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20590         whether sighandler_t is defined.
20591         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20592         * modules/signal (Depends-on): Add extensions.
20593         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20594         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20595         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20596
20597 2011-05-05  Eric Blake  <eblake@redhat.com>
20598
20599         maint: remove useless REPLACE_*_H macros
20600         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20601         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20602         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20603         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20604         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20605         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20606         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20607         * m4/btowc.m4: Update callers.
20608         * m4/dirfd.m4: Likewise.
20609         * m4/duplocale.m4: Likewise.
20610         * m4/fchdir.m4: Likewise.
20611         * m4/fdopendir.m4: Likewise.
20612         * m4/inet_ntop.m4: Likewise.
20613         * m4/inet_pton.m4: Likewise.
20614         * m4/ioctl.m4: Likewise.
20615         * m4/mbrlen.m4: Likewise.
20616         * m4/mbrtowc.m4: Likewise.
20617         * m4/mbsinit.m4: Likewise.
20618         * m4/mbsnrtowcs.m4: Likewise.
20619         * m4/mbsrtowcs.m4: Likewise.
20620         * m4/poll.m4: Likewise.
20621         * m4/setlocale.m4: Likewise.
20622         * m4/wcrtomb.m4: Likewise.
20623         * m4/wcsnrtombs.m4: Likewise.
20624         * m4/wcsrtombs.m4: Likewise.
20625         * m4/wctob.m4: Likewise.
20626         * m4/wcwidth.m4: Likewise.
20627         * modules/posix_spawn: Likewise.
20628         * modules/posix_spawn_file_actions_addclose: Likewise.
20629         * modules/posix_spawn_file_actions_adddup2: Likewise.
20630         * modules/posix_spawn_file_actions_addopen: Likewise.
20631         * modules/posix_spawn_file_actions_destroy: Likewise.
20632         * modules/posix_spawn_file_actions_init: Likewise.
20633         * modules/posix_spawnattr_destroy: Likewise.
20634         * modules/posix_spawnattr_getflags: Likewise.
20635         * modules/posix_spawnattr_getpgroup: Likewise.
20636         * modules/posix_spawnattr_getschedparam: Likewise.
20637         * modules/posix_spawnattr_getschedpolicy: Likewise.
20638         * modules/posix_spawnattr_getsigdefault: Likewise.
20639         * modules/posix_spawnattr_getsigmask: Likewise.
20640         * modules/posix_spawnattr_init: Likewise.
20641         * modules/posix_spawnattr_setflags: Likewise.
20642         * modules/posix_spawnattr_setpgroup: Likewise.
20643         * modules/posix_spawnattr_setschedparam: Likewise.
20644         * modules/posix_spawnattr_setschedpolicy: Likewise.
20645         * modules/posix_spawnattr_setsigdefault: Likewise.
20646         * modules/posix_spawnattr_setsigmask: Likewise.
20647         * modules/posix_spawnp: Likewise.
20648
20649 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20650
20651         Add option to do-release-commit-and-tag to specify branch.
20652         * build-aux/do-release-commit-and-tag: Add --branch.
20653
20654 2011-05-03  Bruno Haible  <bruno@clisp.org>
20655
20656         Avoid unnecessary compilation units, through conditional dependencies.
20657         * modules/accept (Depends-on): Add conditions to the dependencies.
20658         * modules/acosl (Depends-on): Likewise.
20659         * modules/argz (Depends-on): Likewise.
20660         * modules/asinl (Depends-on): Likewise.
20661         * modules/atanl (Depends-on): Likewise.
20662         * modules/atoll (Depends-on): Likewise.
20663         * modules/bind (Depends-on): Likewise.
20664         * modules/btowc (Depends-on): Likewise.
20665         * modules/canonicalize-lgpl (Depends-on): Likewise.
20666         * modules/ceil (Depends-on): Likewise.
20667         * modules/ceilf (Depends-on): Likewise.
20668         * modules/ceill (Depends-on): Likewise.
20669         * modules/chdir-long (Depends-on): Likewise.
20670         * modules/chown (Depends-on): Likewise.
20671         * modules/close (Depends-on): Likewise.
20672         * modules/connect (Depends-on): Likewise.
20673         * modules/cosl (Depends-on): Likewise.
20674         * modules/dirfd (Depends-on): Likewise.
20675         * modules/dprintf (Depends-on): Likewise.
20676         * modules/dprintf-posix (Depends-on): Likewise.
20677         * modules/error (Depends-on): Likewise.
20678         * modules/euidaccess (Depends-on): Likewise.
20679         * modules/expl (Depends-on): Likewise.
20680         * modules/faccessat (Depends-on): Likewise.
20681         * modules/fchdir (Depends-on): Likewise.
20682         * modules/fclose (Depends-on): Likewise.
20683         * modules/fcntl (Depends-on): Likewise.
20684         * modules/fdopendir (Depends-on): Likewise.
20685         * modules/fflush (Depends-on): Likewise.
20686         * modules/floor (Depends-on): Likewise.
20687         * modules/floorf (Depends-on): Likewise.
20688         * modules/floorl (Depends-on): Likewise.
20689         * modules/fnmatch (Depends-on): Likewise.
20690         * modules/fopen (Depends-on): Likewise.
20691         * modules/fprintf-posix (Depends-on): Likewise.
20692         * modules/frexp (Depends-on): Likewise.
20693         * modules/frexp-nolibm (Depends-on): Likewise.
20694         * modules/frexpl (Depends-on): Likewise.
20695         * modules/frexpl-nolibm (Depends-on): Likewise.
20696         * modules/fseek (Depends-on): Likewise.
20697         * modules/fsusage (Depends-on): Likewise.
20698         * modules/ftell (Depends-on): Likewise.
20699         * modules/ftello (Depends-on): Likewise.
20700         * modules/futimens (Depends-on): Likewise.
20701         * modules/getcwd (Depends-on): Likewise.
20702         * modules/getcwd-lgpl (Depends-on): Likewise.
20703         * modules/getdelim (Depends-on): Likewise.
20704         * modules/getdomainname (Depends-on): Likewise.
20705         * modules/getgroups (Depends-on): Likewise.
20706         * modules/gethostname (Depends-on): Likewise.
20707         * modules/getline (Depends-on): Likewise.
20708         * modules/getlogin_r (Depends-on): Likewise.
20709         * modules/getopt-posix (Depends-on): Likewise.
20710         * modules/getpeername (Depends-on): Likewise.
20711         * modules/getsockname (Depends-on): Likewise.
20712         * modules/getsockopt (Depends-on): Likewise.
20713         * modules/getsubopt (Depends-on): Likewise.
20714         * modules/getusershell (Depends-on): Likewise.
20715         * modules/glob (Depends-on): Likewise.
20716         * modules/grantpt (Depends-on): Likewise.
20717         * modules/iconv_open (Depends-on): Likewise.
20718         * modules/iconv_open-utf (Depends-on): Likewise.
20719         * modules/inet_ntop (Depends-on): Likewise.
20720         * modules/inet_pton (Depends-on): Likewise.
20721         * modules/ioctl (Depends-on): Likewise.
20722         * modules/isapipe (Depends-on): Likewise.
20723         * modules/isfinite (Depends-on): Likewise.
20724         * modules/isinf (Depends-on): Likewise.
20725         * modules/lchown (Depends-on): Likewise.
20726         * modules/ldexpl (Depends-on): Likewise.
20727         * modules/link (Depends-on): Likewise.
20728         * modules/linkat (Depends-on): Likewise.
20729         * modules/listen (Depends-on): Likewise.
20730         * modules/logl (Depends-on): Likewise.
20731         * modules/lstat (Depends-on): Likewise.
20732         * modules/mbrlen (Depends-on): Likewise.
20733         * modules/mbrtowc (Depends-on): Likewise.
20734         * modules/mbsinit (Depends-on): Likewise.
20735         * modules/mbsnrtowcs (Depends-on): Likewise.
20736         * modules/mbsrtowcs (Depends-on): Likewise.
20737         * modules/mbtowc (Depends-on): Likewise.
20738         * modules/memcmp (Depends-on): Likewise.
20739         * modules/mkdir (Depends-on): Likewise.
20740         * modules/mkdtemp (Depends-on): Likewise.
20741         * modules/mkfifo (Depends-on): Likewise.
20742         * modules/mkfifoat (Depends-on): Likewise.
20743         * modules/mknod (Depends-on): Likewise.
20744         * modules/mkostemp (Depends-on): Likewise.
20745         * modules/mkostemps (Depends-on): Likewise.
20746         * modules/mkstemp (Depends-on): Likewise.
20747         * modules/mkstemps (Depends-on): Likewise.
20748         * modules/mktime (Depends-on): Likewise.
20749         * modules/nanosleep (Depends-on): Likewise.
20750         * modules/open (Depends-on): Likewise.
20751         * modules/openat (Depends-on): Likewise.
20752         * modules/perror (Depends-on): Likewise.
20753         * modules/poll (Depends-on): Likewise.
20754         * modules/popen (Depends-on): Likewise.
20755         * modules/posix_spawn (Depends-on): Likewise.
20756         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20757         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20758         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20759         * modules/posix_spawnp (Depends-on): Likewise.
20760         * modules/pread (Depends-on): Likewise.
20761         * modules/printf-posix (Depends-on): Likewise.
20762         * modules/ptsname (Depends-on): Likewise.
20763         * modules/putenv (Depends-on): Likewise.
20764         * modules/pwrite (Depends-on): Likewise.
20765         * modules/readline (Depends-on): Likewise.
20766         * modules/readlink (Depends-on): Likewise.
20767         * modules/readlinkat (Depends-on): Likewise.
20768         * modules/recv (Depends-on): Likewise.
20769         * modules/recvfrom (Depends-on): Likewise.
20770         * modules/regex (Depends-on): Likewise.
20771         * modules/remove (Depends-on): Likewise.
20772         * modules/rename (Depends-on): Likewise.
20773         * modules/renameat (Depends-on): Likewise.
20774         * modules/rmdir (Depends-on): Likewise.
20775         * modules/round (Depends-on): Likewise.
20776         * modules/roundf (Depends-on): Likewise.
20777         * modules/roundl (Depends-on): Likewise.
20778         * modules/rpmatch (Depends-on): Likewise.
20779         * modules/select (Depends-on): Likewise.
20780         * modules/send (Depends-on): Likewise.
20781         * modules/sendto (Depends-on): Likewise.
20782         * modules/setenv (Depends-on): Likewise.
20783         * modules/setlocale (Depends-on): Likewise.
20784         * modules/setsockopt (Depends-on): Likewise.
20785         * modules/shutdown (Depends-on): Likewise.
20786         * modules/sigaction (Depends-on): Likewise.
20787         * modules/signbit (Depends-on): Likewise.
20788         * modules/sigprocmask (Depends-on): Likewise.
20789         * modules/sinl (Depends-on): Likewise.
20790         * modules/sleep (Depends-on): Likewise.
20791         * modules/snprintf (Depends-on): Likewise.
20792         * modules/snprintf-posix (Depends-on): Likewise.
20793         * modules/socket (Depends-on): Likewise.
20794         * modules/sprintf-posix (Depends-on): Likewise.
20795         * modules/sqrtl (Depends-on): Likewise.
20796         * modules/stat (Depends-on): Likewise.
20797         * modules/strchrnul (Depends-on): Likewise.
20798         * modules/strdup-posix (Depends-on): Likewise.
20799         * modules/strerror (Depends-on): Likewise.
20800         * modules/strerror_r-posix (Depends-on): Likewise.
20801         * modules/strndup (Depends-on): Likewise.
20802         * modules/strnlen (Depends-on): Likewise.
20803         * modules/strptime (Depends-on): Likewise.
20804         * modules/strsep (Depends-on): Likewise.
20805         * modules/strsignal (Depends-on): Likewise.
20806         * modules/strstr-simple (Depends-on): Likewise.
20807         * modules/strtod (Depends-on): Likewise.
20808         * modules/strtoimax (Depends-on): Likewise.
20809         * modules/strtok_r (Depends-on): Likewise.
20810         * modules/strtoumax (Depends-on): Likewise.
20811         * modules/symlink (Depends-on): Likewise.
20812         * modules/symlinkat (Depends-on): Likewise.
20813         * modules/tanl (Depends-on): Likewise.
20814         * modules/tcgetsid (Depends-on): Likewise.
20815         * modules/tmpfile (Depends-on): Likewise.
20816         * modules/trunc (Depends-on): Likewise.
20817         * modules/truncf (Depends-on): Likewise.
20818         * modules/truncl (Depends-on): Likewise.
20819         * modules/uname (Depends-on): Likewise.
20820         * modules/unlink (Depends-on): Likewise.
20821         * modules/unlockpt (Depends-on): Likewise.
20822         * modules/unsetenv (Depends-on): Likewise.
20823         * modules/usleep (Depends-on): Likewise.
20824         * modules/utimensat (Depends-on): Likewise.
20825         * modules/vasprintf (Depends-on): Likewise.
20826         * modules/vdprintf (Depends-on): Likewise.
20827         * modules/vdprintf-posix (Depends-on): Likewise.
20828         * modules/vfprintf-posix (Depends-on): Likewise.
20829         * modules/vprintf-posix (Depends-on): Likewise.
20830         * modules/vsnprintf (Depends-on): Likewise.
20831         * modules/vsnprintf-posix (Depends-on): Likewise.
20832         * modules/vsprintf-posix (Depends-on): Likewise.
20833         * modules/wcrtomb (Depends-on): Likewise.
20834         * modules/wcscasecmp (Depends-on): Likewise.
20835         * modules/wcscspn (Depends-on): Likewise.
20836         * modules/wcsdup (Depends-on): Likewise.
20837         * modules/wcsncasecmp (Depends-on): Likewise.
20838         * modules/wcsnrtombs (Depends-on): Likewise.
20839         * modules/wcspbrk (Depends-on): Likewise.
20840         * modules/wcsrtombs (Depends-on): Likewise.
20841         * modules/wcsspn (Depends-on): Likewise.
20842         * modules/wcsstr (Depends-on): Likewise.
20843         * modules/wcstok (Depends-on): Likewise.
20844         * modules/wcswidth (Depends-on): Likewise.
20845         * modules/wctob (Depends-on): Likewise.
20846         * modules/wctomb (Depends-on): Likewise.
20847         * modules/wctype (Depends-on): Likewise.
20848         * modules/wcwidth (Depends-on): Likewise.
20849         * modules/write (Depends-on): Likewise.
20850
20851 2011-05-03  Bruno Haible  <bruno@clisp.org>
20852
20853         Support for conditional dependencies.
20854         * doc/gnulib.texi (Module description): Document the syntax of
20855         conditional dependencies.
20856         * gnulib-tool: New option --conditional-dependencies.
20857         (func_usage): Document it.
20858         (cond_dependencies): New variable.
20859         (func_get_automake_snippet_conditional,
20860         func_get_automake_snippet_unconditional): New functions, extracted from
20861         func_get_automake_snippet.
20862         (func_get_automake_snippet): Use them.
20863         (sed_first_32_chars): New variable.
20864         (func_module_shellfunc_name): New function.
20865         (func_module_shellvar_name): New function.
20866         (func_module_conditional_name): New function.
20867         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
20868         func_cond_module_condition): New functions.
20869         (func_modules_transitive_closure): Add support for conditional
20870         dependencies.
20871         (func_emit_lib_Makefile_am): For a conditional module, enclose the
20872         conditional automake snippet in an automake conditional.
20873         (func_emit_autoconf_snippets): Emit shell functions that contain the
20874         code for conditional modules.
20875         (func_import, func_create_testdir): Update specification.
20876
20877 2011-05-03  Eric Blake  <eblake@redhat.com>
20878
20879         test-getaddrinfo: report error information
20880         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
20881
20882 2011-05-03  Jim Meyering  <meyering@redhat.com>
20883
20884         bootstrap: avoid build failure when $GZIP is set
20885         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
20886         program name.  If defined at all, it is supposed to list gzip options.
20887         Reported by Alan Curry in http://debbugs.gnu.org/8609
20888
20889 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
20890
20891         readme-release: new module with release instructions
20892         * modules/readme-release: New module.
20893         * top/README-release: New file, from coreutils, grep, diffutils.
20894         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20895
20896 2011-05-02  Eric Blake  <eblake@redhat.com>
20897
20898         fflush: also replace fclose when fixing fflush
20899         * modules/fflush (Depends-on): Add fclose.
20900         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
20901         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
20902         memstreams with no backing fd.
20903         * doc/posix-functions/fclose.texi (fclose): Document the use of
20904         fflush module to fix the bug.
20905         * tests/test-fclose.c (main): Relax test when fclose is used in
20906         isolation.
20907
20908         fclose: add some tests
20909         * modules/fclose-tests: New test module.
20910         * tests/test-fclose.c: New file.
20911         * doc/posix-functions/fclose.texi (fclose): Document the bug.
20912
20913         fclose: reduced dependencies
20914         * modules/fclose (Depends-on): Switch from fflush/fseeko to
20915         simpler lseek.
20916         * lib/fclose.c (rpl_fclose): Likewise.
20917         Reported by Simon Josefsson.
20918
20919         exit: drop remaining clients
20920         * modules/argmatch (Depends-on): Replace exit with stdlib.
20921         * modules/copy-file (Depends-on): Likewise.
20922         * modules/execute (Depends-on): Likewise.
20923         * modules/exitfail (Depends-on): Likewise.
20924         * modules/obstack (Depends-on): Likewise.
20925         * modules/pagealign_alloc (Depends-on): Likewise.
20926         * modules/pipe-filter-gi (Depends-on): Likewise.
20927         * modules/pipe-filter-ii (Depends-on): Likewise.
20928         * modules/savewd (Depends-on): Likewise.
20929         * modules/spawn-pipe (Depends-on): Likewise.
20930         * modules/wait-process (Depends-on): Likewise.
20931         * modules/xsetenv (Depends-on): Likewise.
20932         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20933         * modules/git-merge-changelog (Depends-on): Likewise.
20934         * modules/long-options (Depends-on): Likewise.
20935         * modules/pt_chown (Depends-on): Likewise.
20936         * modules/sysexits (Depends-on): Likewise.
20937
20938         freading: relax license from LGPLv3+ to LGPLv2+
20939         * modules/freading (License): Relax LGPL version.
20940
20941 2011-05-02  Bruno Haible  <bruno@clisp.org>
20942
20943         fchdir: Remove unused dependencies.
20944         * modules/fchdir (Depends-on): Remove include_next.
20945
20946 2011-05-02  Bruno Haible  <bruno@clisp.org>
20947
20948         gnulib-tool: Refactor.
20949         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
20950         from func_emit_autoconf_snippets.
20951         (func_emit_autoconf_snippets): Use it.
20952
20953 2011-05-02  Simon Josefsson  <simon@josefsson.org>
20954
20955         * NEWS: Document removal of 'exit'.
20956         * modules/exit: Remove file.
20957
20958 2011-05-01  Bruno Haible  <bruno@clisp.org>
20959
20960         Update DEPENDENCIES.
20961         * DEPENDENCIES (gettext): Recommend the newest release.
20962         Reported by Simon Josefsson.
20963
20964 2011-05-01  Bruno Haible  <bruno@clisp.org>
20965
20966         gnulib-tool: Reduce code duplication.
20967         * gnulib-tool (func_emit_autoconf_snippets): New function.
20968         (func_import, func_create_testdir): Use it.
20969
20970 2011-04-30  Eric Blake  <eblake@redhat.com>
20971
20972         fclose: don't fail on non-seekable input stream
20973         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
20974         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
20975         since fflush is allowed to fail in that case.
20976
20977 2011-04-30  Bruno Haible  <bruno@clisp.org>
20978
20979         dup3: cleanup
20980         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
20981
20982 2011-04-30  Bruno Haible  <bruno@clisp.org>
20983
20984         netdb: Make it work in C++ mode.
20985         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
20986         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
20987         module.
20988         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
20989         gl_MODULE_INDICATOR_FOR_TESTS.
20990         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
20991         * modules/netdb-c++-tests: New file.
20992         * tests/test-netdb-c++.cc: New file.
20993
20994 2011-04-30  Bruno Haible  <bruno@clisp.org>
20995
20996         New modules 'vfscanf', 'vscanf'.
20997         * modules/vfscanf: New file.
20998         * modules/vscanf: New file.
20999         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21000         here.
21001         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21002         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21003
21004 2011-04-30  Bruno Haible  <bruno@clisp.org>
21005
21006         passfd: Add comments.
21007         * lib/passfd.c: Add comments about platforms.
21008
21009 2011-04-30  Bruno Haible  <bruno@clisp.org>
21010
21011         sys_uio: Make <sys/uio.h> self-contained.
21012         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21013         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21014
21015 2011-04-30  Bruno Haible  <bruno@clisp.org>
21016
21017         sys_socket: Ensure 'struct iovec' definition.
21018         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21019         <sys/socket.h>.
21020         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21021
21022 2011-04-30  Bruno Haible  <bruno@clisp.org>
21023
21024         sys_uio: Protect definition of 'struct iovec'.
21025         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21026         it as a C struct.
21027
21028 2011-04-30  Bruno Haible  <bruno@clisp.org>
21029
21030         manywarnings: fix indentation
21031         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21032
21033 2011-04-30  Pádraig Brady <P@draigBrady.com>
21034
21035         manywarnings: add -Wno-missing-field-initializers if needed.
21036         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21037         option if it's needed to allow initialization with { 0, }
21038
21039 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21040
21041         announce-gen: cosmetic improvement
21042         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21043
21044 2011-04-29  Jim Meyering  <meyering@redhat.com>
21045
21046         vc-list-files: indent with spaces, not TABs
21047         * build-aux/vc-list-files: Convert leading TABs to spaces,
21048         to match the style of most other files in gnulib.
21049
21050         announce-gen: indent with spaces, not TABs
21051         * build-aux/announce-gen: Convert all TABs to spaces, to match
21052         the style of most other files in gnulib.
21053
21054 2011-04-29  Eric Blake  <eblake@redhat.com>
21055
21056         quotearg: avoid uninitialized variable use
21057         * lib/quotearg.c (quoting_options_from_style): Initialize
21058         remaining fields, and ensure that custom styles are only used via
21059         quoting_options rather than quoting_style.
21060
21061 2011-04-29  Jim Meyering  <meyering@redhat.com>
21062
21063         maint.mk: remove unused VC-tag variable
21064         * top/maint.mk (VC-tag): Remove unused variable.
21065
21066 2011-04-29  Bruno Haible  <bruno@clisp.org>
21067
21068         netdb: fix gai_strerror replacements
21069         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21070         * modules/netdb: Substitute it.
21071
21072 2011-04-29  Jim Meyering  <meyering@redhat.com>
21073
21074         test-getcwd.c: avoid new set-but-not-used warning
21075         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21076         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21077         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21078         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21079
21080         test-hash.c: avoid a new shadowing warning
21081         * tests/test-hash.c (main): Don't shadow "dup".
21082
21083 2011-04-28  Eric Blake  <eblake@redhat.com>
21084
21085         getaddrinfo: fix gai_strerror signature
21086         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21087         and work around mingw with UNICODE defined.
21088         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21089         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21090         * modules/netdb (Makefile.am): Substitute it.
21091         * lib/netdb.in.h (gai_strerror): Declare replacement.
21092         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21093         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21094         the fix.
21095
21096         getsockopt: avoid compiler warning
21097         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21098         Reported by Matthias Bolte.
21099
21100         tests: drop unused link dependency
21101         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21102         * modules/dirent-safer-tests (Makefile.am): Likewise.
21103         * modules/fdopendir-tests (Makefile.am): Likewise.
21104         * modules/mkfifoat-tests (Makefile.am): Likewise.
21105         * modules/openat-safer-tests (Makefile.am): Likewise.
21106         * modules/openat-tests (Makefile.am): Likewise.
21107         * modules/readlinkat-tests (Makefile.am): Likewise.
21108         * modules/symlinkat-tests (Makefile.am): Likewise.
21109         * modules/linkat-tests (Makefile.am): Likewise.
21110         (Depends-on): Switch to filenamecat-lgpl.
21111         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21112         LIBINTL.
21113         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21114         * tests/test-linkat.c (main): Don't require xalloc.
21115
21116         hash, mgetgroups: drop xalloc dependency
21117         * lib/hash.c (includes): Adjust includes.
21118         * lib/mgetgroups.c (includes): Likewise.
21119         (xgetgroups): Move...
21120         * lib/xgetgroups.c: ...to new file.
21121         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21122         * modules/xgetgroups: New file, split from...
21123         * modules/mgetgroups: ...here.
21124         (Depends-on): Add xalloc-oversized.
21125         * modules/hash (Depends-on): Likewise.
21126         * modules/hash-tests (Depends-on): Drop xalloc.
21127         (test_hash_LDADD): Drop unused library.
21128         * tests/test-hash.c (main): Break xalloc dependency.
21129         (includes): Drop unused include.
21130
21131         xalloc-oversized: new module
21132         * modules/xalloc-oversized: New module.
21133         * modules/xalloc (Depends-on): Add it.
21134         * lib/xalloc.h (xalloc_oversized): Move...
21135         * lib/xalloc-oversized.h: ...into new file.
21136
21137         utimecmp: drop dependency on xmalloc
21138         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21139         due to memory pressure.
21140         * modules/utimecmp (Depends-on): Drop xalloc.
21141
21142 2011-04-27  Eric Blake  <eblake@redhat.com>
21143
21144         getcwd: fix mingw bugs
21145         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21146         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21147         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21148
21149 2011-04-27  Bruno Haible  <bruno@clisp.org>
21150
21151         mkstemps: Ensure declaration on MacOS X 10.5.
21152         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21153         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21154         MacOS X.
21155
21156 2011-04-27  Bruno Haible  <bruno@clisp.org>
21157
21158         mkstemp: More documentation.
21159         * doc/posix-functions/mkstemp.texi: Document header file problem on
21160         MacOS X.
21161
21162 2011-04-27  Bruno Haible  <bruno@clisp.org>
21163
21164         mkstemp: Tweak configure message when cross-compiling.
21165         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21166         result as a guess.
21167
21168 2011-04-27  Bruno Haible  <bruno@clisp.org>
21169
21170         clean-temp: Clarify what it does.
21171         * lib/clean-temp.h: Add more comments.
21172         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21173         module.
21174         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21175         * doc/glibc-functions/mkstemps.texi: Likewise.
21176         * doc/glibc-functions/mkostemps.texi: Likewise.
21177
21178 2011-04-27  Eric Blake  <eblake@redhat.com>
21179
21180         fchdir: avoid extra chdir and fix test
21181         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21182         getcwd-lgpl.
21183         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21184         have to be canonical.
21185         (canonicalize_file_name): Drop unused macro.
21186         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21187
21188         filenamecat-lgpl: fix licence
21189         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21190         when it was first created.
21191
21192         linkat, renameat: add missing dependency
21193         * modules/linkat (Depends-on): Require getcwd-lgpl.
21194         * modules/renameat (Depends-on): Likewise.
21195
21196         tests: reduce dependencies
21197         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21198         * tests/test-renameat.c (main): Likewise.
21199         * modules/linkat-tests (Depends-on): Relax dependency.
21200         * modules/renameat-tests (Depends-on): Likewise.
21201         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21202         dependency explicit.
21203
21204         save-cwd: reduce default dependency
21205         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21206         * lib/save-cwd.c: Update comments.
21207         * NEWS: Document the semantic change.
21208
21209         getcwd: enhance tests
21210         * tests/test-getcwd-lgpl.c: New file, taken from...
21211         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21212         repeat long path stress tests from m4 probe.
21213         * modules/getcwd-lgpl-tests: New module.
21214         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21215         * m4/getcwd-abort-bug.m4: Update comment.
21216         * m4/getcwd-path-max.m4: Likewise.
21217
21218         getcwd-lgpl: new module
21219         * modules/getcwd-lgpl: New module.
21220         * lib/getcwd-lgpl.c: New file.
21221         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21222         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21223         * modules/getcwd (configure.ac): Set C witness.
21224         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21225
21226         getcwd: tweak comments
21227         * m4/getcwd-abort-bug.m4: Fix comments.
21228         * m4/getcwd-path-max.m4: Likewise.
21229         * m4/getcwd.m4: Likewise.
21230
21231 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21232         and Eric Blake  <eblake@redhat.com>
21233
21234         mkstemp: replace if system version uses wrong permissions
21235         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21236         read/write mode bits set in file created by mkstemp.
21237         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21238
21239 2011-04-27  Eric Blake  <eblake@redhat.com>
21240
21241         passfd: avoid compiler warning
21242         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21243         Reported by Laine Stump.
21244
21245 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21246
21247         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21248         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21249
21250 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21251         and Eric Blake  <eblake@redhat.com>
21252
21253         mkstemp: mention clean-temp module
21254         * lib/mkstemp.c: Add comment.
21255         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21256
21257 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21258
21259         inttypes: also provide default values for 32-bit tests
21260         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21261         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21262
21263 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21264
21265         strtoumax: remove dependency on strtoimax
21266         This is like the strtoull change of yesterday.
21267         * modules/strtoumax (Files): Add lib/strtoimax.c.
21268         (Depends-on): Remove strtoimax and add verify.
21269
21270         inttypes-incomplete: new module
21271         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21272         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21273         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21274         of gl_INTTYPES_H.
21275         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21276         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21277         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21278         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21279         * modules/strtoumax, modules/xstrtol (Depends-on):
21280         Depend on inttypes-incomplete, not inttypes.
21281         * modules/inttypes-incomplete: New module, containing the contents
21282         of the old modules/inttypes module, except that the Files: section
21283         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21284         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21285         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21286         (Depends-on): Depend only on inttypes-incomplete.
21287         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21288
21289         inttypes: omit now-redundant strtoimax and strtoumax work
21290         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21291         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21292
21293         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21294         This supports apps that need pointers to strtoimax and strtoumax,
21295         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21296         nonexistent functions.  See
21297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21298         et seq.
21299         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21300         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21301         a macro.
21302         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21303
21304 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21305
21306         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21307
21308 2011-04-25  Bruno Haible  <bruno@clisp.org>
21309
21310         strtol, strtoul: Mark modules as obsolete.
21311         * modules/strtol (Status, Notice): New sections.
21312         * modules/strtoul (Status, Notice): New sections.
21313
21314 2011-04-25  Bruno Haible  <bruno@clisp.org>
21315
21316         strtod: Remove check for strtod, unless supporting old platforms.
21317         * modules/strtod-obsolete: New file.
21318         * m4/strtod-obsolete.m4: New file.
21319         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21320         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21321         * modules/strtod (Depends-on): Add strtod-obsolete.
21322         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21323
21324 2011-04-25  Bruno Haible  <bruno@clisp.org>
21325
21326         strcase: Make module obsolete.
21327         * modules/strcase (Status, Notice): New sections.
21328
21329 2011-04-25  Bruno Haible  <bruno@clisp.org>
21330
21331         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21332         * modules/dup2-obsolete: New file.
21333         * m4/dup2-obsolete.m4: New file.
21334         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21335         gl_FUNC_DUP2_OBSOLETE is not also defined.
21336         * modules/dup2 (Depends-on): Add dup2-obsolete.
21337         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21338
21339 2011-04-25  Bruno Haible  <bruno@clisp.org>
21340
21341         strnlen: Avoid memchr related link error on old obsolete platforms.
21342         * modules/memchr-obsolete: New file.
21343         * m4/memchr-obsolete.m4: New file.
21344         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21345         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21346         * modules/memchr (Depends-on): Add memchr-obsolete.
21347         * modules/strnlen (Depends-on): Likewise.
21348         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21349
21350 2011-04-25  Jim Meyering  <meyering@redhat.com>
21351
21352         maint.mk: makefile_at_at_check extend and clean up
21353         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21354         in addition to */Makefile.am.
21355         Exempt legitimate uses of @VAR@ notation, e.g.,
21356         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21357         Remove obsolete coreutils-specific comment.
21358         Prompted by discussion here:
21359         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21360
21361 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21362
21363         strtoul: remove dependency on strtol
21364         This is so that 'configure' need not check for strtol merely because
21365         the application needs strtoul.
21366         * modules/strtoul (Files): Add lib/strtol.c.
21367         (Depends-on): Remove strtol.
21368
21369         strtoull: remove dependency on strtoul
21370         This is like the strtoll change.
21371         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21372         (Depends-on): Remove strtoul.
21373
21374         strtoll: remove dependency on strtol
21375         This is so that 'configure' need not check for strtol merely because
21376         the application needs strtoll.
21377         * modules/strtoll (Files): Add lib/strtol.c.
21378         (Depends-on): Remove strtol.
21379
21380 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21381
21382         inttypes: Move some configure check to module 'imaxdiv'.
21383         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21384         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21385         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21386
21387 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21388
21389         inttypes: Move some configure check to module 'imaxabs'.
21390         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21391         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21392         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21393
21394 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21395
21396         inttypes: Remove configure tests that are not needed since 2009-12-31.
21397         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21398         gl_cv_header_working_inttypes_h.
21399
21400 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21401
21402         * modules/strnlen (Depends-on): Remove memchr.
21403         The strnlen implementation doesn't need the memchr module's fixes; see
21404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21405
21406         strtol: remove dependency on wchar
21407         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21408         * modules/strtol (Depends-on): Remove wchar.
21409
21410 2011-04-21  Eric Blake  <eblake@redhat.com>
21411
21412         passfd: fix test regression on Linux
21413         * modules/passfd-tests (configure.ac): Correct socketpair check.
21414
21415         passfd: speed up configure and drop unused code
21416         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21417         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21418         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21419         Instead of probing at configure for unix_scm_rights_bsd44_way,
21420         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21421         check to a struct member probe.
21422         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21423         (sendfd, recvfd): Update preprocessor checks.
21424         * modules/passfd (Files): Reflect rename, and drop unused file.
21425         (Depends-on): Drop unused dependency.
21426
21427         passfd: allow compilation on mingw
21428         * modules/sys_socket (Depends-on): Add sys_uio.
21429         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21430         iovec and a minimal struct msghdr.
21431         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21432         * tests/test-sys_socket.c (main): Enhance test.
21433         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21434         guaranteed to provide what we need.
21435         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21436         * modules/passfd-tests (Depends-on): Add sys_wait.
21437         * tests/test-passfd.c (main): Skip test on mingw, for now.
21438         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21439         partial 'struct msghdr' implementation.
21440
21441         sys_uio: new module
21442         * modules/sys_uio: New module.
21443         * modules/sys_uio-tests: Likewise.
21444         * lib/sys_uio.in.h: New file.
21445         * m4/sys_uio_h.m4: Likewise.
21446         * tests/test-sys_uio.c: Likewise.
21447         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21448         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21449
21450 2011-04-20  Jim Meyering  <meyering@redhat.com>
21451
21452         useless-if-before-free: avoid false-positive
21453         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21454         disjunct so that it too requires a terminating ";".  Without that,
21455         this script would identify as useless one statement from gcc that
21456         was not:
21457           if (aligned_ptr)
21458             free (((void **) aligned_ptr) [-1]);
21459
21460 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21461
21462         doc: update users.txt.
21463         * users.txt: Add barcode.
21464
21465 2011-04-19  Bruno Haible  <bruno@clisp.org>
21466
21467         ioctl: Remove link dependency on native Windows.
21468         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21469         (gl_close_fn, gl_ioctl_fn): New types.
21470         (struct fd_hook): Renamed from struct close_hook. Change type of
21471         private_close_fn field. Add private_ioctl_fn field.
21472         (close_hook_fn): Add parameter for primary close method.
21473         (execute_close_hooks, execute_all_close_hooks): Likewise.
21474         (ioctl_hook_fn): New type.
21475         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21476         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21477         argument.
21478         (unregister_fd_hook): Renamed from unregister_close_hook.
21479         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21480         Don't include <unistd.h>.
21481         (close): Remove undef.
21482         (anchor): Update.
21483         (execute_close_hooks): Add argument for primary close method.
21484         (execute_all_close_hooks): Likewise.
21485         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21486         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21487         argument. Allow each argument to be NULL.
21488         (unregister_fd_hook): Renamed from unregister_close_hook.
21489         * lib/close.c (rpl_close): Pass 'close' function pointer to
21490         execute_all_close_hooks.
21491         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21492         (primary_ioctl): New function.
21493         (ioctl): Don't call ioctlsocket here. Instead, call
21494         execute_all_ioctl_hooks.
21495         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21496         close method.
21497         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21498         (fd_sockets_hook): Renamed from close_sockets_hook.
21499         (gl_sockets_startup, gl_sockets_cleanup): Update.
21500         * modules/fd-hook: Renamed from modules/close-hook. Update.
21501         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21502         * modules/sockets (Depends-on): Likewise.
21503         * modules/ioctl (Depends-on): Add fd-hook.
21504         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21505         GNULIB_SOCKET.
21506
21507 2011-04-19  Bruno Haible  <bruno@clisp.org>
21508
21509         Move the support of O_NONBLOCK in open() to the 'open' module.
21510         * modules/nonblocking (Depends-on): Remove 'open'.
21511         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21512         gl_cv_have_open_O_NONBLOCK.
21513         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21514         O_NONBLOCK support.
21515         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21516
21517 2011-04-17  Bruno Haible  <bruno@clisp.org>
21518
21519         pipe2: Simplify code.
21520         * lib/pipe2.c (pipe2): Reduce code duplication.
21521
21522 2011-04-17  Bruno Haible  <bruno@clisp.org>
21523
21524         nonblocking: Add comment.
21525         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21526
21527 2011-04-17  Bruno Haible  <bruno@clisp.org>
21528
21529         nonblocking: Add tests for sockets.
21530         * tests/test-nonblocking-socket.sh: New file.
21531         * tests/test-nonblocking-socket-main.c: New file.
21532         * tests/test-nonblocking-socket-child.c: New file.
21533         * tests/test-nonblocking-socket.h: New file.
21534         * tests/socket-server.h: New file.
21535         * tests/socket-client.h: New file.
21536         * modules/nonblocking-socket-tests: New file.
21537         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21538
21539 2011-04-17  Bruno Haible  <bruno@clisp.org>
21540
21541         nonblocking: Add tests for pipes.
21542         * tests/test-nonblocking-pipe.sh: New file.
21543         * tests/test-nonblocking-pipe-main.c: New file.
21544         * tests/test-nonblocking-pipe-child.c: New file.
21545         * tests/test-nonblocking-pipe.h: New file.
21546         * tests/test-nonblocking-writer.h: New file.
21547         * tests/test-nonblocking-reader.h: New file.
21548         * tests/test-nonblocking-misc.h: New file.
21549         * modules/nonblocking-pipe-tests: New file.
21550         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21551
21552 2011-04-16  Bruno Haible  <bruno@clisp.org>
21553
21554         gettext: Clarify the needed programmer actions.
21555         * modules/gettext (Notice): New field.
21556         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21557
21558 2011-04-16  Bruno Haible  <bruno@clisp.org>
21559
21560         strchrnul: Tweak last commit.
21561         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21562         bug.
21563         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21564         as in _GL_FUNCDECL_SYS.
21565         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21566         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21567
21568 2011-04-15  Eric Blake  <eblake@redhat.com>
21569
21570         strchrnul: work around cygwin bug
21571         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21572         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21573         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21574         * modules/string (Makefile.am): Substitute it.
21575         * lib/string.in.h (strchrnul): Use it.
21576
21577 2011-04-15  Bruno Haible  <bruno@clisp.org>
21578
21579         Don't require lib/stdio-write.c when only module 'stdio' is used.
21580         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21581         invocation.
21582         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21583
21584 2011-04-14  Bruno Haible  <bruno@clisp.org>
21585
21586         Support non-blocking pipe I/O in read() on native Windows.
21587         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21588         (read): New declaration.
21589         * lib/read.c: New file.
21590         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21591         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21592         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21593         vscanf): New declarations.
21594         * lib/stdio-read.c: New file.
21595         * m4/read.m4: New file.
21596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21597         REPLACE_READ.
21598         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21599         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21600         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21601         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21602         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21603         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21604         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21605         * modules/read: New file.
21606         * modules/nonblocking (Files): Add lib/stdio-read.c.
21607         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21608         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21609         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21610         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21611         * modules/pread (Depends-on): Add read.
21612         * modules/safe-read (Depends-on): Likewise.
21613         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21614         gets, scanf, vfscanf, vscanf): Verify signatures.
21615         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21616         problem with non-blocking pipes.
21617         * doc/posix-functions/fgetc.texi: Likewise.
21618         * doc/posix-functions/fgets.texi: Likewise.
21619         * doc/posix-functions/fread.texi: Likewise.
21620         * doc/posix-functions/fscanf.texi: Likewise.
21621         * doc/posix-functions/getc.texi: Likewise.
21622         * doc/posix-functions/getchar.texi: Likewise.
21623         * doc/posix-functions/gets.texi: Likewise.
21624         * doc/posix-functions/scanf.texi: Likewise.
21625         * doc/posix-functions/vfscanf.texi: Likewise.
21626         * doc/posix-functions/vscanf.texi: Likewise.
21627
21628 2011-04-14  Bruno Haible  <bruno@clisp.org>
21629
21630         Support non-blocking pipe I/O in write() on native Windows.
21631         * lib/write.c (rpl_write): Split a write request that failed merely
21632         because the byte count was larger than the pipe buffer's size.
21633         * doc/posix-functions/write.texi: Mention the problem with large byte
21634         counts.
21635
21636 2011-04-14  Bruno Haible  <bruno@clisp.org>
21637
21638         wchar: Ensure that wchar_t gets defined on uClibc.
21639         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21640         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21641
21642 2011-04-13  Bruno Haible  <bruno@clisp.org>
21643
21644         safe-write, full-read: Avoid unnecessary compilation units.
21645         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21646         (Depends-on): Remove safe-read. Add ssize_t.
21647         * modules/full-read (Files): Add lib/full-write.c.
21648         (Depends-on): Add full-write.
21649
21650 2011-04-13  Bruno Haible  <bruno@clisp.org>
21651
21652         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21653         * modules/pwrite (Depends-on): Add 'write'.
21654
21655 2011-04-13  Bruno Haible  <bruno@clisp.org>
21656
21657         Support non-blocking pipe I/O in write() on native Windows.
21658         * lib/unistd.in.h (write): Enable replacement also if
21659         GNULIB_UNISTD_H_NONBLOCKING is 1.
21660         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21661         (rpl_write): When failing to write on a non-blocking pipe, change
21662         errno from ENOSPC to EAGAIN.
21663         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21664         putchar, puts, vfprintf, vprintf): Enable replacement also if
21665         GNULIB_STDIO_H_NONBLOCKING is 1.
21666         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21667         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21668         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21669         CALL_WITH_SIGPIPE_EMULATION.
21670         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21671         * m4/nonblocking.m4: New file.
21672         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21673         for non-blocking I/O support.
21674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21675         GNULIB_UNISTD_H_NONBLOCKING.
21676         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21677         required for non-blocking I/O support.
21678         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21679         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21680         lib/stdio-write.c, m4/asm-underscore.m4.
21681         (Depends-on): Add stdio, unistd.
21682         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21683         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21684         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21685         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21686         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21687         problem with non-blocking pipes.
21688         * doc/posix-functions/fputc.texi: Likewise.
21689         * doc/posix-functions/fputs.texi: Likewise.
21690         * doc/posix-functions/fwrite.texi: Likewise.
21691         * doc/posix-functions/printf.texi: Likewise.
21692         * doc/posix-functions/putc.texi: Likewise.
21693         * doc/posix-functions/putchar.texi: Likewise.
21694         * doc/posix-functions/puts.texi: Likewise.
21695         * doc/posix-functions/vfprintf.texi: Likewise.
21696         * doc/posix-functions/vprintf.texi: Likewise.
21697         * doc/posix-functions/write.texi: Likewise.
21698
21699 2011-04-10  Jim Meyering  <meyering@redhat.com>
21700
21701         maint.mk: prohibit doubled words
21702         Detect them also when they're separated by a newline.
21703         There are 3 ways to customize it:
21704           - disable the test on a per file basis, as usual with rules using
21705             $(VC_LIST_EXCEPT)
21706           - replace the default doubled-word-selecting regexp (affects all files)
21707           - ignore a particular file-vs-doubled-word match
21708         I nearly used that last one to ignore the "is is" match in
21709         coreutils' NEWS file, since the text was "ls -is is ..."
21710         To do that, I would have added this line to cfg.mk:
21711           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21712         but it would have ignored any "is is" match in NEWS.
21713         Low probability, but still...
21714         Instead, I changed the text, slightly:
21715           -  ls -is is now consistent with ls -lis in ignoring values returned
21716           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21717         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21718         (prohibit_doubled_word_): Define.
21719         (sc_prohibit_doubled_word): New rule.
21720         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21721
21722 2011-04-10  Jim Meyering  <meyering@redhat.com>
21723
21724         maint: fix doubled-word typo in comment
21725         * m4/gethostname.m4: s/is is/it is/
21726         * m4/getdomainname.m4: Likewise.
21727
21728 2011-04-10  Jim Meyering  <meyering@redhat.com>
21729
21730         maint: remove doubled word: s/it it/it/
21731         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21732
21733 2011-04-10  Jim Meyering  <meyering@redhat.com>
21734
21735         maint.mk: remove useless semicolon and backslash
21736         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21737         semicolon and backslash.
21738
21739 2011-04-10  Bruno Haible  <bruno@clisp.org>
21740
21741         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21742         * modules/stdint-tests (Depends-on): Add wchar.
21743
21744 2011-04-10  Jim Meyering  <meyering@redhat.com>
21745
21746         maint: remove doubled words in comments, e.g., s/a a/a/
21747         * lib/strptime.c (day_of_the_week): s/the the/the/
21748         * tests/test-chown.h (test_chown): s/a a/a/
21749
21750         test-chown.h: correct a cast
21751         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21752         when the destination is a stat.st_gid.
21753
21754 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21755
21756         getaddrinfo: Fix test for sa_len member.
21757         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21758         include <sys/types.h> before <sys/socket.h>.
21759
21760 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21761
21762         maint: change "can not" to "cannot"
21763         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21764         boundaries.
21765
21766 2011-04-09  Jim Meyering  <meyering@redhat.com>
21767
21768         maint: change "a a" to "a"
21769         * tests/test-lchown.h (test_lchown): s/a a/a/
21770
21771         maint.mk: prohibit \<the the\>
21772         * top/maint.mk (sc_prohibit_the_the): New rule.
21773
21774         maint: fix "the the" in comment
21775         * lib/count-one-bits.h: s/the the/the/
21776
21777         maint: change "can not" to "cannot"
21778         But do not change the occurrences in maintain.texi or in
21779         build-aux/po/Makefile.in.in, which I presume comes from gettext.
21780         * doc/gnulib-tool.texi: s/can not/cannot/
21781         * doc/posix-functions/accept.texi (accept): Likewise.
21782         * doc/posix-functions/socket.texi (socket): Likewise.
21783         * lib/mbrtowc.c: Likewise.
21784
21785         maint.mk: prohibit use of "can not"
21786         * top/maint.mk (sc_prohibit_can_not): New rule.
21787         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
21788
21789 2011-04-09  Bruno Haible  <bruno@clisp.org>
21790
21791         careadlinkat: Guard against misuse of careadlinkatcwd.
21792         * lib/careadlinkat.c: Include <stdlib.h>.
21793         (careadlinkatcwd): Check that the fd argument is as expected.
21794
21795 2011-04-09  Bruno Haible  <bruno@clisp.org>
21796
21797         careadlinkat: Use common coding style.
21798         * lib/careadlinkat.c: Move gnulib includes after system includes.
21799
21800 2011-04-09  Bruno Haible  <bruno@clisp.org>
21801
21802         careadlinkat: Clarify specification.
21803         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
21804         (careadlinkatcwd): Add comment.
21805         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
21806
21807 2011-04-09  Bruno Haible  <bruno@clisp.org>
21808
21809         areadlinkat: Avoid link error on many platforms.
21810         * modules/areadlinkat (Depends-on): Add areadlink.
21811
21812 2011-04-09  Bruno Haible  <bruno@clisp.org>
21813
21814         allocator, careadlinkat: Fix double-inclusion guard.
21815         * lib/allocator.h: Fix double-inclusion guard.
21816         * lib/careadlinkat.h: Likewise.
21817
21818 2011-04-09  Bruno Haible  <bruno@clisp.org>
21819
21820         relocatable-prog-wrapper: Update after module 'areadlink' changed.
21821         * lib/relocwrapper.c: Update dependencies hierarchy.
21822         * build-aux/install-reloc: Update list of files to be compiled.
21823         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
21824         lib/allocator.[hc].
21825
21826 2011-04-08  Eric Blake  <eblake@redhat.com>
21827
21828         strftime: silence gnulib-tool warning
21829         * modules/strftime-tests (Depends-on): Drop automatic dependency.
21830
21831 2011-04-08  Bruno Haible  <bruno@clisp.org>
21832
21833         verify: Fix syntax error with GCC 4.6 in C++ mode.
21834         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
21835         (HAVE_STATIC_ASSERT): New macro.
21836         (verify_true, verify): Use 'static_assert' if it is supported and
21837         '_Static_assert' is not supported.
21838
21839 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
21840
21841         allocator: New module.
21842         * modules/allocator, lib/allocator.c: New files.
21843         * lib/allocator.h (stdlib_allocator): New decl.
21844         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
21845         Remove.  Do not include <stdlib.h>.
21846         (careadlinkat): Use stdlib_allocator instead of rolling our own.
21847         * modules/careadlinkat (Files): Remove lib/allocator.h.
21848         (Depends-on): Add allocator.
21849
21850         stdlib: let modules use system malloc, realloc
21851         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
21852         if !_GL_USE_STDLIB_ALLOC.
21853         (malloc, realloc): Limit this change to a smaller scope.
21854
21855         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
21856         (malloc, realloc): Don't #undef; no longer needed.
21857         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21858         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21859         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21860         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21861         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21862         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21863         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21864         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21865
21866         careadlinkat: rename members to avoid problem
21867         * lib/allocator.h (struct allocator): Rename members from
21868         malloc/realloc to allocate/reallocate, to avoid problems if malloc
21869         and realloc are #define'd.  Reported by Eric Blake in
21870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
21871         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
21872
21873 2011-04-08  Eric Blake  <eblake@redhat.com>
21874
21875         nonblocking: reduce dependency
21876         * tests/test-nonblocking.c: Only test sockets when in use.
21877         * modules/nonblocking-tests (Depends-on): Drop socket.
21878         (Makefile.am): Link even if sockets are not present.
21879         * modules/pipe2-tests (Makefile.am): Likewise.
21880         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
21881
21882         pipe2: fix O_NONBLOCK support on mingw
21883         * modules/pipe2 (Depends-on): Add nonblocking.
21884         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
21885         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
21886         * tests/test-nonblocking.c (main): Likewise.
21887         * modules/pipe2-tests (Makefile.am): Avoid link failure.
21888
21889         fcntl-h: fix O_ACCMODE on cygwin
21890         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
21891         * lib/fcntl.in.h (O_ACCMODE): Fix it.
21892
21893         pipe-filter: drop O_NONBLOCK workarounds
21894         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
21895         * modules/pipe-filter-ii (Depends-on): Likewise.
21896         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
21897
21898         nonblocking: provide O_NONBLOCK for mingw
21899         * modules/nonblocking (Depends-on): Add open.
21900         (configure.ac): Set new witness macro.
21901         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
21902         * modules/fcntl-h (Makefile.am): Substitute it.
21903         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
21904         nonblocking module is in use.
21905         * lib/nonblocking.c: Adjust portability test.
21906         * lib/open.c (open): Don't let native open see gnulib flag.
21907         * tests/test-fcntl-h.c (main): Enhance test.
21908         * tests/test-open.h (test_open): Likewise.
21909         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
21910
21911         careadlinkat: fix compilation error on mingw
21912         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
21913         within struct allocator.
21914
21915 2011-04-06  Eric Blake  <eblake@redhat.com>
21916
21917         binary-io: relicense under LGPLv2+
21918         * modules/binary-io (License): Relax to LGPLv2+.
21919         Requested for libvirt, and required by pipe2.
21920
21921 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
21922
21923         verify: use _Static_assert if available
21924         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
21925         (verify_true, verify): Use it if available.  This generates better
21926         diagnostics with GCC 4.6.0 and later.
21927
21928 2011-04-05  Bruno Haible  <bruno@clisp.org>
21929
21930         Remove leftover generated .h files after config.status changed.
21931
21932         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21933         GL_GENERATE_ALLOCA_H.
21934         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21935         GL_GENERATE_ALLOCA_H evaluates to false.
21936
21937         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21938         GL_GENERATE_ARGZ_H.
21939         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21940         evaluates to false.
21941
21942         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
21943         GL_GENERATE_BYTESWAP_H.
21944         * modules/byteswap (Makefile.am): Remove byteswap.h if
21945         GL_GENERATE_BYTESWAP_H evaluates to false.
21946
21947         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
21948         GL_GENERATE_ERRNO_H.
21949         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
21950         evaluates to false.
21951
21952         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
21953         GL_GENERATE_FLOAT_H.
21954         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
21955         evaluates to false.
21956
21957         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
21958         GL_GENERATE_FNMATCH_H.
21959         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
21960         GL_GENERATE_FNMATCH_H evaluates to false.
21961
21962         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
21963         GL_GENERATE_GLOB_H.
21964         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
21965         evaluates to false.
21966
21967         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
21968         automake conditional GL_GENERATE_ICONV_H.
21969         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
21970         evaluates to false.
21971
21972         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
21973         GL_GENERATE_NETINET_IN_H.
21974         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
21975         GL_GENERATE_NETINET_IN_H evaluates to false.
21976
21977         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
21978         conditional GL_GENERATE_PTHREAD_H.
21979         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
21980         * modules/pthread (Makefile.am): Remove pthread.h if
21981         GL_GENERATE_PTHREAD_H evaluates to false.
21982
21983         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
21984         GL_GENERATE_SCHED_H.
21985         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
21986         evaluates to false.
21987
21988         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
21989         conditional GL_GENERATE_SELINUX_CONTEXT_H.
21990         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
21991         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
21992
21993         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
21994         GL_GENERATE_STDARG_H.
21995         * modules/stdarg (Makefile.am): Remove stdarg.h if
21996         GL_GENERATE_STDARG_H evaluates to false.
21997
21998         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
21999         GL_GENERATE_STDBOOL_H.
22000         * modules/stdbool (Makefile.am): Remove stdbool.h if
22001         GL_GENERATE_STDBOOL_H evaluates to false.
22002
22003         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22004         conditional GL_GENERATE_STDDEF_H.
22005         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22006         * modules/stddef (Makefile.am): Remove stddef.h if
22007         GL_GENERATE_STDDEF_H evaluates to false.
22008
22009         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22010         GL_GENERATE_STDINT_H.
22011         * modules/stdint (Makefile.am): Remove stdint.h if
22012         GL_GENERATE_STDINT_H evaluates to false.
22013
22014         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22015         GL_GENERATE_SYSEXITS_H.
22016         * modules/sysexits (Makefile.am): Remove sysexits.h if
22017         GL_GENERATE_SYSEXITS_H evaluates to false.
22018
22019         Reported by Karl Berry and Ralf Wildenhues.
22020
22021 2011-04-05  Bruno Haible  <bruno@clisp.org>
22022
22023         Ensure to rebuild generated .h files when config.status has changed.
22024         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22025         config.status.
22026         * modules/ctype (Makefile.am): Likewise.
22027         * modules/dirent (Makefile.am): Likewise.
22028         * modules/errno (Makefile.am): Likewise.
22029         * modules/fcntl-h (Makefile.am): Likewise.
22030         * modules/float (Makefile.am): Likewise.
22031         * modules/getopt-posix (Makefile.am): Likewise.
22032         * modules/glob (Makefile.am): Likewise.
22033         * modules/iconv-h (Makefile.am): Likewise.
22034         * modules/inttypes (Makefile.am): Likewise.
22035         * modules/langinfo (Makefile.am): Likewise.
22036         * modules/locale (Makefile.am): Likewise.
22037         * modules/math (Makefile.am): Likewise.
22038         * modules/netdb (Makefile.am): Likewise.
22039         * modules/netinet_in (Makefile.am): Likewise.
22040         * modules/poll-h (Makefile.am): Likewise.
22041         * modules/pthread (Makefile.am): Likewise.
22042         * modules/pty (Makefile.am): Likewise.
22043         * modules/sched (Makefile.am): Likewise.
22044         * modules/search (Makefile.am): Likewise.
22045         * modules/selinux-h (Makefile.am): Likewise.
22046         * modules/signal (Makefile.am): Likewise.
22047         * modules/spawn (Makefile.am): Likewise.
22048         * modules/stdarg (Makefile.am): Likewise.
22049         * modules/stdbool (Makefile.am): Likewise.
22050         * modules/stddef (Makefile.am): Likewise.
22051         * modules/stdint (Makefile.am): Likewise.
22052         * modules/stdio (Makefile.am): Likewise.
22053         * modules/stdlib (Makefile.am): Likewise.
22054         * modules/string (Makefile.am): Likewise.
22055         * modules/strings (Makefile.am): Likewise.
22056         * modules/sys_file (Makefile.am): Likewise.
22057         * modules/sys_ioctl (Makefile.am): Likewise.
22058         * modules/sys_select (Makefile.am): Likewise.
22059         * modules/sys_socket (Makefile.am): Likewise.
22060         * modules/sys_stat (Makefile.am): Likewise.
22061         * modules/sys_time (Makefile.am): Likewise.
22062         * modules/sys_times (Makefile.am): Likewise.
22063         * modules/sys_utsname (Makefile.am): Likewise.
22064         * modules/sys_wait (Makefile.am): Likewise.
22065         * modules/sysexits (Makefile.am): Likewise.
22066         * modules/termios (Makefile.am): Likewise.
22067         * modules/time (Makefile.am): Likewise.
22068         * modules/unistd (Makefile.am): Likewise.
22069         * modules/wchar (Makefile.am): Likewise.
22070         * modules/wctype-h (Makefile.am): Likewise.
22071         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22072
22073 2011-04-05  Bruno Haible  <bruno@clisp.org>
22074
22075         pipe2: Relicense under LGPLv2+.
22076         * modules/pipe2 (License): Change to LGPLv2+.
22077         Requested by Eric Blake, for libvirt.
22078
22079 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22080
22081         bootstrap: compute gnulib_extra_files after updating build_aux
22082         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22083         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22084
22085 2011-04-05  Eric Blake  <eblake@redhat.com>
22086
22087         bootstrap: preserve git whitelist item sorting
22088         * build-aux/bootstrap (sort_patterns): New function.
22089         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22090
22091 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22092
22093         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22094         sc_space_tab check.
22095
22096 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22097
22098         areadlink, areadlinkat: rewrite in terms of careadlinkat
22099         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22100         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22101         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22102         (malloc, realloc): Remove #undefs.
22103         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22104         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22105         readlink, ssize_t, stdint, unistd.
22106         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22107         areadlink, stdint.
22108
22109         careadlinkat: new module
22110         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22111         * modules/careadlinkat: New files, written by me with
22112         a review and feedback from Ben Pfaff in
22113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22114
22115 2011-04-01  Bruno Haible  <bruno@clisp.org>
22116
22117         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22118         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22119         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22120         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22121         Reported by Bruce Korb <bruce.korb@gmail.com>.
22122
22123 2011-04-01  Bruno Haible  <bruno@clisp.org>
22124
22125         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22126         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22127         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22128         * modules/wcpcpy (Depends-on): Add extensions.
22129         * modules/wcpncpy (Depends-on): Likewise.
22130         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22131         systems.
22132         * doc/posix-functions/wcpncpy.texi: Likewise.
22133         * doc/posix-functions/wcwidth.texi: Likewise.
22134
22135 2011-03-31  Eric Blake  <eblake@redhat.com>
22136
22137         nonblocking: fix mingw test failures
22138         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22139         non-blocking flag on regular file.
22140         (get_nonblocking_flag): Set errno on invalid fd.
22141         * tests/test-nonblocking.c (main): Avoid test failure on
22142         directories if fchdir is not active.
22143         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22144
22145 2011-03-31  Bruno Haible  <bruno@clisp.org>
22146
22147         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22148         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22149         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22150         Reported by Simon Josefsson <simon@josefsson.org>.
22151
22152 2011-03-31  Bruno Haible  <bruno@clisp.org>
22153         and Eric Blake  <eblake@redhat.com>
22154
22155         nonblocking: new module
22156         * modules/nonblocking: New module.
22157         * modules/nonblocking-tests: Likewise.
22158         * lib/nonblocking.h: New file.
22159         * lib/nonblocking.c: Likewise.
22160         * tests/test-nonblocking.c: New test.
22161         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22162
22163 2011-03-30  Bruno Haible  <bruno@clisp.org>
22164
22165         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22166         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22167         instead of 'printf' format for GCC >= 4.4.
22168         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22169         (fprintf, printf, vfprintf, vprintf): Declare with
22170         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22171         the system's vfprintf() function.
22172         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22173
22174 2011-03-30  Eric Blake  <eblake@redhat.com>
22175
22176         passfd: fix scoping bug
22177         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22178         before sendmsg/recvmsg.
22179
22180         passfd: standardize coding conventions
22181         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22182         can be learned at compile time.
22183         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22184         ifdefs.
22185         (sendfd, recvfd): Follow gnulib code conventions.
22186
22187         passfd: fix incorrect sendmsg arguments
22188         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22189         incorrect msg_controllen value.
22190         * modules/passfd-tests (Depends-on): Check for alarm.
22191         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22192         Reported by Bastien ROUCARIES.
22193
22194 2011-03-30  Bruno Haible  <bruno@clisp.org>
22195
22196         c-strcasestr: Relicense under LGPLv2+.
22197         * modules/c-strcasestr (License): Change to LGPLv2+.
22198         Requested by Eric Blake, for libvirt.
22199
22200 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22201
22202         * users.txt: Add libidn2.  Fix libtasn1 link.
22203
22204 2011-03-30  Jim Meyering  <meyering@redhat.com>
22205
22206         tests: readlink* ("",... fails with EINVAL on newer kernels
22207         readlink and readlinkat have typically failed with ENOENT for
22208         the invalid, empty file name,  "".  However, with the advent
22209         of linux-2.6.39, they fail with EINVAL.
22210         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22211         when operating on the empty file name.
22212         * tests/test-readlink.h (test_readlink): Likewise.
22213
22214 2011-03-29  Bruno Haible  <bruno@clisp.org>
22215
22216         Relicense some modules under LGPLv2+, for libidn2.
22217         * modules/array-mergesort (License): Change to LGPLv2+.
22218         * modules/c-strcaseeq (License): Likewise.
22219         * modules/striconveh (License): Likewise.
22220         * modules/striconveha (License): Likewise.
22221         * modules/uniconv/base (License): Likewise.
22222         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22223         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22224         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22225         * modules/unictype/base (License): Likewise.
22226         * modules/unictype/bidiclass-of (License): Likewise.
22227         * modules/unictype/category-M (License): Likewise.
22228         * modules/unictype/category-none (License): Likewise.
22229         * modules/unictype/category-of (License): Likewise.
22230         * modules/unictype/category-test (License): Likewise.
22231         * modules/unictype/category-test-withtable (License): Likewise.
22232         * modules/unictype/combining-class (License): Likewise.
22233         * modules/unictype/joiningtype-of (License): Likewise.
22234         * modules/unictype/scripts (License): Likewise.
22235         * modules/uninorm/base (License): Likewise.
22236         * modules/uninorm/canonical-decomposition (License): Likewise.
22237         * modules/uninorm/composition (License): Likewise.
22238         * modules/uninorm/decompose-internal (License): Likewise.
22239         * modules/uninorm/decomposition-table (License): Likewise.
22240         * modules/uninorm/nfc (License): Likewise.
22241         * modules/uninorm/nfd (License): Likewise.
22242         * modules/uninorm/u32-normalize (License): Likewise.
22243         * modules/unistr/base (License): Likewise.
22244         * modules/unistr/u32-cpy (License): Likewise.
22245         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22246         * modules/unistr/u32-to-u8 (License): Likewise.
22247         * modules/unistr/u32-uctomb (License): Likewise.
22248         * modules/unistr/u8-check (License): Likewise.
22249         * modules/unistr/u8-mblen (License): Likewise.
22250         * modules/unistr/u8-mbtouc (License): Likewise.
22251         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22252         * modules/unistr/u8-mbtoucr (License): Likewise.
22253         * modules/unistr/u8-prev (License): Likewise.
22254         * modules/unistr/u8-strlen (License): Likewise.
22255         * modules/unistr/u8-to-u32 (License): Likewise.
22256         * modules/unistr/u8-uctomb (License): Likewise.
22257         * modules/unitypes (License): Likewise.
22258         Requested by Simon Josefsson.
22259
22260 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22261
22262         lib-symbol-visibility: Add a notice.
22263         * modules/lib-symbol-visibility (Notice): New field.
22264
22265 2011-03-29  Bruno Haible  <bruno@clisp.org>
22266
22267         getaddrinfo: Doc fix.
22268         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22269         section "fixed in Gnulib".
22270
22271 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22272
22273         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22274         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22275
22276 2011-03-26  Bruno Haible  <bruno@clisp.org>
22277
22278         unictype/property-byname: Reduce the number of load-time relocations.
22279         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22280         (UC_PROPERTY_INDEX_*): New enumeration values.
22281         (uc_property_byname): Convert an index from the lookup table to an
22282         uc_property_t.
22283         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22284         values.
22285
22286 2011-03-26  Bruno Haible  <bruno@clisp.org>
22287
22288         unictype/property-byname: Allow omitted word separators and aliases.
22289         * lib/unictype/pr_byname.gperf: Add property names without word
22290         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22291         for 'space'.
22292
22293 2011-03-26  Bruno Haible  <bruno@clisp.org>
22294
22295         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22296         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22297         also hyphens to space.
22298         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22299         without spaces.
22300         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22301
22302 2011-03-26  Bruno Haible  <bruno@clisp.org>
22303
22304         unictype/joiningtype-byname: Recognize long names as well.
22305         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22306         a long name.
22307         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22308         unictype/joiningtype_byname.h.
22309         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22310         * lib/unictype/joiningtype_byname.gperf: New file.
22311         * modules/unictype/joiningtype-byname (Files): Add
22312         lib/unictype/joiningtype_byname.gperf.
22313         (Depends-on): Add gperf.
22314         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22315         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22316         long names.
22317
22318         Tests for module 'unictype/joiningtype-longname'.
22319         * modules/unictype/joiningtype-longname-tests: New file.
22320         * tests/unictype/test-joiningtype_longname.c: New file.
22321
22322         New module 'unictype/joiningtype-longname'.
22323         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22324         * lib/unictype/joiningtype_longname.c: New file.
22325         * modules/unictype/joiningtype-longname: New file.
22326         * modules/unictype/joiningtype-all (Depends-on): Add
22327         unictype/joiningtype-longname.
22328
22329 2011-03-26  Bruno Haible  <bruno@clisp.org>
22330
22331         unictype/bidiclass-byname: Recognize long names as well.
22332         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22333         name.
22334         * lib/unictype/bidi_byname.c: Include <string.h>,
22335         unictype/bidi_byname.h.
22336         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22337         * lib/unictype/bidi_byname.gperf: New file.
22338         * modules/unictype/bidiclass-byname (Files): Add
22339         lib/unictype/bidi_byname.gperf.
22340         (Depends-on): Add gperf.
22341         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22342         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22343         long names.
22344
22345         Tests for module 'unictype/bidiclass-longname'.
22346         * modules/unictype/bidiclass-longname-tests: New file.
22347         * tests/unictype/test-bidi_longname.c: New file.
22348
22349         New module 'unictype/bidiclass-longname'.
22350         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22351         * lib/unictype/bidi_longname.c: New file.
22352         * modules/unictype/bidiclass-longname: New file.
22353         * modules/unictype/bidiclass-all (Depends-on): Add
22354         unictype/bidiclass-longname.
22355
22356 2011-03-26  Bruno Haible  <bruno@clisp.org>
22357
22358         unictype/bidi*: Rename modules.
22359         * modules/unictype/bidiclass-all: Renamed from
22360         modules/unictype/bidicategory-all.
22361         * modules/unictype/bidiclass-name: Renamed from
22362         modules/unictype/bidiclass-name.
22363         (Description): Update.
22364         * modules/unictype/bidiclass-name-tests: Renamed from
22365         modules/unictype/bidicategory-name-tests.
22366         * modules/unictype/bidiclass-byname: Renamed from
22367         modules/unictype/bidicategory-byname.
22368         (Description): Update.
22369         * modules/unictype/bidiclass-byname-tests: Renamed from
22370         modules/unictype/bidicategory-byname-tests.
22371         * modules/unictype/bidiclass-of: Renamed from
22372         modules/unictype/bidicategory-of.
22373         (Description): Update.
22374         * modules/unictype/bidiclass-of-tests: Renamed from
22375         modules/unictype/bidicategory-of-tests.
22376         * modules/unictype/bidiclass-test: Renamed from
22377         modules/unictype/bidicategory-test.
22378         (Description): Update.
22379         * modules/unictype/bidiclass-test-tests: Renamed from
22380         modules/unictype/bidicategory-test-tests.
22381         * modules/unictype/bidicategory-all: New file, a simple redirection.
22382         * modules/unictype/bidicategory-name: Likewise.
22383         * modules/unictype/bidicategory-byname: Likewise.
22384         * modules/unictype/bidicategory-of: Likewise.
22385         * modules/unictype/bidicategory-test: Likewise.
22386         * modules/unictype/property-bidi-* (Dependencies): Update.
22387         * lib/unictype/bidi_*.c: Update comment.
22388
22389 2011-03-26  Bruno Haible  <bruno@clisp.org>
22390
22391         unictype/bidi*: Rename functions, part 2.
22392         * modules/unictype/bidicategory-name (configure.ac): Update required
22393         libunistring version.
22394         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22395
22396 2011-03-25  Bruno Haible  <bruno@clisp.org>
22397
22398         New module 'unictype/combining-class-all'.
22399         * modules/unictype/combining-class-all: New file.
22400
22401         Tests for module 'unictype/combining-class-byname'.
22402         * modules/unictype/combining-class-byname-tests: New file.
22403         * tests/unictype/test-combiningclass_byname.c: New file.
22404
22405         New module 'unictype/combining-class-byname'.
22406         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22407         * lib/unictype/combiningclass_byname.c: New file.
22408         * lib/unictype/combiningclass_byname.gperf: New file.
22409         * modules/unictype/combining-class-byname: New file.
22410
22411         Tests for module 'unictype/combining-class-longname'.
22412         * modules/unictype/combining-class-longname-tests: New file.
22413         * tests/unictype/test-combiningclass_longname.c: New file.
22414
22415         New module 'unictype/combining-class-longname'.
22416         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22417         * lib/unictype/combiningclass_longname.c: New file.
22418         * modules/unictype/combining-class-longname: New file.
22419
22420         Tests for module 'unictype/combining-class-name'.
22421         * modules/unictype/combining-class-name-tests: New file.
22422         * tests/unictype/test-combiningclass_name.c: New file.
22423
22424         New module 'unictype/combining-class-name'.
22425         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22426         * lib/unictype/combiningclass_name.c: New file.
22427         * modules/unictype/combining-class-name: New file.
22428
22429 2011-03-25  Bruno Haible  <bruno@clisp.org>
22430
22431         unictype/combining-class: Rename source files.
22432         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22433         of unictype/combining.h.
22434         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22435         Update.
22436         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22437         * modules/unictype/combining-class (Description): Fix.
22438         (Files, Makefile.am): Update.
22439         * tests/unictype/test-combiningclass.c: Renamed from
22440         tests/unictype/test-combining.c.
22441         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22442
22443 2011-03-25  Bruno Haible  <bruno@clisp.org>
22444
22445         unictype: Update list of canonical combining classes.
22446         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22447
22448 2011-03-25  Bruno Haible  <bruno@clisp.org>
22449
22450         unictype/category-byname: Recognize long names as well.
22451         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22452         a long name.
22453         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22454         unictype/categ_byname.h.
22455         (UC_CATEGORY_INDEX_*): New enumeration values.
22456         (uc_general_category_byname): Use uc_general_category_lookup and
22457         convert from index to value.
22458         * lib/unictype/categ_byname.gperf: New file.
22459         * modules/unictype/category-byname (Files): Add
22460         lib/unictype/categ_byname.gperf.
22461         (Depends-on): Add gperf.
22462         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22463         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22464         long names.
22465
22466         Tests for module 'unictype/category-longname'.
22467         * modules/unictype/category-longname-tests: New file.
22468         * tests/unictype/test-categ_longname.c: New file.
22469
22470         New module 'unictype/category-longname'.
22471         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22472         * lib/unictype/categ_longname.c: New file.
22473         * modules/unictype/category-longname: New file.
22474         * modules/unictype/category-all (Depends-on): Add it.
22475
22476 2011-03-25  Bruno Haible  <bruno@clisp.org>
22477
22478         Tests for module 'unictype/category-LC'.
22479         * modules/unictype/category-LC-tests: New file.
22480         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22481
22482         New module 'unictype/category-LC'.
22483         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22484         (UC_CATEGORY_LC): New declaration.
22485         (UC_CASED_LETTER): New macro.
22486         * lib/gen-uni-tables.c (is_category_LC): New function.
22487         (output_categories): Also handle category LC.
22488         (UC_CATEGORY_MASK_LC): New enumeration value.
22489         (general_category_byname): Also handle category LC.
22490         * lib/unictype/categ_LC.c: New file.
22491         * lib/unictype/categ_LC.h: New file, automatically generated.
22492         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22493         category LC.
22494         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22495         * modules/unictype/category-LC: New file.
22496         * modules/unictype/category-byname (Depends-on): Add
22497         unictype/category-LC.
22498         * modules/unictype/category-all (Depends-on): Likewise.
22499
22500 2011-03-25  Eric Blake  <eblake@redhat.com>
22501
22502         xmalloc: revert yesterday's regression
22503         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22504         realloc's underlying behavior (allowing allocation of zero-size
22505         objects, especially if malloc-gnu is also in use).
22506
22507 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22508
22509         maint.mk: add missing version to VC-tag
22510         * top/maint.mk: git tag was missing actual tag name; add it.
22511
22512         valgrind: do leak checking, and exit with code 1 on error (not 0)
22513         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22514         to VALGRIND.
22515
22516 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22517
22518         posix-modules: say what it does.
22519         * posix-modules: Add a line to the --help output saying what it does.
22520
22521 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22522
22523         xmalloc: Do not leak if underlying realloc is C99 compatible.
22524         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22525         This avoids a leak on C99-based systems.  See
22526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22527
22528 2011-03-24  Eric Blake  <eblake@redhat.com>
22529
22530         realloc: document portability problem
22531         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22532         passing 0 size to realloc.
22533
22534 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22535
22536         doc: update users.txt
22537         * users.txt: Add cvsps, tmpwatch
22538
22539 2011-03-23  Matt Rice  <ratmice@gmail.com>
22540
22541         doc: update users.txt
22542         * users.txt: Add gdb.
22543
22544 2011-03-23  Jim Meyering  <meyering@redhat.com>
22545
22546         doc: update users.txt
22547         Looking through matches up to the following URL (there are still
22548         several more pages), I found several projects that use gnulib:
22549         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22550         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22551         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22552
22553 2011-03-22  Bruno Haible  <bruno@clisp.org>
22554
22555         unictype/bidi*: Rename functions.
22556         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22557         uc_bidi_class, uc_is_bidi_class): New declarations.
22558         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22559         uc_bidi_category_byname.
22560         (uc_bidi_category_byname): New function.
22561         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22562         u_bidi_category_name.
22563         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22564         (uc_bidi_category_name): New function.
22565         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22566         uc_bidi_category.
22567         (uc_bidi_category): New function.
22568         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22569         uc_is_bidi_category. Invoke uc_bidi_class.
22570         (uc_is_bidi_category): New function.
22571         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22572         instead of uc_bidi_category_byname.
22573         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22574         instead of uc_bidi_category_name.
22575         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22576         uc_bidi_category.
22577         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22578         instead of uc_is_bidi_category.
22579
22580 2011-03-21  Bruno Haible  <bruno@clisp.org>
22581
22582         New module 'unictype/joininggroup-all'.
22583         * modules/unictype/joininggroup-all: New file.
22584
22585         Tests for module 'unictype/joininggroup-of'.
22586         * modules/unictype/joininggroup-of-tests: New file.
22587         * tests/unictype/test-joininggroup_of.c: New file.
22588         * tests/unictype/test-joininggroup_of.h: New file, automatically
22589         generated by gen-uni-tables.
22590
22591         New module 'unictype/joininggroup-of'.
22592         * modules/unictype/joininggroup-of: New file.
22593         * lib/unictype/joininggroup_of.c: New file.
22594         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22595         gen-uni-tables.
22596
22597         Tests for module 'unictype/joininggroup-byname'.
22598         * modules/unictype/joininggroup-byname-tests: New file.
22599         * tests/unictype/test-joininggroup_byname.c: New file.
22600
22601         New module 'unictype/joininggroup-byname'.
22602         * modules/unictype/joininggroup-byname: New file.
22603         * lib/unictype/joininggroup_byname.c: New file.
22604         * lib/unictype/joininggroup_byname.gperf: New file.
22605
22606         Tests for module 'unictype/joininggroup-name'.
22607         * modules/unictype/joininggroup-name-tests: New file.
22608         * tests/unictype/test-joininggroup_name.c: New file.
22609
22610         New module 'unictype/joininggroup-name'.
22611         * modules/unictype/joininggroup-name: New file.
22612         * lib/unictype/joininggroup_name.c: New file.
22613         * lib/unictype/joininggroup_name.h: New file.
22614
22615         New module 'unictype/joiningtype-all'.
22616         * modules/unictype/joiningtype-all: New file.
22617
22618         Tests for module 'unictype/joiningtype-of'.
22619         * modules/unictype/joiningtype-of-tests: New file.
22620         * tests/unictype/test-joiningtype_of.c: New file.
22621         * tests/unictype/test-joiningtype_of.h: New file, automatically
22622         generated by gen-uni-tables.
22623
22624         New module 'unictype/joiningtype-of'.
22625         * modules/unictype/joiningtype-of: New file.
22626         * lib/unictype/joiningtype_of.c: New file.
22627         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22628         gen-uni-tables.
22629
22630         Tests for module 'unictype/joiningtype-byname'.
22631         * modules/unictype/joiningtype-byname-tests: New file.
22632         * tests/unictype/test-joiningtype_byname.c: New file.
22633
22634         New module 'unictype/joiningtype-byname'.
22635         * modules/unictype/joiningtype-byname: New file.
22636         * lib/unictype/joiningtype_byname.c: New file.
22637
22638         Tests for module 'unictype/joiningtype-name'.
22639         * modules/unictype/joiningtype-name-tests: New file.
22640         * tests/unictype/test-joiningtype_name.c: New file.
22641
22642         New module 'unictype/joiningtype-name'.
22643         * modules/unictype/joiningtype-name: New file.
22644         * lib/unictype/joiningtype_name.c: New file.
22645
22646         unictype: Add support for Arabic shaping properties.
22647         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22648         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22649         declarations.
22650         (UC_JOINING_GROUP_*): New enumeration values.
22651         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22652         declarations.
22653         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22654         (unicode_joining_type): New variable.
22655         (UC_JOINING_GROUP_*): New enumeration values.
22656         (unicode_joining_group): New variable.
22657         (fill_arabicshaping, joining_type_as_c_identifier,
22658         output_joining_type_test, output_joining_type,
22659         joining_group_as_c_identifier, output_joining_group_test,
22660         output_joining_group): New functions.
22661         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22662         fill_arabicshaping and output_joining_type_test, output_joining_type,
22663         output_joining_group_test, output_joining_group.
22664         Reported by Simon Josefsson.
22665
22666 2011-03-21  Jim Meyering  <meyering@redhat.com>
22667
22668         strftime: fix a bug in yesterday's change
22669         * lib/strftime.c (add): Accommodate width's initial value of -1.
22670         Otherwise, nstrftime would copy uninitialized data into
22671         the result buffer.
22672
22673 2011-03-21  Jim Meyering  <meyering@redhat.com>
22674
22675         tests: add strftime-tests module
22676         * tests/test-strftime.c: New file.
22677         * modules/strftime-tests: New module.
22678
22679 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22680
22681         strftime: don't assume a byte count fits in 'int'
22682         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22683         found this problem by static analysis, using gcc -Wstrict-overflow
22684         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22685         on an integer overflow having undefined behavior, but it turns out
22686         that the argument is a size, which might not fit in 'int' anyway,
22687
22688 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22689
22690         stdio: don't require ignore_value around fwrite
22691
22692         This patch works around libc bug 11959
22693         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22694         Without this patch, applications must often write
22695         ignore_value (fwrite (...)) even though the ignore_value is
22696         not helpful here.  It's common to write many objects, using
22697         fwrite/printf/etc., and then use ferror to detect output error.
22698
22699         I considered making this patch optional, but decided against it,
22700         because libc is obviously being inconsistent here: there is no
22701         reason libc should insist that user code must inspect fwrite
22702         return's value without also insisting that it inspect printf's,
22703         putchar's, etc.  If user code wants to have a strict style where
22704         all these functions' values are checked (so that ferror need not
22705         be checked), we could add support for that style in a new gnulib
22706         module, but in the meantime it's better to be consistent and to
22707         support common usage.
22708
22709         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22710         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22711         that we are compiling in checking mode, and if not C++, and
22712         if not already wrapping fwrite for some other reason.
22713         (fwrite): #define to rpl_fwrite if the latter is defined.
22714
22715 2011-03-20  Bruno Haible  <bruno@clisp.org>
22716
22717         verror: Fix compilation error introduced on 2011-02-13.
22718         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22719         instead of __attribute__.
22720         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22721
22722 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22723             Bruno Haible  <bruno@clisp.org>
22724
22725         socklen: do not depend on sys_socket
22726         While trying to modify Emacs to use gnulib's socklen module,
22727         I discovered a circular dependency: socklen depends on sys_socket
22728         and vice versa.  Emacs can use socklen, but it does not need
22729         sys_socket because it has its own substitute for sys/socket.h.
22730         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22731         gl_TYPE_SOCKLEN_T.
22732         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22733         gl_PREREQ_SYS_H_SOCKET.
22734         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22735         gl_PREREQ_SYS_H_SOCKET.
22736         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22737         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22738         * modules/socklen (Depends-on): Do not depend on sys_socket.
22739         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22740
22741 2011-03-20  Jim Meyering  <meyering@redhat.com>
22742
22743         maint.mk: sort file names *after* new transformation
22744         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22745         prefix would have led to an unwarranted failure in GNU parted.
22746         Sort after that transformation.
22747
22748 2011-03-19  Jim Meyering  <meyering@redhat.com>
22749
22750         maint.mk: fix po-file syntax-check rule
22751         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22752         Patch by Bruno Haible.
22753
22754 2011-03-19  Bruno Haible  <bruno@clisp.org>
22755
22756         socklen: Update comment.
22757         * m4/socklen.m4: Update comment about platforms.
22758
22759 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22760             Bruno Haible  <bruno@clisp.org>
22761
22762         inet_ntop, inet_pton: Simplify.
22763         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22764         documented to provide socklen_t and we already depend on sys_socket.
22765         * modules/inet_pton (Depends-on): Likewise.
22766         * lib/arpa_inet.in.h: Adjust comment.
22767
22768 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22769             Bruno Haible  <bruno@clisp.org>
22770
22771         netdb: Simplify.
22772         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
22773         documented to provide socklen_t and we already depend on sys_socket.
22774         * lib/netdb.in.h: Adjust comment.
22775
22776 2011-03-19  Bruno Haible  <bruno@clisp.org>
22777
22778         sys_socket, netdb: Document problem with socklen_t.
22779         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
22780         platforms.
22781         * doc/posix-headers/netdb.texi: Likewise.
22782
22783 2011-03-18  Eric Blake  <eblake@redhat.com>
22784
22785         maint.mk: let po check work in VPATH build
22786         * top/maint.mk (po_file): Allow cfg.mk override.
22787         (sc_po_check): Allow VPATH use.
22788         Reported by Jiri Denemark.
22789
22790 2011-03-16  Jim Meyering  <meyering@redhat.com>
22791
22792         maint.mk: allow fine-grained syntax-check exclusion via Make variables
22793         Before, you would have had to create one .x-sc_ file per rule in order
22794         to exempt offending files.  Now, you may instead use a Make variable --
22795         usually defined in cfg.mk -- whose name identifies the affected rule.
22796         * top/maint.mk (_sc_excl): Define.
22797         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
22798         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
22799
22800 2011-03-13  Bruno Haible  <bruno@clisp.org>
22801
22802         ignore-value tests: Avoid warnings.
22803         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
22804         empty for gcc < 3.4.
22805
22806 2011-03-13  Bruno Haible  <bruno@clisp.org>
22807
22808         passfd: Fix link error on Solaris.
22809         * modules/passfd (Description): Correct.
22810         (Depends-on): Add socketlib.
22811         (Link): New section.
22812         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
22813
22814 2011-03-13  Bruno Haible  <bruno@clisp.org>
22815
22816         passfd: Fix link error on AIX 5.2.
22817         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
22818
22819 2011-03-13  Bruno Haible  <bruno@clisp.org>
22820
22821         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
22822         * lib/sys_socket.in.h: Include <stddef.h>.
22823         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
22824         CMSG_FIRSTHDR. Remove unused variable.
22825
22826 2011-03-13  Bruno Haible  <bruno@clisp.org>
22827
22828         passfd: Fix compilation error on OpenBSD.
22829         * lib/passfd.c: Include <sys/uio.h>.
22830
22831 2011-03-13  Bruno Haible  <bruno@clisp.org>
22832
22833         passfd test: Fix warnings.
22834         * tests/test-passfd.c: Include <sys/wait.h>.
22835         (main): Fix typo.
22836
22837 2011-03-13  Bruno Haible  <bruno@clisp.org>
22838
22839         passfd module, part 4, tweaks.
22840         * tests/test-passfd.c: Reorder includes.
22841         (main): Fix perror and printf calls.
22842
22843 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22844
22845         passfd module, part 4.
22846         * modules/passfd-tests: New file.
22847         * tests/test-passfd.c: New file.
22848
22849 2011-03-13  Jim Meyering  <meyering@redhat.com>
22850
22851         Makefile: rely on GNU make; derive syntax-check rule names
22852         Rather than requiring that each sc_ rule be listed as a dependent
22853         of "check", use features of GNU make to derive the list.
22854         * Makefile (syntax-check-rules): Define.
22855         (check): Depend on the new variable, not the hard-coded list.
22856
22857 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
22858             Bruno Haible  <bruno@clisp.org>
22859
22860         passfd module, part 3.
22861         * lib/passfd.h (recvfd): Add a flags argument.
22862         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
22863         (recvfd): Add a flags argument.
22864         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
22865         exists.
22866         * modules/passfd (Depends-on): Add cloexec.
22867         Suggested by Eric Blake.
22868
22869 2011-03-13  Bruno Haible  <bruno@clisp.org>
22870
22871         passfd module, part 2, tweaks.
22872         * modules/passfd (Files): Reorder.
22873         (Depends-on): Remove errno.
22874         (Include): Remove <sys/socket.h>, <sys/un.h>.
22875         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
22876         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
22877         specification header. Include <sys/socket.h> always. Don't include
22878         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
22879         (sendfd): Clarify that it sets errno when it fails.
22880         (recvfd): Fix specification.
22881
22882 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22883
22884         passfd module, part 2.
22885         * modules/passfd: New file.
22886         * lib/passfd.h: New file.
22887         * lib/passfd.c: New file.
22888
22889 2011-03-12  Bruno Haible  <bruno@clisp.org>
22890
22891         wcswidth, mbswidth: Avoid integer overflow.
22892         * lib/wcswidth.c: Include <limits.h>.
22893         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
22894         * lib/mbswidth.c: Include <limits.h>.
22895         (mbsnwidth): Avoid 'int' overflow.
22896         Reported by Jim Meyering.
22897
22898 2011-03-12  Bruno Haible  <bruno@clisp.org>
22899
22900         futimens, utimensat: Avoid endless recursion on Solaris 10.
22901         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
22902         Solaris.
22903         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
22904         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
22905
22906 2011-03-11  Jim Meyering  <meyering@redhat.com>
22907
22908         maint.mk: relax a regexp to accommodate other formatting styles
22909         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
22910         between "ngettext" and the following "(".
22911
22912 2011-03-11  Pádraig Brady <P@draigBrady.com>
22913
22914         maint.mk: suppress a false positive warning
22915         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
22916         diagnostics are marked with ngettext.
22917
22918 2011-03-10  Eric Blake  <eblake@redhat.com>
22919
22920         wchar: add explicit dependencies, for Tru64
22921         * modules/mbmemcasecoll (Depends-on): Add wchar.
22922         * modules/mbtowc (Depends-on): Likewise.
22923         * modules/vasnprintf (Depends-on): Likewise.
22924         * modules/unistdio/u-printf-args (Depends-on): Likewise.
22925         * modules/wctomb (Depends-on): Likewise.
22926         Reported by Peter O'Gorman.
22927
22928 2011-03-08  Bruno Haible  <bruno@clisp.org>
22929
22930         passfd module, part 1, tweaks.
22931         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22932         Improve indentation. Improve AC_MSG_CHECKING messages.
22933         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22934         gl_SOCKET_FAMILIES.
22935
22936 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22937
22938         passfd module, part 1.
22939         * m4/afunix.m4: New file.
22940         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
22941         sockets.
22942
22943 2011-03-08  Bruno Haible  <bruno@clisp.org>
22944
22945         regex-quote: New API.
22946         * lib/regex-quote.h: Include <stdbool.h>.
22947         (struct regex_quote_spec): New type.
22948         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22949         New declarations.
22950         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22951         'const struct regex_quote_spec *' argument.
22952         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
22953         (pcre_special): New constant.
22954         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22955         New functions.
22956         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22957         'const struct regex_quote_spec *' argument.
22958         * modules/regex-quote (Depends-on): Add stdbool.
22959         * tests/test-regex-quote.c (check): Update for new API. Add test for
22960         anchored results.
22961         * NEWS: Mention the API change.
22962         Reported by Reuben Thomas and Eric Blake.
22963
22964 2011-03-06  Bruno Haible  <bruno@clisp.org>
22965
22966         regex-quote: Fix creation of POSIX extended regular expressions.
22967         * lib/regex-quote.c (ere_special): Add grouping and alternation
22968         operators.
22969
22970 2011-03-05  Bruno Haible  <bruno@clisp.org>
22971
22972         doc: Improve doc regarding autopoint vs. gnulib.
22973         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
22974         disable autopoint while running autoreconf.
22975         Suggested by Ralf Wildenhues.
22976
22977 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22978
22979         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
22980         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
22981
22982 2011-03-03  Bruce Korb  <bkorb@gnu.org>
22983
22984         parse-duration: remove xalloc.h dependency
22985         * lib/parse-duration.c (parse_period): handle NULL return from
22986         strdup instead of calling xstrdup().
22987         * modules/parse-duration: remove "xalloc" dependency
22988
22989 2011-03-03  Matthew Booth  <mbooth@redhat.com>
22990
22991         bootstrap: honor m4_base when running aclocal
22992         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
22993
22994 2011-03-02  Jim Meyering  <meyering@redhat.com>
22995
22996         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
22997         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
22998         on request from Matt Booth.
22999
23000 2011-03-01  Eric Blake  <eblake@redhat.com>
23001
23002         test-link: work on Hurd
23003         * tests/test-link.h (test_link): Hurd rejects linking directories
23004         with EISDIR instead of the POSIX-mandated EPERM.
23005
23006 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23007
23008         stdio: simplify by moving files to printf-posix, sigpipe
23009         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23010         since this symbol is needed only if printf is replaced.
23011         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23012         Require gl_ASM_SYMBOL_PREFIX.
23013         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23014         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23015         (Depends-on): Add 'raise'.
23016         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23017         * modules/stdio (Files): Remove lib/stdio-write.c,
23018         m4/asm-underscore.m4.
23019         (Depends-on): Remove 'raise'.
23020
23021         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23022         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23023         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23024         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23025
23026 2011-02-28  Bruno Haible  <bruno@clisp.org>
23027
23028         localcharset: Assume ANSI C behaviour of free().
23029         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23030         calling free().
23031         Suggested by Simon Josefsson <simon@josefsson.org>.
23032
23033 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23034             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23035             Bruno Haible  <bruno@clisp.org>  (tiny change)
23036
23037         On Cygwin, use /proc file system instead of win32 API.
23038         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23039         Win32 file names.
23040         (DllMain): Simplify by removing Cygwin specific code.
23041         (find_shared_library_fullname): Use Linux specific implementation also
23042         for Cygwin.
23043         (get_shared_library_fullname): Update accordingly.
23044         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23045         Win32 file names.
23046         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23047         Cygwin specific code.
23048
23049 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23050             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23051
23052         Fix OpenMP flag detection for various Fortran compilers.
23053         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23054         OpenMP-conditional compilation construct, to force compile
23055         failure with missing OpenMP flag.
23056         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23057
23058 2011-02-25  Eric Blake  <eblake@redhat.com>
23059
23060         strstr: expand test coverage
23061         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23062         compilation.
23063         * tests/test-memmem.c (main): Duplicate tests.
23064         * tests/test-strcasestr.c (main): Likewise.
23065         * tests/test-c-strcasestr.c (main): Likewise.
23066
23067 2011-02-25  Jim Meyering  <meyering@redhat.com>
23068
23069         maint.mk: detect missing-NL-at-EOF, too
23070         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23071         it also detects when a file lacks a newline at EOF.
23072         (require_exactly_one_NL_at_EOF_): Renamed from
23073         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23074         since people may well have .x-sc_... file names tied to the
23075         existing name.  Suggested by Eric Blake.
23076
23077 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23078
23079         dirname: move m4/dos.m4 functionality into lib/dosname.h
23080
23081         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23082         extracts symbols from it, puts them into config.h; but it's much
23083         easier to use the symbols directly.  filename.h already does this,
23084         but it disagrees with dos.m4 in some respects.  This patch
23085         introduces a different include file dosname.h that packages up
23086         dos.m4, and then later we can work on merging filename.h and
23087         dosname.h.  Applications that need only the easy-to-configure
23088         symbols should consider including dosname.h rather than dirname.h.
23089         * NEWS: Mention incompatible changes.
23090         * m4/dos.m4: Remove.
23091         * lib/dosname.h, modules/dosname: New files.
23092         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23093         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23094         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23095         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23096         Include dosname.h, not dirname.h.
23097         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23098         Include dosname.h, for definitions of symbols like ISSLASH
23099         that used to be in config.h.
23100         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23101         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23102         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23103         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23104         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23105         * modules/rmdir (Files): Likewise.
23106         * modules/stat (Files): Likewise.
23107         * modules/unlink (Files): Likewise.
23108         * modules/dirname-lgpl (Depends-on): Add dosname.
23109         * modules/lstat (Depends-on): Likewise.
23110         * modules/openat (Depends-on): Likewise.
23111         * modules/rmdir (Depends-on): Likewise.
23112         * modules/savewd (Depends-on): Likewise.
23113         * modules/stat (Depends-on): Likewise.
23114         * modules/unlink (Depends-on): Likewise.
23115         * modules/openat (Depends-on): Remove dirname-lgpl.
23116         * modules/savewd (Depends-on): Likewise.
23117         * tests/test-dirname.c: Do not use removed symbols like
23118         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23119         the remaining symbols, e.g., ISSLASH ('\\').
23120
23121 2011-02-25  Eric Blake  <eblake@redhat.com>
23122
23123         strstr: revert patches that introduced bug and pessimization
23124         * lib/str-two-way.h: Add another reference.
23125         (two_way_short_needle, two_way_long_needle): Revert changes from
23126         2011-02-24; they pessimize search speed.
23127         (critical_factorization): Partially revert changes from
23128         2010-06-22; they violate the requirement that the left half of the
23129         needle be smaller than the period of the needle.
23130
23131 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23132
23133         filenamecat: remove unnecessary dependency on dirname-lgpl
23134         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23135         is no direct dependency, just an indirect one via filenamecat-lgpl.
23136
23137         remove: remove unnecessary use of m4/dos.m4
23138         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23139         * modules/remove (FILES): Remove m4/dos.m4.
23140
23141         * lib/openat-proc.c: Don't include dirname.h; not needed.
23142
23143         backupfile: remove unnecessary use of m4/dos.m4
23144         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23145         of its symbols are used by the backupfile code.  backupfile.c does
23146         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23147         for the rare case of programs that want all their backup file
23148         names to live within 8+3 limits, and dos.m4 doesn't address that.
23149         * modules/backupfile (Files): Remove m4/dos.m4.
23150
23151 2011-02-24  Jim Meyering  <meyering@redhat.com>
23152
23153         strstr: fix a bug whereby strstr would mistakenly return NULL
23154         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23155         in period calculation.
23156         (two_way_long_needle): Likewise.
23157         The original problem was reported by Mike Stump in
23158         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23159         Ralf Wildenhues provided the short needle and haystack.
23160         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23161         Add a more involved test to trigger the bug in two_way_long_needle.
23162
23163 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23164
23165         gnulib-tool: remove use of bold display in help screen
23166         * gnulib-tool (func_usage): Do not use bold display anymore in the
23167         help screen.  That was just meant to be a temporary emphasis for a
23168         backward-incompatible change.
23169
23170 2011-02-23  Bruno Haible  <bruno@clisp.org>
23171
23172         Fix misindentation of preprocessor directives.
23173         * lib/argp-namefrob.h: Reindent preprocessor directives.
23174         * lib/getopt_int.h (struct _getopt_data): Likewise.
23175         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23176         * lib/vasnprintf.c (decode_long_double): Likewise.
23177         * tests/test-argmatch.c: Insert blank lines, for clarity.
23178         * tests/test-exclude.c: Likewise.
23179
23180 2011-02-22  Bruno Haible  <bruno@clisp.org>
23181
23182         ioctl: Fix for MacOS X in 64-bit mode.
23183         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23184         value.
23185         Suggested by Eric Blake.
23186         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23187
23188 2011-02-22  Jim Meyering  <meyering@redhat.com>
23189
23190         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23191         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23192         in lib/.
23193
23194 2011-02-22  Eric Blake  <eblake@redhat.com>
23195
23196         maint: avoid any CDPATH issue
23197         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23198
23199         maint: adjust cpp indentation for my modules, as well
23200         * Makefile (sc_cpp_indent_check): Add my name.
23201         * lib/fbufmode.c: Filter through cppi.
23202         * lib/fpurge.c: Likewise.
23203         * lib/freadable.c: Likewise.
23204         * lib/freading.c: Likewise.
23205         * lib/fwritable.c: Likewise.
23206         * lib/fwriting.c: Likewise.
23207         * lib/sigaction.c: Likewise.
23208
23209 2011-02-22  Jim Meyering  <meyering@redhat.com>
23210
23211         maint: adjust cpp indentation to reflect nesting depth
23212         I.e., in a block of code that begins with an unnested "#if",
23213         put one space between the "#" in column 1 and following token.
23214         For example,
23215         -#include <sys/vfs.h>
23216         +# include <sys/vfs.h>
23217         Do this only in .c files that are part of a module I maintain.
23218         * lib/linkat.c: Filter through cppi.
23219         * lib/nanosleep.c: Likewise.
23220         * lib/openat.c: Likewise.
23221         * lib/openat-die.c: Likewise.
23222         * lib/dup3.c: Likewise.
23223         * lib/fchownat.c: Likewise.
23224         * lib/flock.c: Likewise.
23225         * lib/fsync.c: Likewise.
23226         * lib/fts.c: Likewise.
23227         * lib/getpass.c: Likewise.
23228         * lib/gettimeofday.c: Likewise.
23229         * lib/userspec.c: Likewise.
23230         * Makefile (sc_cpp_indent_check): New rule, to check this.
23231
23232 2011-02-22  Bruno Haible  <bruno@clisp.org>
23233
23234         New module 'wctomb'.
23235         * lib/stdlib.in.h (wctomb): New declaration.
23236         * lib/wctomb.c: New file.
23237         * lib/wctomb-impl.h: New file.
23238         * m4/wctomb.m4: New file.
23239         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23240         REPLACE_WCTOMB.
23241         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23242         REPLACE_WCTOMB.
23243         * modules/wctomb: New file.
23244         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23245         * doc/posix-functions/wctomb.texi: Mention the new module.
23246         * modules/wctob (Depends-on): Add wctomb.
23247
23248 2011-02-22  Bruno Haible  <bruno@clisp.org>
23249
23250         New module 'mbtowc'.
23251         * lib/stdlib.in.h (mbtowc): New declaration.
23252         * lib/mbtowc.c: New file.
23253         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23254         * m4/mbtowc.m4: New file.
23255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23256         REPLACE_MBTOWC.
23257         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23258         REPLACE_MBTOWC.
23259         * modules/mbtowc: New file.
23260         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23261         * doc/posix-functions/mbtowc.texi: Mention the new module.
23262         * modules/btowc (Depends-on): Add mbtowc.
23263
23264 2011-02-22  Bruno Haible  <bruno@clisp.org>
23265
23266         wcrtomb: Add more tests for native Windows platforms.
23267         * tests/test-wcrtomb-w32-1.sh: New file.
23268         * tests/test-wcrtomb-w32-2.sh: New file.
23269         * tests/test-wcrtomb-w32-3.sh: New file.
23270         * tests/test-wcrtomb-w32-4.sh: New file.
23271         * tests/test-wcrtomb-w32-5.sh: New file.
23272         * tests/test-wcrtomb-w32.c: New file.
23273         * modules/wcrtomb-tests (Files): Add them.
23274         (Makefile.am): Arrange to run these tests.
23275         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23276         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23277
23278 2011-02-20  Bruno Haible  <bruno@clisp.org>
23279
23280         wcrtomb: Enhance test.
23281         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23282
23283 2011-02-20  Bruno Haible  <bruno@clisp.org>
23284
23285         mbrtowc: Tiny optimization.
23286         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23287
23288 2011-02-20  Jim Meyering  <meyering@redhat.com>
23289
23290         test-exclude.c: remove unmatched #endif
23291         * tests/test-exclude.c: Remove stray #endif, left over from
23292         the change of a week ago.
23293
23294 2011-02-19  Jim Meyering  <meyering@redhat.com>
23295
23296         git-version-gen: skip "-dirty" check when appropriate
23297         * build-aux/git-version-gen: Don't run any git commands when the
23298         version string comes from .tarball-version.  Prior to this, we
23299         would run git update-index --refresh even from a just-unpacked
23300         tarball directory, and that could affect a .git/ directory in a
23301         parent of the build directory.  Reported by Mike Frysinger.
23302
23303 2011-02-19  Bruno Haible  <bruno@clisp.org>
23304
23305         unictype/property-byname: Reduce the size of the 'data' segment.
23306         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23307
23308 2011-02-19  Bruno Haible  <bruno@clisp.org>
23309
23310         unictype/scripts: Reduce the size of the 'data' segment.
23311         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23312         '%pic'.
23313         * lib/unictype/scripts_byname.gperf: Regenerated.
23314
23315 2011-02-19  Bruno Haible  <bruno@clisp.org>
23316
23317         stdint: Update documentation.
23318         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23319
23320 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23321
23322         stdint: omit redundant check for wchar.h
23323         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23324         always tests whether wchar.h exists, so remove the now-redundant test.
23325
23326 2011-02-18  Bruno Haible  <bruno@clisp.org>
23327
23328         stdint: Cut dependency to module 'wchar'.
23329         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23330         include the necessary prerequisites.
23331         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23332         * modules/stdint (Depends-on): Remove wchar.
23333         (Makefile.am): Substitute HAVE_WCHAR_H.
23334         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23335
23336 2011-02-18  Eric Blake  <eblake@redhat.com>
23337
23338         longlong: skip, rather than fail, on cross-compilation
23339         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23340         when cross-compiling; regression from 2011-02-16.
23341
23342 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23343
23344         * NEWS: Mention 2011-02-08 change to stdlib.
23345
23346 2011-02-17  Bruno Haible  <bruno@clisp.org>
23347
23348         getloadavg: Add comments about platforms.
23349         * m4/getloadavg.m4: Add comment.
23350         * lib/getloadavg.c: Likewise.
23351
23352 2011-02-17  Bruno Haible  <bruno@clisp.org>
23353
23354         getloadavg: Fix link error on Solaris 2.6.
23355         * modules/getloadavg (Link): New section.
23356         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23357         linking test-getloadavg.
23358         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23359         getloadavg.
23360
23361 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23362
23363         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23364         It was 'int', but this doesn't match the IRIX 6.5 manual.
23365         Suggested by Bruno Haible in
23366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23367
23368 2011-02-17  Bruno Haible  <bruno@clisp.org>
23369
23370         havelib: Fix comments.
23371         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23372         change.
23373
23374 2011-02-17  Bruno Haible  <bruno@clisp.org>
23375
23376         havelib: Update config.rpath.
23377         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23378
23379 2011-02-17  Bruno Haible  <bruno@clisp.org>
23380
23381         getloadavg test: Add some plausibility checks.
23382         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23383         is improbable.
23384
23385 2011-02-16  Eric Blake  <eblake@redhat.com>
23386
23387         maintainer-makefile: make syntax-check a no-op from tarballs
23388         * top/maint.mk (no-vc-detected): New rule.
23389         (local-checks-available): Use it to avoid hanging if someone tries
23390         'make syntax-check' from a tarball.  Also append to any non-syntax
23391         checks already defined in cfg.mk.
23392
23393 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23394
23395         longlong: tune, particularly for common case of c99
23396
23397         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23398         or running anything if c99, or if unsigned long long int does not
23399         work.  In either case, we know the answer without further tests.
23400         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23401         it at most once, and use its results for both long long int and
23402         unsigned long long int.  This is more likely to be efficient in
23403         the common case where the program wants to check for both long
23404         long int and unsigned long long int.
23405         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23406         since the answer is already known.
23407
23408 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23409
23410         getloadavg: set errno
23411         * lib/getloadavg.c: Set errno when returning -1.  If no other
23412         error number looks appropriate, set it to ENOSYS if the getloadavg
23413         looks like it can't possibly ever work, ENOTSUP otherwise.
23414         Suggested by Bruno Haible in
23415         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23416
23417         getloadavg: trim unused parts and speed up 'configure'
23418         * NEWS: Document this.
23419         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23420         always compiled if getloadavg is absent.
23421         Move test code to ...
23422         * tests/test-getloadavg.c: New file, containing previous
23423         contents of test from lib/getloadavg.c.  It also contains
23424         suggestions by Bruno Haible in
23425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23426         * modules/getloadavg-tests: New file.
23427         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23428         Do tests in the same order as they're needed for getloadavg.c.
23429         Omit setgid-related tests that generate symbols KMEM_GROUP,
23430         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23431         Do only the tests that are needed to see whether the system has
23432         getloadavg, moving the other tests into ...
23433         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23434         NLIST_NAME_UNION; nobody should be using it.  Do not define
23435         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23436         relevant, as the user of this module shouldn't care how getloadavg
23437         is implemented.
23438
23439         getloadavg: omit unused var
23440         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23441
23442 2011-02-15  Jim Meyering  <meyering@redhat.com>
23443
23444         doc: update users.txt
23445         * users.txt: Update iwhd's URL.
23446
23447 2011-02-13  Bruno Haible  <bruno@clisp.org>
23448
23449         Consistent macro naming for macros that use GCC __attribute__.
23450         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23451         _ATTRIBUTE_NONNULL_.
23452         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23453         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23454         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23455         ATTRIBUTE_DEPRECATED.
23456         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23457         ATTRIBUTE_NORETURN.
23458         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23459         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23460         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23461         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23462         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23463         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23464         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23465         ATTRIBUTE_SENTINEL.
23466         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23467         ATTRIBUTE_RETURN_CHECK.
23468         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23469         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23470         ATTRIBUTE_NORETURN.
23471         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23472         Reported by Paul Eggert.
23473
23474 2011-02-13  Bruno Haible  <bruno@clisp.org>
23475
23476         Don't interfere with a program's definition of __attribute__.
23477         * lib/argp.h (__attribute__): Remove definition.
23478         (_GL_ATTRIBUTE_FORMAT): New macro.
23479         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23480         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23481         (_GL_ATTRIBUTE_FORMAT): New macro.
23482         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23483         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23484         GCC 3 or newer.
23485         * lib/error.h (__attribute__): Remove definition.
23486         (_GL_ATTRIBUTE_FORMAT): New macro.
23487         (error, error_at_line): Use it.
23488         * lib/hash.h (__attribute__): Remove definition.
23489         (ATTRIBUTE_WUR): Update definition. Define always.
23490         * lib/openat.h (__attribute__): Remove definition.
23491         (ATTRIBUTE_NORETURN): Update definition. Define always.
23492         * lib/sigpipe-die.h (__attribute__): Remove definition.
23493         (ATTRIBUTE_NORETURN): Update definition. Define always.
23494         * lib/vasnprintf.h (__attribute__): Remove definition.
23495         (_GL_ATTRIBUTE_FORMAT): New macro.
23496         (asnprintf, vasnprintf): Use it.
23497         * lib/xalloc.h (__attribute__): Remove definition.
23498         (ATTRIBUTE_NORETURN): Update definition. Define always.
23499         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23500         * lib/xmemdup0.h (__attribute__): Remove definition.
23501         (ATTRIBUTE_NORETURN): Update definition. Define always.
23502         * lib/xprintf.h (__attribute__): Remove definition.
23503         (_GL_ATTRIBUTE_FORMAT): New macro.
23504         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23505         * lib/xstrtol.h (__attribute__): Remove definition.
23506         (ATTRIBUTE_NORETURN): Update definition. Define always.
23507         * lib/xvasprintf.h (__attribute__): Remove definition.
23508         (_GL_ATTRIBUTE_FORMAT): New macro.
23509         (xasprintf, xvasprintf): Use it.
23510         * tests/test-argmatch.c (__attribute__): Remove definition.
23511         (ATTRIBUTE_NORETURN): Update definition. Define always.
23512         * tests/test-exclude.c (__attribute__): Remove definition.
23513         (ATTRIBUTE_NORETURN): Update definition. Define always.
23514         Reported by Paul Eggert.
23515
23516 2011-02-13  Bruno Haible  <bruno@clisp.org>
23517
23518         mbrtowc: Add more tests for native Windows platforms.
23519         * tests/test-mbrtowc-w32-1.sh: New file.
23520         * tests/test-mbrtowc-w32-2.sh: New file.
23521         * tests/test-mbrtowc-w32-3.sh: New file.
23522         * tests/test-mbrtowc-w32-4.sh: New file.
23523         * tests/test-mbrtowc-w32-5.sh: New file.
23524         * tests/test-mbrtowc-w32.c: New file.
23525         * modules/mbrtowc-tests (Files): Add them.
23526         (Makefile.am): Arrange to run these tests.
23527         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23528         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23529
23530 2011-02-13  Bruno Haible  <bruno@clisp.org>
23531
23532         mbrtowc: Work around native Windows bug.
23533         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23534         guess when no suitable locale for testing was found.
23535         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23536
23537 2011-02-13  Bruno Haible  <bruno@clisp.org>
23538
23539         mbsinit: Work around mingw bug.
23540         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23541         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23542         Windows.
23543         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23544
23545 2011-02-13  Bruno Haible  <bruno@clisp.org>
23546
23547         mbsinit: Don't crash for a NULL argument.
23548         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23549         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23550
23551 2011-02-13  Bruno Haible  <bruno@clisp.org>
23552
23553         Don't interfere with a program's definition of __attribute__.
23554         * lib/stdio.in.h (__attribute__): Remove definition.
23555         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23556         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23557         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23558         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23559         * lib/string.in.h (__attribute__): Remove definition.
23560         Reported by Paul Eggert.
23561
23562 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23563
23564         stdlib: don't get in the way of non-GCC __attribute__
23565         See thread starting at
23566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23567         Revert previous stdlib change, installing the following instead:
23568         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23569         to get in the way of a non-GCC compiler that supports __attribute__.
23570         (_GL_ATTRIBUTE_RETURN): New macro.
23571         (_Exit): Use it instead of __attribute__.
23572
23573 2011-02-12  Bruno Haible  <bruno@clisp.org>
23574
23575         quotearg test: Avoid test failure on mingw.
23576         * tests/test-quotearg.sh: Convert the locale identifier from native
23577         Windows syntax to Unix syntax.
23578
23579 2011-02-12  Bruno Haible  <bruno@clisp.org>
23580
23581         setlocale: Prefer gnulib's override over libintl's override.
23582         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23583         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23584         GNULIB_defined_setlocale is set.
23585
23586 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23587
23588         stdlib: support non-GCC __attribute__
23589
23590         Fix a serious and tricky problem encountered when attempting to
23591         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23592         5.5, but it crashed due to memory corruption on Solaris 10 with
23593         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23594         bits that are otherwise zero.  This tagging is optional inside
23595         Emacs but is preferred and is used when __attribute__ ((__aligned
23596         (8))) works, as it does with both recent-enough GCC and with Sun C
23597         5.11.  However, Sun C 5.11 is not GCC and does not #define
23598         __GNUC__ and __GNUC_MINOR__.
23599
23600         When I added the getloadavg module to Emacs, it brought in
23601         stdlib.in.h, which contained this fragment:
23602
23603            #ifndef __attribute__
23604            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23605            #  define __attribute__(Spec)   /* empty */
23606            # endif
23607            #endif
23608
23609         When files that include <stdlib.h> were compiled with Sun C 5.11,
23610         the above code disabled __attribute__ ((__aligned (8))), which
23611         caused variables to not be properly aligned, which eventually led
23612         to the pointer corruption mentioned above.  (This was a bit hard
23613         to diagnose, unfortunately.)
23614
23615         Several "#define __attribute__(X) /* empty */" code snippets need
23616         to be eradicated from Gnulib to work with non-GCC compilers that
23617         support __attribute__.  The Autoconf way to do this is to test for
23618         each kind of attribute that we want support for, and selectively
23619         enable that in source code.
23620
23621         Fix this problem just for stdlib.h, by adding a test for the
23622         __noreturn__ attribute, and change stdlib.in.h to use that test
23623         when needed.  This technique can be easily generalized to the
23624         other *.in.h files and attributes, and a similar technique can be
23625         used for *.h and *.c files.  This patch is enough to solve the
23626         problem for Emacs + getloadavg, and I thought I'd publish it for
23627         feedback before undertaking further, similar fixes in other
23628         modules.
23629
23630         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23631         because it's not needed for stdlib.h.  It merely substitutes the
23632         value directly into stdlib.h.  We may well need to #define it, or
23633         similar symbols, for other modules, but it's nice to also have an
23634         option to not #define it for applications like Emacs that do not
23635         need it.
23636
23637         * lib/stdlib.in.h (__attribute__): Do not #define.
23638         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23639         be defined only if the _Exit module is also used.
23640         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23642         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23643         platforms.
23644         * modules/_Exit (Files): Add m4/attribute.m4.
23645         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23646         * m4/attribute.m4: New file.
23647
23648 2011-02-12  Bruno Haible  <bruno@clisp.org>
23649
23650         wcsrtombs: Work around bug on native Windows.
23651         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23652         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23653         instead of len.
23654         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23655
23656 2011-02-12  Bruno Haible  <bruno@clisp.org>
23657
23658         mbsrtowcs: Work around bug on native Windows.
23659         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23660         against mingw bug.
23661         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23662
23663 2011-02-12  Bruno Haible  <bruno@clisp.org>
23664
23665         Avoid setlocale bugs in tests.
23666         * modules/btowc (Dependencies): Add setlocale.
23667         * modules/c-strcase (Dependencies): Likewise.
23668         * modules/mbmemcasecmp (Dependencies): Likewise.
23669         * modules/mbmemcasecoll (Dependencies): Likewise.
23670         * modules/mbrtowc (Dependencies): Likewise.
23671         * modules/mbscasecmp (Dependencies): Likewise.
23672         * modules/mbscasestr (Dependencies): Likewise.
23673         * modules/mbschr (Dependencies): Likewise.
23674         * modules/mbscspn (Dependencies): Likewise.
23675         * modules/mbsinit (Dependencies): Likewise.
23676         * modules/mbsncasecmp (Dependencies): Likewise.
23677         * modules/mbsnrtowcs (Dependencies): Likewise.
23678         * modules/mbspbrk (Dependencies): Likewise.
23679         * modules/mbspcasecmp (Dependencies): Likewise.
23680         * modules/mbsrchr (Dependencies): Likewise.
23681         * modules/mbsrtowcs (Dependencies): Likewise.
23682         * modules/mbsspn (Dependencies): Likewise.
23683         * modules/mbsstr (Dependencies): Likewise.
23684         * modules/nl_langinfo (Dependencies): Likewise.
23685         * modules/quotearg (Dependencies): Likewise.
23686         * modules/unicase/locale-language (Dependencies): Likewise.
23687         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23688         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23689         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23690         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23691         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23692         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23693         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23694         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23695         * modules/vasnprintf-posix (Dependencies): Likewise.
23696         * modules/wcrtomb (Dependencies): Likewise.
23697         * modules/wcsnrtombs (Dependencies): Likewise.
23698         * modules/wcsrtombs (Dependencies): Likewise.
23699
23700 2011-02-12  Bruno Haible  <bruno@clisp.org>
23701
23702         setlocale: Workaround native Windows bug.
23703         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23704         succeeds but sets LC_CTYPE to "C", report a failure.
23705         * tests/test-setlocale2.sh: New file.
23706         * tests/test-setlocale2.c: New file.
23707         * modules/setlocale-tests (Files): Add the new files.
23708         (Makefile.am): Enable test-setlocale2.sh test.
23709         * doc/posix-functions/setlocale.texi: Mention workaround.
23710
23711 2011-02-11  Bruno Haible  <bruno@clisp.org>
23712
23713         Tests for module 'setlocale'.
23714         * modules/setlocale-tests: New file.
23715         * tests/test-setlocale1.sh: New file.
23716         * tests/test-setlocale1.c: New file.
23717
23718         New module 'setlocale'.
23719         * lib/locale.in.h (setlocale): New declaration.
23720         * lib/setlocale.c: New file, based on
23721         gettext/gettext-runtime/intl/setlocale.c.
23722         * m4/setlocale.m4: New file.
23723         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23724         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23725         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23726         REPLACE_SETLOCALE.
23727         * modules/setlocale: New file.
23728         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23729         * doc/posix-functions/setlocale.texi: Mention the new module.
23730
23731 2011-02-11  Bruno Haible  <bruno@clisp.org>
23732
23733         Prepare for locale dependent tests on mingw.
23734         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23735         because it has the wrong locale encoding.
23736         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23737         French_France.1252 instead of "fr".
23738         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23739         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23740         because it has the wrong locale encoding.
23741         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23742         native Windows, try Turkish_Turkey.65001.
23743         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23744         Chinese_China.54936.
23745
23746         Prepare for locale dependent tests on mingw.
23747         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23748         differently.
23749         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23750         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23751         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23752         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23753
23754 2011-02-11  Eric Blake  <eblake@redhat.com>
23755
23756         strptime: avoid compiler warnings
23757         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23758         compiler warnings about dead code.
23759         Reported by Daniel P. Berrange.
23760
23761 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23762
23763         doc: update users.txt
23764         * users.txt: Add rcs.
23765
23766 2011-02-10  John W. Eaton  <jwe@gnu.org>
23767
23768         doc: update users.txt
23769         * users.txt: Add octave.
23770
23771 2011-02-10  Jim Meyering  <meyering@redhat.com>
23772
23773         doc: update users.txt
23774         * users.txt: Add iwhd.
23775
23776 2011-02-09  Bruno Haible  <bruno@clisp.org>
23777
23778         gnulib-tool: Make copyright notice adjustment more robust.
23779         * gnulib-tool (func_import): In sed_transform_main_lib_file,
23780         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
23781         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
23782         License".
23783         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
23784
23785 2011-02-06  Bruno Haible  <bruno@clisp.org>
23786
23787         New module 'towctrans'.
23788         * modules/towctrans: New file.
23789         * lib/wctype.in.h (towctrans): New declaration.
23790         * lib/towctrans.c: New file.
23791         * lib/towctrans-impl.h: New file.
23792         * m4/towctrans.m4: New file.
23793         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
23794         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
23795         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
23796         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
23797         * doc/posix-functions/towctrans.texi: Mention the new module.
23798
23799 2011-02-06  Bruno Haible  <bruno@clisp.org>
23800
23801         New module 'wctrans'.
23802         * modules/wctrans: New file.
23803         * lib/wctype.in.h (wctrans): New declaration.
23804         * lib/wctrans.c: New file.
23805         * lib/wctrans-impl.h: New file.
23806         * m4/wctrans.m4: New file.
23807         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
23808         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
23809         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
23810         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
23811         * doc/posix-functions/wctrans.texi: Mention the new module.
23812
23813 2011-02-06  Bruno Haible  <bruno@clisp.org>
23814
23815         New module 'iswctype'.
23816         * modules/iswctype: New file.
23817         * lib/wctype.in.h (iswctype): New declaration.
23818         * lib/iswctype.c: New file.
23819         * lib/iswctype-impl.h: New file.
23820         * m4/iswctype.m4: New file.
23821         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
23822         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
23823         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
23824         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
23825         * doc/posix-functions/iswctype.texi: Mention the new module and the
23826         HP-UX 11.00 problem.
23827
23828 2011-02-06  Bruno Haible  <bruno@clisp.org>
23829
23830         New module 'wctype'.
23831         * modules/wctype: Change to represent the wctype() substitute.
23832         * lib/wctype.in.h (wctype): New declaration.
23833         * lib/wctype.c: New file.
23834         * lib/wctype-impl.h: New file.
23835         * m4/wctype.m4: New file.
23836         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
23837         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
23838         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
23839         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
23840         * doc/posix-functions/wctype.texi: Mention the new module and the
23841         HP-UX 11.00 problem.
23842
23843 2011-02-06  Bruno Haible  <bruno@clisp.org>
23844
23845         wctype-h: Ensure wctype_t and wctrans_t are defined.
23846         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
23847         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23848         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23849         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
23850         HAVE_WCTRANS_T.
23851         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
23852
23853 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
23854
23855         flock: fix license typo
23856
23857         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
23858         omitted.
23859
23860 2011-02-08  Bruno Haible  <bruno@clisp.org>
23861
23862         Split large sed scripts, for HP-UX sed.
23863         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
23864         to avoid HP-UX limit of 99 commands, in the near future.
23865         * modules/stdlib (Makefile.am): Likewise.
23866         * modules/unistd (Makefile.am): Likewise.
23867         * modules/wchar (Makefile.am): Likewise.
23868         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23869         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
23870         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
23871
23872 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23873             Bruno Haible  <bruno@clisp.org>
23874
23875         stdlib: improve random_r modularization
23876         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
23877         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
23878         you also need the random_r module to get this material right.
23879         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
23880         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
23881         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
23882
23883 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23884
23885         stdlib: don't depend on stdint
23886         * lib/stdlib.in.h: Don't include <stdint.h> merely because
23887         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
23888         be independent of whether stdint.h is needed.
23889         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
23890         here, instead of ...
23891         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
23892         struct random_data should be using the random_r module, not just
23893         the stdlib module (which wouldn't make sense: what package needs
23894         just struct random_data without also needing random_r?).
23895         * modules/stdlib (Depends-on): Remove stdint.
23896
23897         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
23898         See the thread rooted at
23899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
23900         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
23901         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
23902         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
23903         __VMS)); previously it was always included (via fcntl--.h).
23904         (getloadavg): Do not use c_strtod.  Instead, approximate it by
23905         hand; this is good enough for load averages.  Also, do not use
23906         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
23907         flags directly if available and don't bother otherwise.  (Packages
23908         that need the extra reliability should use the modules that define
23909         these flags on older platforms that lack them.)
23910         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
23911         fcntl-safer.
23912
23913 2011-02-08  Jim Meyering  <meyering@redhat.com>
23914
23915         di-set.h, ino-map.h: add multiple-inclusion guard
23916         Technically, the guard is required only for ino-map.h, due to its
23917         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
23918         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
23919         * lib/ino-map.h: Likewise.
23920
23921 2011-02-06  Bruno Haible  <bruno@clisp.org>
23922
23923         iswblank: Ensure declaration on glibc systems.
23924         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
23925         * modules/iswblank (Dependencies): Add 'extensions'.
23926         * doc/posix-functions/iswblank.texi: Document the glibc problem.
23927
23928 2011-02-06  Bruno Haible  <bruno@clisp.org>
23929
23930         New module 'iswblank'.
23931         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23932         * modules/iswblank: New file.
23933         * modules/wctype-h (Files): Remove lib/iswblank.c.
23934         (Makefile.am): Substitute GNULIB_ISWBLANK.
23935         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23936         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23937         (gl_WCTYPE_H_DEFAULTS): New macro.
23938         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23939         * modules/iswblank-tests: New file.
23940         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
23941         * tests/test-wctype-h.c (main): Remove iswblank tests.
23942         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
23943         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
23944         of 'wctype-h'.
23945         * NEWS: Mention the change.
23946         * modules/mbchar (Depends-on): Add iswblank.
23947
23948 2011-02-08  Bruno Haible  <bruno@clisp.org>
23949
23950         di-set tests: Refactor.
23951         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
23952         unnecessary includes.
23953         (ASSERT): Remove macro.
23954         (main): Make C90 compliant by avoiding variable declaration after
23955         statement.
23956         * modules/di-set-tests (Files): Add tests/macros.h.
23957
23958 2011-02-08  Bruno Haible  <bruno@clisp.org>
23959
23960         ino-map tests: Refactor.
23961         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
23962         unnecessary includes.
23963         (ASSERT): Remove macro.
23964         (main): Make C90 compliant by avoiding variable declaration after
23965         statement.
23966         * modules/ino-map-tests (Files): Add tests/macros.h.
23967
23968 2011-02-08  Jim Meyering  <meyering@redhat.com>
23969
23970         di-set: add "const" to a cast
23971         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
23972         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
23973
23974 2011-02-06  Bruno Haible  <bruno@clisp.org>
23975
23976         Rename module 'wctype' to 'wctype-h'.
23977         * modules/wctype-h: Renamed from modules/wctype.
23978         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
23979         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
23980         (Files, Depends-on, Makefile.am): Update.
23981         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
23982         (Files, Makefile.am): Update.
23983         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
23984         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
23985         * doc/posix-headers/wctype.texi: Update.
23986         * doc/posix-functions/iswalnum.texi: Update.
23987         * doc/posix-functions/iswalpha.texi: Update.
23988         * doc/posix-functions/iswblank.texi: Update.
23989         * doc/posix-functions/iswcntrl.texi: Update.
23990         * doc/posix-functions/iswdigit.texi: Update.
23991         * doc/posix-functions/iswgraph.texi: Update.
23992         * doc/posix-functions/iswlower.texi: Update.
23993         * doc/posix-functions/iswprint.texi: Update.
23994         * doc/posix-functions/iswpunct.texi: Update.
23995         * doc/posix-functions/iswspace.texi: Update.
23996         * doc/posix-functions/iswupper.texi: Update.
23997         * doc/posix-functions/iswxdigit.texi: Update.
23998         * doc/posix-functions/towlower.texi: Update.
23999         * doc/posix-functions/towupper.texi: Update.
24000         * NEWS: Mention the change.
24001         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24002         * modules/mbchar (Dependencies): Likewise.
24003         * modules/mbswidth (Dependencies): Likewise.
24004         * modules/quotearg (Dependencies): Likewise.
24005         * modules/regex (Dependencies): Likewise.
24006         * modules/wcscasecmp (Dependencies): Likewise.
24007         * modules/wcsncasecmp (Dependencies): Likewise.
24008         * modules/wcwidth (Dependencies): Likewise.
24009
24010 2011-02-06  Bruno Haible  <bruno@clisp.org>
24011
24012         New module 'wcswidth'.
24013         * modules/wcswidth: New file.
24014         * lib/wchar.in.h (wcswidth): New declaration.
24015         * lib/wcswidth.c: New file.
24016         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24017         * m4/wcswidth.m4: New file.
24018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24020         REPLACE_WCSWIDTH.
24021         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24022         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24023         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24024         * doc/posix-functions/wcswidth.texi: Mention the new module.
24025
24026 2011-02-06  Bruno Haible  <bruno@clisp.org>
24027
24028         New module 'wcstok'.
24029         * modules/wcstok: New file.
24030         * lib/wchar.in.h (wcstok): New declaration.
24031         * lib/wcstok.c: New file.
24032         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24033         * m4/wcstok.m4: New file.
24034         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24035         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24036         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24037         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24038         * doc/posix-functions/wcstok.texi: Mention the new module.
24039
24040 2011-02-06  Bruno Haible  <bruno@clisp.org>
24041
24042         New module 'wcsstr'.
24043         * modules/wcsstr: New file.
24044         * lib/wchar.in.h (wcsstr): New declaration.
24045         * lib/wcsstr.c: New file.
24046         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24047         * m4/wcsstr.m4: New file.
24048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24051         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24052         * doc/posix-functions/wcsstr.texi: Mention the new module.
24053
24054 2011-02-06  Bruno Haible  <bruno@clisp.org>
24055
24056         New module 'wcspbrk'.
24057         * modules/wcspbrk: New file.
24058         * lib/wchar.in.h (wcspbrk): New declaration.
24059         * lib/wcspbrk.c: New file.
24060         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24061         * m4/wcspbrk.m4: New file.
24062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24064         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24065         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24066         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24067
24068 2011-02-06  Bruno Haible  <bruno@clisp.org>
24069
24070         New module 'wcsspn'.
24071         * modules/wcsspn: New file.
24072         * lib/wchar.in.h (wcsspn): New declaration.
24073         * lib/wcsspn.c: New file.
24074         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24075         * m4/wcsspn.m4: New file.
24076         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24077         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24078         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24079         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24080         * doc/posix-functions/wcsspn.texi: Mention the new module.
24081
24082 2011-02-06  Bruno Haible  <bruno@clisp.org>
24083
24084         New module 'wcscspn'.
24085         * modules/wcscspn: New file.
24086         * lib/wchar.in.h (wcscspn): New declaration.
24087         * lib/wcscspn.c: New file.
24088         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24089         * m4/wcscspn.m4: New file.
24090         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24091         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24092         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24093         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24094         * doc/posix-functions/wcscspn.texi: Mention the new module.
24095
24096 2011-02-06  Bruno Haible  <bruno@clisp.org>
24097
24098         New module 'wcsrchr'.
24099         * modules/wcsrchr: New file.
24100         * lib/wchar.in.h (wcsrchr): New declaration.
24101         * lib/wcsrchr.c: New file.
24102         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24103         * m4/wcsrchr.m4: New file.
24104         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24105         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24106         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24107         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24108         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24109
24110 2011-02-06  Bruno Haible  <bruno@clisp.org>
24111
24112         New module 'wcschr'.
24113         * modules/wcschr: New file.
24114         * lib/wchar.in.h (wcschr): New declaration.
24115         * lib/wcschr.c: New file.
24116         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24117         * m4/wcschr.m4: New file.
24118         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24119         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24120         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24121         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24122         * doc/posix-functions/wcschr.texi: Mention the new module.
24123
24124 2011-02-06  Bruno Haible  <bruno@clisp.org>
24125
24126         New module 'wcsdup'.
24127         * modules/wcsdup: New file.
24128         * lib/wchar.in.h (wcsdup): New declaration.
24129         * lib/wcsdup.c: New file.
24130         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24131         * m4/wcsdup.m4: New file.
24132         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24133         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24134         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24135         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24136         * doc/posix-functions/wcsdup.texi: Mention the new module.
24137
24138 2011-02-06  Bruno Haible  <bruno@clisp.org>
24139
24140         New module 'wcsxfrm'.
24141         * modules/wcsxfrm: New file.
24142         * lib/wchar.in.h (wcsxfrm): New declaration.
24143         * lib/wcsxfrm.c: New file.
24144         * lib/wcsxfrm-impl.h: New file.
24145         * m4/wcsxfrm.m4: New file.
24146         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24147         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24148         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24149         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24150         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24151
24152 2011-02-06  Bruno Haible  <bruno@clisp.org>
24153
24154         New module 'wcscoll'.
24155         * modules/wcscoll: New file.
24156         * lib/wchar.in.h (wcscoll): New declaration.
24157         * lib/wcscoll.c: New file.
24158         * lib/wcscoll-impl.h: New file.
24159         * m4/wcscoll.m4: New file.
24160         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24161         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24162         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24163         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24164         * doc/posix-functions/wcscoll.texi: Mention the new module.
24165
24166 2011-02-06  Bruno Haible  <bruno@clisp.org>
24167
24168         New module 'wcsncasecmp'.
24169         * modules/wcsncasecmp: New file.
24170         * lib/wchar.in.h (wcsncasecmp): New declaration.
24171         * lib/wcsncasecmp.c: New file.
24172         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24173         * m4/wcsncasecmp.m4: New file.
24174         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24175         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24176         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24177         HAVE_WCSNCASECMP.
24178         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24179         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24180
24181 2011-02-06  Bruno Haible  <bruno@clisp.org>
24182
24183         New module 'wcscasecmp'.
24184         * modules/wcscasecmp: New file.
24185         * lib/wchar.in.h (wcscasecmp): New declaration.
24186         * lib/wcscasecmp.c: New file.
24187         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24188         * m4/wcscasecmp.m4: New file.
24189         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24190         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24192         HAVE_WCSCASECMP.
24193         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24194         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24195
24196 2011-02-05  Bruno Haible  <bruno@clisp.org>
24197
24198         New module 'wcsncmp'.
24199         * modules/wcsncmp: New file.
24200         * lib/wchar.in.h (wcsncmp): New declaration.
24201         * lib/wcsncmp.c: New file.
24202         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24203         * m4/wcsncmp.m4: New file.
24204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24207         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24208         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24209
24210 2011-02-05  Bruno Haible  <bruno@clisp.org>
24211
24212         New module 'wcscmp'.
24213         * modules/wcscmp: New file.
24214         * lib/wchar.in.h (wcscmp): New declaration.
24215         * lib/wcscmp.c: New file.
24216         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24217         * m4/wcscmp.m4: New file.
24218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24221         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24222         * doc/posix-functions/wcscmp.texi: Mention the new module.
24223
24224 2011-02-05  Bruno Haible  <bruno@clisp.org>
24225
24226         New module 'wcsncat'.
24227         * modules/wcsncat: New file.
24228         * lib/wchar.in.h (wcsncat): New declaration.
24229         * lib/wcsncat.c: New file.
24230         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24231         * m4/wcsncat.m4: New file.
24232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24235         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24236         * doc/posix-functions/wcsncat.texi: Mention the new module.
24237
24238 2011-02-05  Bruno Haible  <bruno@clisp.org>
24239
24240         New module 'wcscat'.
24241         * modules/wcscat: New file.
24242         * lib/wchar.in.h (wcscat): New declaration.
24243         * lib/wcscat.c: New file.
24244         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24245         * m4/wcscat.m4: New file.
24246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24249         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24250         * doc/posix-functions/wcscat.texi: Mention the new module.
24251
24252 2011-02-05  Bruno Haible  <bruno@clisp.org>
24253
24254         New module 'wcpncpy'.
24255         * modules/wcpncpy: New file.
24256         * lib/wchar.in.h (wcpncpy): New declaration.
24257         * lib/wcpncpy.c: New file.
24258         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24259         * m4/wcpncpy.m4: New file.
24260         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24261         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24262         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24263         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24264         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24265
24266 2011-02-05  Bruno Haible  <bruno@clisp.org>
24267
24268         New module 'wcsncpy'.
24269         * modules/wcsncpy: New file.
24270         * lib/wchar.in.h (wcsncpy): New declaration.
24271         * lib/wcsncpy.c: New file.
24272         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24273         * m4/wcsncpy.m4: New file.
24274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24276         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24277         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24278         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24279
24280 2011-02-05  Bruno Haible  <bruno@clisp.org>
24281
24282         New module 'wcpcpy'.
24283         * modules/wcpcpy: New file.
24284         * lib/wchar.in.h (wcpcpy): New declaration.
24285         * lib/wcpcpy.c: New file.
24286         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24287         * m4/wcpcpy.m4: New file.
24288         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24289         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24290         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24291         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24292         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24293
24294 2011-02-05  Bruno Haible  <bruno@clisp.org>
24295
24296         New module 'wcscpy'.
24297         * modules/wcscpy: New file.
24298         * lib/wchar.in.h (wcscpy): New declaration.
24299         * lib/wcscpy.c: New file.
24300         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24301         * m4/wcscpy.m4: New file.
24302         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24303         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24304         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24305         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24306         * doc/posix-functions/wcscpy.texi: Mention the new module.
24307
24308 2011-02-05  Bruno Haible  <bruno@clisp.org>
24309
24310         New module 'wcsnlen'.
24311         * modules/wcsnlen: New file.
24312         * lib/wchar.in.h (wcsnlen): New declaration.
24313         * lib/wcsnlen.c: New file.
24314         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24315         * m4/wcsnlen.m4: New file.
24316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24319         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24320         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24321
24322 2011-02-05  Bruno Haible  <bruno@clisp.org>
24323
24324         New module 'wcslen'.
24325         * modules/wcslen: New file.
24326         * lib/wchar.in.h (wcslen): New declaration.
24327         * lib/wcslen.c: New file.
24328         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24329         * m4/wcslen.m4: New file.
24330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24332         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24333         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24334         * doc/posix-functions/wcslen.texi: Mention the new module.
24335
24336 2011-02-05  Bruno Haible  <bruno@clisp.org>
24337
24338         New module 'wmemset'.
24339         * modules/wmemset: New file.
24340         * lib/wchar.in.h (wmemset): New declaration.
24341         * lib/wmemset.c: New file.
24342         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24343         * m4/wmemset.m4: New file.
24344         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24345         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24346         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24347         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24348         * doc/posix-functions/wmemset.texi: Mention the new module.
24349
24350 2011-02-05  Bruno Haible  <bruno@clisp.org>
24351
24352         New module 'wmemmove'.
24353         * modules/wmemmove: New file.
24354         * lib/wchar.in.h (wmemmove): New declaration.
24355         * lib/wmemmove.c: New file.
24356         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24357         * m4/wmemmove.m4: New file.
24358         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24359         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24360         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24361         HAVE_WMEMMOVE.
24362         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24363         * doc/posix-functions/wmemmove.texi: Mention the new module.
24364
24365 2011-02-05  Bruno Haible  <bruno@clisp.org>
24366
24367         New module 'wmemcpy'.
24368         * modules/wmemcpy: New file.
24369         * lib/wchar.in.h (wmemcpy): New declaration.
24370         * lib/wmemcpy.c: New file.
24371         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24372         * m4/wmemcpy.m4: New file.
24373         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24374         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24375         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24376         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24377         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24378
24379 2011-02-05  Bruno Haible  <bruno@clisp.org>
24380
24381         New module 'wmemcmp'.
24382         * modules/wmemcmp: New file.
24383         * lib/wchar.in.h (wmemcmp): New declaration.
24384         * lib/wmemcmp.c: New file.
24385         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24386         * m4/wmemcmp.m4: New file.
24387         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24388         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24389         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24390         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24391         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24392
24393 2011-02-07  Jim Meyering  <meyering@redhat.com>
24394
24395         di-set, ino-map: new modules, from coreutils
24396         * lib/di-set.c: New file.
24397         * lib/di-set.h: Likewise.
24398         * lib/ino-map.c: Likewise.
24399         * lib/ino-map.h: Likewise.
24400         * modules/di-set: Likewise.
24401         * modules/di-set-tests: Likewise.
24402         * modules/ino-map: Likewise.
24403         * modules/ino-map-tests: Likewise.
24404         * tests/test-di-set.c: Likewise.
24405         * tests/test-ino-map.c: Likewise.
24406
24407 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24408
24409         getloadavg: merge minor changes from Emacs
24410
24411         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24412         (getloadavg): Use memset, not bzero.
24413
24414         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24415         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24416         clash (bug#86).
24417
24418 2010-11-14  Bruno Haible  <bruno@clisp.org>
24419
24420         Allow multiple gnulib generated replacements to coexist.
24421         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24422         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24423         * lib/langinfo.in.h (nl_item): Likewise.
24424         * lib/math.in.h (_NaN, NAN): Likewise.
24425         * lib/netdb.in.h (struct addrinfo): Likewise.
24426         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24427         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24428         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24429         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24430         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24431         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24432         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24433         pthread_mutexattr_init, pthread_mutexattr_settype,
24434         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24435         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24436         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24437         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24438         * lib/sched.in.h (struct sched_param): Likewise.
24439         * lib/se-selinux.in.h (security_class_t, security_context_t,
24440         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24441         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24442         lsetfilecon, fsetfilecon, security_check_context,
24443         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24444         Likewise.
24445         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24446         Likewise.
24447         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24448         _gl_function_taking_int_returning_void_t, union sigval,
24449         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24450         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24451         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24452         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24453         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24454         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24455         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24456         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24457         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24458         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24459         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24460         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24461         socklen_t, rpl_fd_isset): Likewise.
24462         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24463         * lib/sys_time.in.h (struct timeval): Likewise.
24464         * lib/sys_times.in.h (struct tms): Likewise.
24465         * lib/sys_utsname.in.h (struct utsname):
24466         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24467         * lib/unistd.in.h (getpagesize): Likewise.
24468         * lib/wchar.in.h (mbstate_t): Likewise.
24469         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24470         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24471         towlower, towupper): Likewise.
24472         Reported by Sam Steingold <sds@gnu.org>.
24473
24474 2011-02-05  Eric Blake  <eblake@redhat.com>
24475
24476         unsetenv: work around Haiku issues
24477         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24478         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24479
24480 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24481
24482         libposix: avoid calling error() within libposix
24483         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24484         is defined.
24485
24486 2011-02-05  Eric Blake  <eblake@redhat.com>
24487
24488         strerror_r-posix: port to cygwin
24489         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24490         implementation.
24491         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24492         * tests/test-strerror_r.c (main): Fix test.
24493         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24494         issue.
24495
24496 2011-02-05  Bruno Haible  <bruno@clisp.org>
24497
24498         New module 'wmemchr'.
24499         * modules/wmemchr: New file.
24500         * lib/wchar.in.h (wmemchr): New declaration.
24501         * lib/wmemchr.c: New file.
24502         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24503         * m4/wmemchr.m4: New file.
24504         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24505         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24506         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24507         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24508         * doc/posix-functions/wmemchr.texi: Mention the new module.
24509
24510 2011-02-04  Eric Blake  <eblake@redhat.com>
24511
24512         fdopendir: detect FreeBSD bug
24513         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24514         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24515
24516 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24517
24518         stdbool: do not define HAVE_STDBOOL_H
24519         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24520         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24521         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24522         imported from the latest Autoconf git.  It was motivated by Emacs,
24523         which uses gnulib but does not need HAVE_STDBOOL_H.
24524
24525 2011-02-04  Bruno Haible  <bruno@clisp.org>
24526
24527         wcsnrtombs: Prepare for new module wwcsnrtombs.
24528         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24529         * lib/wcsnrtombs.c: Include it.
24530         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24531
24532         wcsrtombs: Prepare for new module wwcsrtombs.
24533         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24534         * lib/wcsrtombs.c: Include it.
24535         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24536
24537         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24538         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24539         * lib/mbsnrtowcs.c: Include it.
24540         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24541
24542         mbsrtowcs: Prepare for new module mbsrtowwcs.
24543         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24544         * lib/mbsrtowcs.c: Include it.
24545         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24546
24547 2011-02-04  Bruno Haible  <bruno@clisp.org>
24548
24549         vasnprintf: Reduce use of malloc for small format strings.
24550         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24551         (arguments): Add room for the first 7 arguments.
24552         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24553         (char_directives, u8_directives, u16_directives, u32_directives): Add
24554         room for the first 7 directives.
24555         * lib/printf-parse.c: Include <string.h>.
24556         (PRINTF_PARSE): Change memory handling code so that it uses the first
24557         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24558         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24559         Reported by Pádraig Brady <P@draigbrady.com>.
24560
24561 2011-01-31  Eric Blake  <eblake@redhat.com>
24562
24563         dup2: work around Haiku bug
24564         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24565         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24566         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24567         * tests/test-dup2.c (main): Enhance test.
24568
24569 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24570
24571         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24572         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24573         declared by eglibc 2.11.2.
24574         * lib/stdio.in.h: Likewise.
24575
24576 2011-01-31  Eric Blake  <eblake@redhat.com>
24577
24578         ignore-value: add missing test dependency
24579         * tests/test-ignore-value.c: Revert previous change; stdio.h
24580         provides off_t.
24581         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24582
24583 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24584
24585         mktime: clarify long_int width checking
24586         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24587         the top level, to make it clearer that the assumption about
24588         long_int width is being checked.  See
24589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24590
24591 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24592
24593         ignore-value: Fix self-test.
24594         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24595
24596 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24597
24598         TYPE_MAXIMUM: avoid theoretically undefined behavior
24599         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24600         negative number, which the C Standard says has undefined behavior.
24601         In practice this is not a problem, but might as well do it by the book.
24602         Reported by Rich Felker and Eric Blake; see
24603         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24604         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24605         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24606         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24607         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24608         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24609         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24610
24611         mktime: #undef mktime before #defining it
24612         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24613
24614         mktime: systematically normalize tm_isdst comparisons
24615         * lib/mktime.c (isdst_differ): New function.
24616         (__mktime_internal): Use it systematically for all isdst comparisons.
24617         This completes the fix for libc BZ #6723, and removes the need for
24618         normalizing tm_isdst.  See
24619         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24620         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24621
24622         mktime: fix some integer overflow issues and sidestep the rest
24623
24624         This was prompted by a bug report by Benjamin Lindner for MinGW
24625         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24626         His bug is due to signed integer overflow (0 - INT_MIN), and I
24627         I scanned through mktime.c looking for other integer overflow
24628         problems, fixing all the bugs I found.
24629
24630         Although the C Standard says the resulting code is still not safe
24631         in the presence of integer overflow, in practice it should be good
24632         enough for all real-world two's-complement implementations, except
24633         for debugging environments that deliberately trap on integer
24634         overflow (e.g., gcc -ftrapv).
24635
24636         * lib/mktime.c (WRAPV): New macro.
24637         (SHR): Also check that long_int and time_t shift right in the
24638         usual way, before using the fast-but-unportable method.
24639         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24640         used.  The code already assumed two's complement, so there's
24641         no need to test for alternatives.  All uses removed.
24642         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24643         the C standard.  Problem reported by Rich Felker in
24644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24645         (twos_complement_arithmetic): Also check long_int and time_t.
24646         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24647         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24648         (__mktime_internal): Avoid integer overflow with unary subtraction
24649         in two instances where -1 - X is an adequate replacement for -X,
24650         since the calculations are approximate.
24651
24652 2011-01-29  Eric Blake  <eblake@redhat.com>
24653
24654         mktime: avoid infinite loop
24655         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24656         type; behavior is still undefined but portable to all known targets.
24657         Reported by Rich Felker.
24658
24659 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24660
24661         rename, unlink, same-inode: Relicense.
24662         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24663         * modules/unlink (License): Likewise.
24664         * modules/same-inode (License): Likewise.
24665
24666 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24667
24668         mktime: avoid problems on NetBSD 5 / i386
24669         * lib/mktime.c (long_int): New type.  This works around a problem
24670         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24671         but time_t is 64 bits, and where I expect the existing code is
24672         wrong in some cases.
24673         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24674         (ydhms_diff): Bring back the compile-time check for wide-enough
24675         year and yday.
24676
24677         mktime: fix misspelling in comment
24678         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24679         This merges all recent glibc changes of importance.
24680
24681 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24682
24683         move-if-change: cope with concurrent mv of identical file.
24684         * build-aux/move-if-change (CMPPROG): Accept environment
24685         variable as an override for `cmp'.
24686         (usage): Document CMPPROG.
24687         Adjust comparison to drop stdout.  Cope with failure of mv if
24688         the target file exists and is identical to the source, for
24689         parallel builds.
24690         Report from H.J. Lu against binutils in PR binutils/12283.
24691
24692 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24693
24694         * users.txt: Mention sharutils.
24695
24696 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24697
24698         * users.txt: Mention OATH Toolkit.
24699
24700 2011-01-27  Bruno Haible  <bruno@clisp.org>
24701
24702         Prepare for supporting FreeBSD 10.
24703         * build-aux/config.libpath: Remove handling of freebsd1*.
24704
24705 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24706
24707         Prepare for supporting FreeBSD 10.
24708         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24709         match FreeBSD 10.0.
24710
24711 2011-01-27  Bruno Haible  <bruno@clisp.org>
24712
24713         vma-iter, get-rusage-as: Add OpenBSD support.
24714         * modules/vma-iter (configure.ac): Test for mquery.
24715         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24716         * lib/vma-iter.c: Include <sys/mman.h>.
24717         (vma_iterate): Add an implementation based on mquery().
24718         * lib/resource-ext.h (get_rusage_as): Update comments.
24719         * lib/get-rusage-as.c: Likewise.
24720         * lib/get-rusage-data.c: Likewise.
24721
24722 2011-01-26  Karl Berry  <karl@gnu.org>
24723
24724         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24725         variables to make it easier to override the makeinfo program used.
24726
24727 2011-01-26  Eric Blake  <eblake@redhat.com>
24728
24729         fcntl: work around Haiku F_DUPFD bugs
24730         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24731         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24732         cloexec bit on duplication.
24733         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24734
24735 2011-01-26  Bruno Haible  <bruno@clisp.org>
24736
24737         Enable memory leak tests on AIX.
24738         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24739         * tests/test-fprintf-posix3.c (main): Likewise.
24740
24741 2011-01-26  Bruno Haible  <bruno@clisp.org>
24742
24743         Tests for module 'get-rusage-data'.
24744         * modules/get-rusage-data-tests: New file.
24745         * tests/test-get-rusage-data.c: New file.
24746
24747         New module 'get-rusage-data'.
24748         * lib/resource-ext.h (get_rusage_data): New declaration.
24749         * lib/get-rusage-data.c: New file.
24750         * modules/get-rusage-data: New file.
24751
24752 2011-01-25  Bruno Haible  <bruno@clisp.org>
24753
24754         get-rusage-as: Allow for easier testing.
24755         * lib/resource-ext.h (get_rusage_as): Add comment.
24756         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24757         (main): New function for interactive testing.
24758
24759 2011-01-25  Bruno Haible  <bruno@clisp.org>
24760
24761         vma-iter: Treat Haiku like BeOS.
24762         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24763         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24764
24765 2011-01-25  Eric Blake  <eblake@redhat.com>
24766
24767         c-stack: fix regression on cygwin when libsigsegv is present
24768         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
24769
24770 2011-01-24  Bruno Haible  <bruno@clisp.org>
24771
24772         vma-iter: Avoid empty intervals.
24773         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
24774         on an empty interval.
24775
24776 2011-01-24  Jim Meyering  <meyering@redhat.com>
24777
24778         u64: remove unnecessary #include
24779         * lib/u64.h: Don't include <stddef.h>.  It was not used.
24780
24781 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24782
24783         Allow the user to avoid the HAVE_RAW_DECL_* macros.
24784         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
24785
24786 2011-01-23  Bruno Haible  <bruno@clisp.org>
24787
24788         New module 'vma-iter'.
24789         * lib/vma-iter.h: New file.
24790         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
24791         * modules/vma-iter: New file.
24792         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
24793         for get_rusage_as_via_iterator.
24794         (vma_iterate_callback): New function.
24795         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
24796         * modules/get-rusage-as (Depends-on): Add vma-iter.
24797
24798 2011-01-23  Bruno Haible  <bruno@clisp.org>
24799
24800         uninorm: Tweak includes.
24801         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
24802         Reported by Jim Meyering.
24803
24804 2011-01-23  Bruno Haible  <bruno@clisp.org>
24805
24806         get-rusage-as: Improve on NetBSD.
24807         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
24808         /proc, like on FreeBSD.
24809
24810 2011-01-23  Jim Meyering  <meyering@redhat.com>
24811
24812         xreadlink.h: remove unnecessary #include
24813         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
24814
24815         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
24816         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
24817
24818 2011-01-23  Bruno Haible  <bruno@clisp.org>
24819
24820         get-rusage-as: Fix bug.
24821         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
24822         original limit when aborting the first loop.
24823
24824 2011-01-23  Bruno Haible  <bruno@clisp.org>
24825
24826         wctype: Ensure valid C syntax.
24827         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
24828         unconditionally, instead of gl_NEXT_HEADERS conditionally.
24829
24830 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
24831
24832         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
24833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
24834         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
24835         as they are needed only for configure's test case.
24836         This removes two unnecessary symbols from config.h.
24837
24838         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
24839         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
24840         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
24841         AC_CHECK_HEADERS_ONCE on a header that we also invoke
24842         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
24843         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
24844         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
24845         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
24846         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24847         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24848         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24849         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24850         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24851         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24852         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
24853         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24854         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24855         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24856
24857 2011-01-21  Eric Blake  <eblake@redhat.com>
24858
24859         maintainer-makefile: work with older git for submodule check
24860         * top/maint.mk (public-submodule-commit): Rewrite to avoid
24861         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
24862         Reported by Matthias Bolte.
24863
24864         bootstrap: minor portability fixes
24865         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
24866         (usage): Omit leading capital and trailing . on help phrases, per
24867         GNU Coding Standards.
24868         (check_versions, top level): Prefix messages with script name.
24869
24870 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
24871
24872         bootstrap: support --no-git option
24873         * build-aux/bootstrap: Add --no-git option, to be used when
24874         --gnulib-srcdir points to the exact desired checkout.
24875
24876 2011-01-21  Eric Blake  <eblake@redhat.com>
24877
24878         strerror_r-posix: work with glibc 2.13
24879         * lib/strerror_r.c (strerror_r): Fix return type.
24880
24881 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24882             Bruno Haible  <bruno@clisp.org>
24883
24884         uN_strstr: New unit tests.
24885         * modules/unistr/u8-strstr-tests: New file.
24886         * modules/unistr/u16-strstr-tests: New file.
24887         * modules/unistr/u32-strstr-tests: New file.
24888         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
24889         * tests/unistr/test-u8-strstr.c: New file.
24890         * tests/unistr/test-u16-strstr.c: New file.
24891         * tests/unistr/test-u32-strstr.c: New file.
24892
24893 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24894             Bruno Haible  <bruno@clisp.org>
24895
24896         Make uN_strstr functions O(n) worst-case.
24897         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
24898         16-bit and 32-bit unit cases, use the unibyte algorithm from
24899         lib/mbsstr.c.
24900         * lib/unistr/u8-strstr.c: Include <string.h>.
24901         (UNIT_IS_UINT8_T): New macro.
24902         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
24903         (U_STRLEN, U_STRNLEN): New macros.
24904         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
24905         (U_STRLEN, U_STRNLEN): New macros.
24906         * modules/unistr/u8-strstr (Depends-on): Add strstr.
24907         (configure.ac): Update required libunistring version.
24908         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
24909         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
24910         malloca.
24911         (configure.ac): Update required libunistring version.
24912         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
24913         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
24914         malloca.
24915         (configure.ac): Update required libunistring version.
24916
24917 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24918             Bruno Haible  <bruno@clisp.org>
24919
24920         Prepare for faster uN_strstr functions.
24921         * lib/str-kmp.h: Support definable UNITs.
24922         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
24923         needle_len argument.
24924         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
24925         * lib/mbscasestr.c (mbscasestr): Likewise.
24926
24927 2011-01-21  Pádraig Brady <P@draigBrady.com>
24928
24929         malloca-tests: make faster by unsetting MALLOC_PERTURB_
24930         * tests/test-malloca.c (main): Unset the environment variable
24931         to greatly speed up the test.
24932         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24933         * modules/malloca-tests: Depend on unsetenv.
24934
24935 2011-01-21  Pádraig Brady <P@draigBrady.com>
24936
24937         ignore-value: remove stdint dependency
24938         * lib/ignore-value.h: Remove <stdint.h>
24939         * modules/ignore-value: Remove stdint dependency.
24940
24941 2011-01-21  Jim Meyering  <meyering@redhat.com>
24942
24943         maint.mk: adjust variable name to be consistent with other gl_ vars
24944         * top/maint.mk (gl_public_submodule_commit): Rename the variable
24945         to be lower case.
24946
24947 2011-01-20  Jim Meyering  <meyering@redhat.com>
24948
24949         maint.mk: make "check" depend on public-submodule-commit by default
24950         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
24951
24952 2011-01-20  Bruno Haible  <bruno@clisp.org>
24953
24954         mbfile, mbiter: Complete change from 2008-12-21.
24955         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
24956         * m4/mbiter.m4 (gl_MBITER): Likewise.
24957
24958 2011-01-20  Jim Meyering  <meyering@redhat.com>
24959
24960         init.sh: insert space between each function name and "()"
24961         * tests/init.sh: Make it a little easier to see that a function's
24962         name is "warn_", and not "warn" when looking at the first part of
24963         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
24964
24965 2011-01-20  Jim Meyering  <meyering@redhat.com>
24966
24967         mountlist: clean up code formatting
24968         * lib/mountlist.c (read_file_system_list): Split a long line,
24969         correct bracing style, use NULL in place of "(struct statfs *)0",
24970         don't parenthesize return value, add spaces around "=" and after
24971         ";-in-for-stmt".
24972
24973 2011-01-14  Markus Duft <mduft@gentoo.org>
24974
24975         mountlist: add support for Interix
24976         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
24977         Apply statvfs to all entries of /dev/fs.
24978         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
24979         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
24980
24981 2011-01-20  Jim Meyering  <meyering@redhat.com>
24982
24983         maint.mk: improve the public-submodule-commit rule
24984         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
24985         to suppress printing of its commands... unless V=1.
24986         Add git submodule's --quiet option to suppress printing of e.g.,
24987         "Entering gnulib" output.
24988         "cd" into $(srcdir) before running git submodule.
24989
24990 2011-01-20  Bruno Haible  <bruno@clisp.org>
24991
24992         include_next: Fix bug introduced on 2011-01-18.
24993         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
24994         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
24995         ac_cv_header_... variable if the second argument is not 'check'.
24996         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
24997         gl_NEXT_HEADERS_INTERNAL.
24998
24999 2011-01-20  Bruno Haible  <bruno@clisp.org>
25000
25001         Allow the user to avoid the GNULIB_TEST_* macros.
25002         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25003         Suggested by Paul Eggert.
25004
25005 2011-01-14  Jim Meyering  <meyering@redhat.com>
25006
25007         bootstrap: avoid failure when there is no .gitmodules file
25008         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25009         has been assigned to, even when its value is the empty string.
25010         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25011         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25012         Reported by John W. Eaton <jwe@gnu.org>.
25013
25014 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25015
25016         assume <ctype.h>, ..., <time.h> exist
25017         For years gnulib has been assuming the existence of the headers
25018         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25019         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25020         them, since they don't appear to be needed.
25021         * README (Portability guidelines): Document this.
25022         * lib/flock.c: Assume <fcntl.h> exists.
25023         * lib/regex_internal.h: Assume <locale.h> exists.
25024         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25025         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25026         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25027         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25028         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25029         * m4/regex.m4 (gl_REGEX): Likewise.
25030         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25031         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25032         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25033         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25034         * tests/test-argp.c: Likewise.
25035         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25036
25037         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25038         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25039         AA_APPLE_UNIVERSAL_BUILD.  See
25040         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25041         * NEWS: Document this.
25042
25043 2011-01-19  Eric Blake  <eblake@redhat.com>
25044
25045         c-stack: assume stack overflow if SA_SIGINFO unsupported
25046         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25047         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25048         sigaction will work.
25049         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25050         behavior match Linux.
25051         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25052
25053         stdbool-tests: accommodate Haiku
25054         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25055
25056         binary-io: fix O_TEXT on Haiku
25057         * modules/binary-io (Depends-on): Add fcntl-h.
25058         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25059         than blindly undefining O_TEXT.
25060         Reported by Scott McCreary.
25061
25062 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25063
25064         include_next: do not check for standard headers like stddef.h
25065
25066         I found this problem when modifying Emacs to use gnulib.
25067         I noticed that it added HAVE_STDDEF_H to config.h, even though
25068         gnulib always assumes <stddef.h> exists as per README and this
25069         symbol is unnecessary.
25070         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25071         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25072         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25073         faster for headers like stddef.h that are known to exist.
25074         (gl_CHECK_NEXT_HEADERS): Use it.
25075         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25076         rather than gl_CHECK_NEXT_HEADERS.
25077         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25078         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25079
25080 2011-01-18  Eric Blake  <eblake@redhat.com>
25081
25082         ansi-c++-opt: skip C++ dependency style if C++ is unused
25083         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25084         tests when we know C++ compilation is not desired.
25085         Reported by Scott McCreary.
25086
25087 2011-01-18  Bruno Haible  <bruno@clisp.org>
25088
25089         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25090         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25091         (main): Perform test also when getrlimit and setrlimit don't exist or
25092         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25093         limiting the address space size using setrlimit, compare the address
25094         space size before and after the the test.
25095         * tests/test-dprintf-posix2.c: Likewise.
25096         * tests/test-fprintf-posix3.sh: Update skip messages.
25097         * tests/test-dprintf-posix2.sh: Likewise.
25098         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25099         * modules/dprintf-posix-tests (Depends-on): Likewise.
25100         Reported by Bruce Korb <bkorb@gnu.org> and
25101         Gary V. Vaughan <gary@gnu.org>.
25102
25103 2011-01-18  Bruno Haible  <bruno@clisp.org>
25104
25105         get-rusage-as: Improvement for Cygwin.
25106         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25107         areas that are merely reserved.
25108
25109 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25110
25111         strftime: remove dependencies on multibyte modules
25112
25113         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25114         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25115         only if __osf__ is defined, and I suspect OSF doesn't need these
25116         other modules.  If my guess is wrong, we'll need to come up with a
25117         variant of strftime that doesn't need the multibyte modules.
25118
25119         I discovered this problem when attempting modify Emacs to use the
25120         strftime module.  With the previous gnulib, this caused Emacs to
25121         need 31 new files, ranging from lib/config.charset to
25122         m4/wint_t.m4.  This was overkill and I expect would be offputting
25123         to the Emacs maintainers.  After this change, only 6 new files are
25124         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25125         stdbool.m4, and tm_gmtoff.m4.
25126
25127         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25128         Suggested by Bruno Haible in
25129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25130         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25131         and do not check for wchar.h.
25132         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25133         (Depends-on): Remove mbrlen, mbsinit, wchar.
25134
25135 2011-01-18  Bruno Haible  <bruno@clisp.org>
25136
25137         Tests for module 'get-rusage-as'.
25138         * modules/get-rusage-as-tests: New file.
25139         * tests/test-get-rusage-as.c: New file.
25140
25141         New module 'get-rusage-as'.
25142         * modules/get-rusage-as: New file.
25143         * lib/resource-ext.h: New file.
25144         * lib/get-rusage-as.c: New file.
25145
25146 2011-01-17  Eric Blake  <eblake@redhat.com>
25147
25148         sigaction: relax license from LGPLv3+ to LGPLv2+
25149         * modules/sigaction (License): Relax to LGPLv2+.
25150
25151 2011-01-14  Bruno Haible  <bruno@clisp.org>
25152
25153         filemode: Make function declarations usable in C++ mode.
25154         * lib/filemode.h: Enclose function declarations in extern "C" block.
25155         Reported by John W. Eaton <jwe@gnu.org>.
25156
25157 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25158
25159         save-cwd: no longer include "xgetcwd.h"
25160         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25161         This avoids a compilation failure in projects that use save-cwd
25162         without also using the xgetcwd module.
25163
25164 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25165
25166         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25167         This is so that a program like Emacs, which needs only dtoastr,
25168         does not have to bother with distributing and compiling ftoastr
25169         and ldtoastr.
25170         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25171         * modules/dtoastr, modules/ldtoastr: New files.
25172         * modules/ftoastr: Now works just for 'float'.
25173         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25174         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25175         dtoastr.c, ldtoastr.c.
25176
25177 2011-01-11  Jim Meyering  <meyering@redhat.com>
25178
25179         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25180         There is no need to work around the lack of the fchdir function,
25181         since gnulib can now provide a replacement when required.
25182         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25183         * modules/save-cwd (Depends-on): Add fchdir.
25184
25185 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25186
25187         openat, save-cwd: avoid xmalloc
25188
25189         This removes a direct (but undocumented) dependency of openat on
25190         xalloc, along with an indirect dependency via save-cwd.  It also
25191         removes a dependency of save-cwd on xgetcwd, and thereby
25192         indirectly on xalloc.  This change causes the openat substitute
25193         to fall back on save_cwd when memory is tight, and for save_cwd to
25194         fail instead of dying when memory is tight, but that's good enough.
25195         Problem and initial idea for fix reported by Bastien Roucaries in
25196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25197
25198         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25199         xalloc.h (for xmalloc).
25200         (openat_proc_name): Use malloc, not xmalloc.
25201         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25202         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25203
25204         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25205         This avoids heap allocation for file names whose lengths are in
25206         the range 512..1023, with the upper bound increasing to at most
25207         4031 depending on the platform's PATH_MAX.  (We do not want
25208         pathmax.h here as it might supply a non-constant PATH_MAX.)
25209         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25210         Perhaps they should be moved to malloca.h?
25211         (OPENAT_BUFFER_SIZE): Use them.
25212
25213 2011-01-10  Bruno Haible  <bruno@clisp.org>
25214
25215         doc: Update users.txt.
25216         * users.txt: Add recutils.
25217
25218 2011-01-09  Karl Berry  <karl@gnu.org>
25219
25220         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25221
25222         * doc/configmake.texi: New file.
25223         * doc/gnulib.texi: Include it.
25224         * modules/configmake: Move documentation from here.
25225
25226 2011-01-09  Bruno Haible  <bruno@clisp.org>
25227
25228         Update to Unicode 6.0.0.
25229         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25230         (get_lbp): Update for Unicode 6.0.0.
25231         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25232         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25233         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25234         U+11001, U+11038..U+11046. Remove U+06DE.
25235         (uc_width): Fix bounds of planes.
25236         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25237         lib/uniwidth/width.c.
25238         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25239         trailing whitespace removed.
25240         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25241         without comments, but with the original copyright notice.
25242         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25243         * lib/unicase/ignorable.h: Likewise.
25244         * lib/unicase/tocasefold.h: Likewise.
25245         * lib/unicase/tolower.h: Likewise.
25246         * lib/unicase/totitle.h: Likewise.
25247         * lib/unicase/toupper.h: Likewise.
25248         * lib/unictype/bidi_of.h: Likewise.
25249         * lib/unictype/blocks.h: Likewise.
25250         * lib/unictype/categ_C.h: Likewise.
25251         * lib/unictype/categ_Cn.h: Likewise.
25252         * lib/unictype/categ_L.h: Likewise.
25253         * lib/unictype/categ_Ll.h: Likewise.
25254         * lib/unictype/categ_Lm.h: Likewise.
25255         * lib/unictype/categ_Lo.h: Likewise.
25256         * lib/unictype/categ_Lu.h: Likewise.
25257         * lib/unictype/categ_M.h: Likewise.
25258         * lib/unictype/categ_Mc.h: Likewise.
25259         * lib/unictype/categ_Me.h: Likewise.
25260         * lib/unictype/categ_Mn.h: Likewise.
25261         * lib/unictype/categ_N.h: Likewise.
25262         * lib/unictype/categ_Nd.h: Likewise.
25263         * lib/unictype/categ_No.h: Likewise.
25264         * lib/unictype/categ_P.h: Likewise.
25265         * lib/unictype/categ_Po.h: Likewise.
25266         * lib/unictype/categ_S.h: Likewise.
25267         * lib/unictype/categ_Sc.h: Likewise.
25268         * lib/unictype/categ_Sk.h: Likewise.
25269         * lib/unictype/categ_Sm.h: Likewise.
25270         * lib/unictype/categ_So.h: Likewise.
25271         * lib/unictype/categ_of.h: Likewise.
25272         * lib/unictype/combining.h: Likewise.
25273         * lib/unictype/ctype_alnum.h: Likewise.
25274         * lib/unictype/ctype_alpha.h: Likewise.
25275         * lib/unictype/ctype_graph.h: Likewise.
25276         * lib/unictype/ctype_lower.h: Likewise.
25277         * lib/unictype/ctype_print.h: Likewise.
25278         * lib/unictype/ctype_punct.h: Likewise.
25279         * lib/unictype/ctype_upper.h: Likewise.
25280         * lib/unictype/decdigit.h: Likewise.
25281         * lib/unictype/digit.h: Likewise.
25282         * lib/unictype/numeric.h: Likewise.
25283         * lib/unictype/pr_alphabetic.h: Likewise.
25284         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25285         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25286         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25287         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25288         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25289         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25290         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25291         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25292         * lib/unictype/pr_case_ignorable.h: Likewise.
25293         * lib/unictype/pr_cased.h: Likewise.
25294         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25295         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25296         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25297         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25298         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25299         * lib/unictype/pr_combining.h: Likewise.
25300         * lib/unictype/pr_composite.h: Likewise.
25301         * lib/unictype/pr_currency_symbol.h: Likewise.
25302         * lib/unictype/pr_decimal_digit.h: Likewise.
25303         * lib/unictype/pr_deprecated.h: Likewise.
25304         * lib/unictype/pr_format_control.h: Likewise.
25305         * lib/unictype/pr_grapheme_base.h: Likewise.
25306         * lib/unictype/pr_grapheme_extend.h: Likewise.
25307         * lib/unictype/pr_grapheme_link.h: Likewise.
25308         * lib/unictype/pr_id_continue.h: Likewise.
25309         * lib/unictype/pr_id_start.h: Likewise.
25310         * lib/unictype/pr_ideographic.h: Likewise.
25311         * lib/unictype/pr_lowercase.h: Likewise.
25312         * lib/unictype/pr_math.h: Likewise.
25313         * lib/unictype/pr_numeric.h: Likewise.
25314         * lib/unictype/pr_other_alphabetic.h: Likewise.
25315         * lib/unictype/pr_other_id_continue.h: Likewise.
25316         * lib/unictype/pr_other_math.h: Likewise.
25317         * lib/unictype/pr_punctuation.h: Likewise.
25318         * lib/unictype/pr_sentence_terminal.h: Likewise.
25319         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25320         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25321         * lib/unictype/pr_unified_ideograph.h: Likewise.
25322         * lib/unictype/pr_uppercase.h: Likewise.
25323         * lib/unictype/pr_xid_continue.h: Likewise.
25324         * lib/unictype/pr_xid_start.h: Likewise.
25325         * lib/unictype/scripts.h: Likewise.
25326         * lib/unictype/scripts_byname.gperf: Likewise.
25327         * lib/unictype/sy_java_ident.h: Likewise.
25328         * lib/unigbrk/gbrkprop.h: Likewise.
25329         * lib/unilbrk/lbrkprop1.h: Likewise.
25330         * lib/unilbrk/lbrkprop2.h: Likewise.
25331         * lib/uninorm/decomposition-table2.h: Likewise.
25332         * lib/uniwbrk/wbrkprop.h: Likewise.
25333         * tests/unicase/test-cased.c: Likewise.
25334         * tests/unicase/test-ignorable.c: Likewise.
25335         * tests/unicase/test-uc_tolower.c: Likewise.
25336         * tests/unicase/test-uc_totitle.c: Likewise.
25337         * tests/unicase/test-uc_toupper.c: Likewise.
25338         * tests/unictype/test-categ_C.c: Likewise.
25339         * tests/unictype/test-categ_Cn.c: Likewise.
25340         * tests/unictype/test-categ_L.c: Likewise.
25341         * tests/unictype/test-categ_Ll.c: Likewise.
25342         * tests/unictype/test-categ_Lm.c: Likewise.
25343         * tests/unictype/test-categ_Lo.c: Likewise.
25344         * tests/unictype/test-categ_Lu.c: Likewise.
25345         * tests/unictype/test-categ_M.c: Likewise.
25346         * tests/unictype/test-categ_Mc.c: Likewise.
25347         * tests/unictype/test-categ_Me.c: Likewise.
25348         * tests/unictype/test-categ_Mn.c: Likewise.
25349         * tests/unictype/test-categ_N.c: Likewise.
25350         * tests/unictype/test-categ_Nd.c: Likewise.
25351         * tests/unictype/test-categ_No.c: Likewise.
25352         * tests/unictype/test-categ_P.c: Likewise.
25353         * tests/unictype/test-categ_Po.c: Likewise.
25354         * tests/unictype/test-categ_S.c: Likewise.
25355         * tests/unictype/test-categ_Sc.c: Likewise.
25356         * tests/unictype/test-categ_Sk.c: Likewise.
25357         * tests/unictype/test-categ_Sm.c: Likewise.
25358         * tests/unictype/test-categ_So.c: Likewise.
25359         * tests/unictype/test-ctype_alnum.c: Likewise.
25360         * tests/unictype/test-ctype_alpha.c: Likewise.
25361         * tests/unictype/test-ctype_graph.c: Likewise.
25362         * tests/unictype/test-ctype_lower.c: Likewise.
25363         * tests/unictype/test-ctype_print.c: Likewise.
25364         * tests/unictype/test-ctype_punct.c: Likewise.
25365         * tests/unictype/test-ctype_upper.c: Likewise.
25366         * tests/unictype/test-decdigit.h: Likewise.
25367         * tests/unictype/test-digit.h: Likewise.
25368         * tests/unictype/test-numeric.h: Likewise.
25369         * tests/unictype/test-pr_alphabetic.c: Likewise.
25370         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25371         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25372         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25373         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25374         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25375         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25376         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25377         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25378         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25379         * tests/unictype/test-pr_cased.c: Likewise.
25380         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25381         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25382         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25383         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25384         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25385         * tests/unictype/test-pr_combining.c: Likewise.
25386         * tests/unictype/test-pr_composite.c: Likewise.
25387         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25388         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25389         * tests/unictype/test-pr_deprecated.c: Likewise.
25390         * tests/unictype/test-pr_format_control.c: Likewise.
25391         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25392         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25393         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25394         * tests/unictype/test-pr_id_continue.c: Likewise.
25395         * tests/unictype/test-pr_id_start.c: Likewise.
25396         * tests/unictype/test-pr_ideographic.c: Likewise.
25397         * tests/unictype/test-pr_lowercase.c: Likewise.
25398         * tests/unictype/test-pr_math.c: Likewise.
25399         * tests/unictype/test-pr_numeric.c: Likewise.
25400         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25401         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25402         * tests/unictype/test-pr_other_math.c: Likewise.
25403         * tests/unictype/test-pr_punctuation.c: Likewise.
25404         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25405         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25406         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25407         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25408         * tests/unictype/test-pr_uppercase.c: Likewise.
25409         * tests/unictype/test-pr_xid_continue.c: Likewise.
25410         * tests/unictype/test-pr_xid_start.c: Likewise.
25411         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25412         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25413         changes.
25414         * lib/unictype/categ_Cc.h: Likewise.
25415         * lib/unictype/categ_Cf.h: Likewise.
25416         * lib/unictype/categ_Co.h: Likewise.
25417         * lib/unictype/categ_Cs.h: Likewise.
25418         * lib/unictype/categ_Lt.h: Likewise.
25419         * lib/unictype/categ_Nl.h: Likewise.
25420         * lib/unictype/categ_Pc.h: Likewise.
25421         * lib/unictype/categ_Pd.h: Likewise.
25422         * lib/unictype/categ_Pe.h: Likewise.
25423         * lib/unictype/categ_Pf.h: Likewise.
25424         * lib/unictype/categ_Pi.h: Likewise.
25425         * lib/unictype/categ_Ps.h: Likewise.
25426         * lib/unictype/categ_Z.h: Likewise.
25427         * lib/unictype/categ_Zl.h: Likewise.
25428         * lib/unictype/categ_Zp.h: Likewise.
25429         * lib/unictype/categ_Zs.h: Likewise.
25430         * lib/unictype/ctype_blank.h: Likewise.
25431         * lib/unictype/ctype_cntrl.h: Likewise.
25432         * lib/unictype/ctype_digit.h: Likewise.
25433         * lib/unictype/ctype_space.h: Likewise.
25434         * lib/unictype/ctype_xdigit.h: Likewise.
25435         * lib/unictype/mirror.h: Likewise.
25436         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25437         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25438         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25439         * lib/unictype/pr_bidi_control.h: Likewise.
25440         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25441         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25442         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25443         * lib/unictype/pr_bidi_pdf.h: Likewise.
25444         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25445         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25446         * lib/unictype/pr_dash.h: Likewise.
25447         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25448         * lib/unictype/pr_diacritic.h: Likewise.
25449         * lib/unictype/pr_extender.h: Likewise.
25450         * lib/unictype/pr_hex_digit.h: Likewise.
25451         * lib/unictype/pr_hyphen.h: Likewise.
25452         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25453         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25454         * lib/unictype/pr_ignorable_control.h: Likewise.
25455         * lib/unictype/pr_iso_control.h: Likewise.
25456         * lib/unictype/pr_join_control.h: Likewise.
25457         * lib/unictype/pr_left_of_pair.h: Likewise.
25458         * lib/unictype/pr_line_separator.h: Likewise.
25459         * lib/unictype/pr_logical_order_exception.h: Likewise.
25460         * lib/unictype/pr_non_break.h: Likewise.
25461         * lib/unictype/pr_not_a_character.h: Likewise.
25462         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25463         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25464         * lib/unictype/pr_other_id_start.h: Likewise.
25465         * lib/unictype/pr_other_lowercase.h: Likewise.
25466         * lib/unictype/pr_other_uppercase.h: Likewise.
25467         * lib/unictype/pr_paired_punctuation.h: Likewise.
25468         * lib/unictype/pr_paragraph_separator.h: Likewise.
25469         * lib/unictype/pr_pattern_syntax.h: Likewise.
25470         * lib/unictype/pr_pattern_white_space.h: Likewise.
25471         * lib/unictype/pr_private_use.h: Likewise.
25472         * lib/unictype/pr_quotation_mark.h: Likewise.
25473         * lib/unictype/pr_radical.h: Likewise.
25474         * lib/unictype/pr_soft_dotted.h: Likewise.
25475         * lib/unictype/pr_space.h: Likewise.
25476         * lib/unictype/pr_titlecase.h: Likewise.
25477         * lib/unictype/pr_variation_selector.h: Likewise.
25478         * lib/unictype/pr_white_space.h: Likewise.
25479         * lib/unictype/pr_zero_width.h: Likewise.
25480         * lib/unictype/sy_c_ident.h: Likewise.
25481         * lib/unictype/sy_c_whitespace.h: Likewise.
25482         * lib/unictype/sy_java_whitespace.h: Likewise.
25483         * lib/uninorm/composition-table.gperf: Likewise.
25484         * lib/uninorm/decomposition-table1.h: Likewise.
25485         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25486         LB8.
25487         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25488         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25489         * modules/unictype/*: Bump version number of expected libunistring
25490         version.
25491
25492 2011-01-09  Bruno Haible  <bruno@clisp.org>
25493
25494         Update to Unicode 5.2.0.
25495         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25496         trailing whitespace removed.
25497
25498 2011-01-09  Bruno Haible  <bruno@clisp.org>
25499
25500         New Unicode character properties, from Unicode 5.2.0.
25501         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25502         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25503         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25504         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25505         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25506         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25507         uc_is_property_cased, uc_is_property_case_ignorable,
25508         uc_is_property_changes_when_lowercased,
25509         uc_is_property_changes_when_uppercased,
25510         uc_is_property_changes_when_titlecased,
25511         uc_is_property_changes_when_casefolded,
25512         uc_is_property_changes_when_casemapped): New declarations.
25513         * lib/unictype/pr_byname.gperf: Add the new properties.
25514         * modules/unictype/property-byname (Depends-on): Depend on the new
25515         properties modules.
25516         * modules/unictype/property-all (Depends-on): Likewise.
25517         * MODULES.html.sh (Unicode string functions): Add
25518         unictype/property-case-ignorable, unictype/property-cased,
25519         unictype/property-changes-when-casefolded,
25520         unictype/property-changes-when-casemapped,
25521         unictype/property-changes-when-lowercased,
25522         unictype/property-changes-when-titlecased,
25523         unictype/property-changes-when-uppercased.
25524
25525         New module 'unictype/property-changes-when-casemapped'.
25526         * modules/unictype/property-changes-when-casemapped: New file.
25527         * lib/unictype/pr_changes_when_casemapped.c: New file.
25528         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25529         generated by gen-uni-tables.
25530         * modules/unictype/property-changes-when-casemapped-tests: New file.
25531         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25532         automatically generated by gen-uni-tables.
25533
25534         New module 'unictype/property-changes-when-casefolded'.
25535         * modules/unictype/property-changes-when-casefolded: New file.
25536         * lib/unictype/pr_changes_when_casefolded.c: New file.
25537         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25538         generated by gen-uni-tables.
25539         * modules/unictype/property-changes-when-casefolded-tests: New file.
25540         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25541         automatically generated by gen-uni-tables.
25542
25543         New module 'unictype/property-changes-when-titlecased'.
25544         * modules/unictype/property-changes-when-titlecased: New file.
25545         * lib/unictype/pr_changes_when_titlecased.c: New file.
25546         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25547         generated by gen-uni-tables.
25548         * modules/unictype/property-changes-when-titlecased-tests: New file.
25549         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25550         automatically generated by gen-uni-tables.
25551
25552         New module 'unictype/property-changes-when-uppercased'.
25553         * modules/unictype/property-changes-when-uppercased: New file.
25554         * lib/unictype/pr_changes_when_uppercased.c: New file.
25555         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25556         generated by gen-uni-tables.
25557         * modules/unictype/property-changes-when-uppercased-tests: New file.
25558         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25559         automatically generated by gen-uni-tables.
25560
25561         New module 'unictype/property-changes-when-lowercased'.
25562         * modules/unictype/property-changes-when-lowercased: New file.
25563         * lib/unictype/pr_changes_when_lowercased.c: New file.
25564         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25565         generated by gen-uni-tables.
25566         * modules/unictype/property-changes-when-lowercased-tests: New file.
25567         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25568         automatically generated by gen-uni-tables.
25569
25570         New module 'unictype/property-case-ignorable'.
25571         * modules/unictype/property-case-ignorable: New file.
25572         * lib/unictype/pr_case_ignorable.c: New file.
25573         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25574         by gen-uni-tables.
25575         * modules/unictype/property-case-ignorable-tests: New file.
25576         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25577         generated by gen-uni-tables.
25578
25579         New module 'unictype/property-cased'.
25580         * modules/unictype/property-cased: New file.
25581         * lib/unictype/pr_cased.c: New file.
25582         * lib/unictype/pr_cased.h: New file, automatically generated by
25583         gen-uni-tables.
25584         * modules/unictype/property-cased-tests: New file.
25585         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25586         gen-uni-tables.
25587
25588 2011-01-09  Bruno Haible  <bruno@clisp.org>
25589
25590         Update to Unicode 5.2.0.
25591         * lib/gen-uni-tables.c (output_predicate, output_category,
25592         output_combclass, output_bidi_category, output_decimal_digit_test,
25593         output_decimal_digit, output_digit_test, output_digit,
25594         output_numeric_test, output_numeric, output_mirror, output_scripts,
25595         output_scripts_byname, output_blocks, output_ident_category): Fix
25596         comment header.
25597         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25598         get_wbp.
25599         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25600         items.
25601         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25602         Changes_When_Lowercased, Changes_When_Uppercased,
25603         Changes_When_Titlecased, Changes_When_Casefolded,
25604         Changes_When_Casemapped.
25605         (is_property_alphabetic, is_property_default_ignorable_code_point):
25606         Update for Unicode 5.2.0.
25607         (is_property_cased, is_property_case_ignorable,
25608         is_property_changes_when_lowercased,
25609         is_property_changes_when_uppercased,
25610         is_property_changes_when_titlecased,
25611         is_property_changes_when_casefolded,
25612         is_property_changes_when_casemapped): New functions.
25613         (output_properties): Output also the properties cased, case_ignorable,
25614         changes_when_lowercased, changes_when_uppercased,
25615         changes_when_titlecased, changes_when_casefolded,
25616         changes_when_casemapped.
25617         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25618         Unicode TR#11 revision 17 -> 19.
25619         (LBP_CP): New enumeration value.
25620         (LBP_*): Adjust values accordingly.
25621         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25622         TR#14 revision 22 -> 24.
25623         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25624         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25625         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25626         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25627         is_WBP_MIDLETTER.
25628         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25629         the code1 and code2 of each composition rule.
25630         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25631         * lib/unicase/ignorable.h: Likewise.
25632         * lib/unicase/tocasefold.h: Likewise.
25633         * lib/unicase/tolower.h: Likewise.
25634         * lib/unicase/totitle.h: Likewise.
25635         * lib/unicase/toupper.h: Likewise.
25636         * lib/unictype/bidi_of.h: Likewise.
25637         * lib/unictype/blocks.h: Likewise.
25638         * lib/unictype/categ_C.h: Likewise.
25639         * lib/unictype/categ_Cf.h: Likewise.
25640         * lib/unictype/categ_Cn.h: Likewise.
25641         * lib/unictype/categ_L.h: Likewise.
25642         * lib/unictype/categ_Ll.h: Likewise.
25643         * lib/unictype/categ_Lm.h: Likewise.
25644         * lib/unictype/categ_Lo.h: Likewise.
25645         * lib/unictype/categ_Lu.h: Likewise.
25646         * lib/unictype/categ_M.h: Likewise.
25647         * lib/unictype/categ_Mc.h: Likewise.
25648         * lib/unictype/categ_Mn.h: Likewise.
25649         * lib/unictype/categ_N.h: Likewise.
25650         * lib/unictype/categ_Nd.h: Likewise.
25651         * lib/unictype/categ_Nl.h: Likewise.
25652         * lib/unictype/categ_No.h: Likewise.
25653         * lib/unictype/categ_P.h: Likewise.
25654         * lib/unictype/categ_Pd.h: Likewise.
25655         * lib/unictype/categ_Po.h: Likewise.
25656         * lib/unictype/categ_S.h: Likewise.
25657         * lib/unictype/categ_Sc.h: Likewise.
25658         * lib/unictype/categ_So.h: Likewise.
25659         * lib/unictype/categ_of.h: Likewise.
25660         * lib/unictype/combining.h: Likewise.
25661         * lib/unictype/ctype_alnum.h: Likewise.
25662         * lib/unictype/ctype_alpha.h: Likewise.
25663         * lib/unictype/ctype_graph.h: Likewise.
25664         * lib/unictype/ctype_lower.h: Likewise.
25665         * lib/unictype/ctype_print.h: Likewise.
25666         * lib/unictype/ctype_punct.h: Likewise.
25667         * lib/unictype/ctype_upper.h: Likewise.
25668         * lib/unictype/decdigit.h: Likewise.
25669         * lib/unictype/digit.h: Likewise.
25670         * lib/unictype/numeric.h: Likewise.
25671         * lib/unictype/pr_alphabetic.h: Likewise.
25672         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25673         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25674         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25675         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25676         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25677         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25678         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25679         * lib/unictype/pr_combining.h: Likewise.
25680         * lib/unictype/pr_composite.h: Likewise.
25681         * lib/unictype/pr_currency_symbol.h: Likewise.
25682         * lib/unictype/pr_dash.h: Likewise.
25683         * lib/unictype/pr_decimal_digit.h: Likewise.
25684         * lib/unictype/pr_deprecated.h: Likewise.
25685         * lib/unictype/pr_diacritic.h: Likewise.
25686         * lib/unictype/pr_extender.h: Likewise.
25687         * lib/unictype/pr_grapheme_base.h: Likewise.
25688         * lib/unictype/pr_grapheme_extend.h: Likewise.
25689         * lib/unictype/pr_grapheme_link.h: Likewise.
25690         * lib/unictype/pr_id_continue.h: Likewise.
25691         * lib/unictype/pr_id_start.h: Likewise.
25692         * lib/unictype/pr_ideographic.h: Likewise.
25693         * lib/unictype/pr_ignorable_control.h: Likewise.
25694         * lib/unictype/pr_logical_order_exception.h: Likewise.
25695         * lib/unictype/pr_lowercase.h: Likewise.
25696         * lib/unictype/pr_numeric.h: Likewise.
25697         * lib/unictype/pr_other_alphabetic.h: Likewise.
25698         * lib/unictype/pr_punctuation.h: Likewise.
25699         * lib/unictype/pr_sentence_terminal.h: Likewise.
25700         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25701         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25702         * lib/unictype/pr_unified_ideograph.h: Likewise.
25703         * lib/unictype/pr_uppercase.h: Likewise.
25704         * lib/unictype/pr_xid_continue.h: Likewise.
25705         * lib/unictype/pr_xid_start.h: Likewise.
25706         * lib/unictype/pr_zero_width.h: Likewise.
25707         * lib/unictype/scripts.h: Likewise.
25708         * lib/unictype/scripts_byname.gperf: Likewise.
25709         * lib/unictype/sy_java_ident.h: Likewise.
25710         * lib/unigbrk/gbrkprop.h: Likewise.
25711         * lib/unilbrk/lbrkprop1.h: Likewise.
25712         * lib/unilbrk/lbrkprop2.h: Likewise.
25713         * lib/unilbrk/lbrktables.h: Likewise.
25714         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25715         LBP_CP. Implement rule LB30.
25716         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25717         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25718         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25719         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25720         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25721         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25722         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25723         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25724         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25725         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25726         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25727         bits instead of 16 bits in the code1 and code2 of each composition
25728         rule.
25729         (uc_composition): Update for Unicode 5.2.0.
25730         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25731         * lib/uninorm/decomposition-table2.h: Likewise.
25732         * lib/uniwbrk/wbrkprop.h: Likewise.
25733         * tests/unicase/test-cased.c: Likewise.
25734         * tests/unicase/test-ignorable.c: Likewise.
25735         * tests/unicase/test-uc_tolower.c: Likewise.
25736         * tests/unicase/test-uc_totitle.c: Likewise.
25737         * tests/unicase/test-uc_toupper.c: Likewise.
25738         * tests/unictype/test-categ_C.c: Likewise.
25739         * tests/unictype/test-categ_Cf.c: Likewise.
25740         * tests/unictype/test-categ_Cn.c: Likewise.
25741         * tests/unictype/test-categ_L.c: Likewise.
25742         * tests/unictype/test-categ_Ll.c: Likewise.
25743         * tests/unictype/test-categ_Lm.c: Likewise.
25744         * tests/unictype/test-categ_Lo.c: Likewise.
25745         * tests/unictype/test-categ_Lu.c: Likewise.
25746         * tests/unictype/test-categ_M.c: Likewise.
25747         * tests/unictype/test-categ_Mc.c: Likewise.
25748         * tests/unictype/test-categ_Mn.c: Likewise.
25749         * tests/unictype/test-categ_N.c: Likewise.
25750         * tests/unictype/test-categ_Nd.c: Likewise.
25751         * tests/unictype/test-categ_Nl.c: Likewise.
25752         * tests/unictype/test-categ_No.c: Likewise.
25753         * tests/unictype/test-categ_P.c: Likewise.
25754         * tests/unictype/test-categ_Pd.c: Likewise.
25755         * tests/unictype/test-categ_Po.c: Likewise.
25756         * tests/unictype/test-categ_S.c: Likewise.
25757         * tests/unictype/test-categ_Sc.c: Likewise.
25758         * tests/unictype/test-categ_So.c: Likewise.
25759         * tests/unictype/test-ctype_alnum.c: Likewise.
25760         * tests/unictype/test-ctype_alpha.c: Likewise.
25761         * tests/unictype/test-ctype_graph.c: Likewise.
25762         * tests/unictype/test-ctype_lower.c: Likewise.
25763         * tests/unictype/test-ctype_print.c: Likewise.
25764         * tests/unictype/test-ctype_punct.c: Likewise.
25765         * tests/unictype/test-ctype_upper.c: Likewise.
25766         * tests/unictype/test-decdigit.h: Likewise.
25767         * tests/unictype/test-digit.h: Likewise.
25768         * tests/unictype/test-numeric.h: Likewise.
25769         * tests/unictype/test-pr_alphabetic.c: Likewise.
25770         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25771         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25772         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25773         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25774         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25775         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25776         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25777         * tests/unictype/test-pr_combining.c: Likewise.
25778         * tests/unictype/test-pr_composite.c: Likewise.
25779         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25780         * tests/unictype/test-pr_dash.c: Likewise.
25781         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25782         * tests/unictype/test-pr_deprecated.c: Likewise.
25783         * tests/unictype/test-pr_diacritic.c: Likewise.
25784         * tests/unictype/test-pr_extender.c: Likewise.
25785         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25786         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25787         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25788         * tests/unictype/test-pr_id_continue.c: Likewise.
25789         * tests/unictype/test-pr_id_start.c: Likewise.
25790         * tests/unictype/test-pr_ideographic.c: Likewise.
25791         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25792         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25793         * tests/unictype/test-pr_lowercase.c: Likewise.
25794         * tests/unictype/test-pr_numeric.c: Likewise.
25795         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25796         * tests/unictype/test-pr_punctuation.c: Likewise.
25797         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25798         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25799         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25800         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25801         * tests/unictype/test-pr_uppercase.c: Likewise.
25802         * tests/unictype/test-pr_xid_continue.c: Likewise.
25803         * tests/unictype/test-pr_xid_start.c: Likewise.
25804         * tests/unictype/test-pr_zero_width.c: Likewise.
25805         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25806         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
25807         changed behaviour: line breaking is now disallowed between a letter
25808         or '=' and '('.
25809         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25810         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25811         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25812         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
25813         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25814         lib/uniwidth/width.c.
25815         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
25816         without comments, but with the original copyright notice.
25817         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25818         changes.
25819         * lib/unictype/categ_Cc.h: Likewise.
25820         * lib/unictype/categ_Co.h: Likewise.
25821         * lib/unictype/categ_Cs.h: Likewise.
25822         * lib/unictype/categ_Lt.h: Likewise.
25823         * lib/unictype/categ_Me.h: Likewise.
25824         * lib/unictype/categ_Pc.h: Likewise.
25825         * lib/unictype/categ_Pe.h: Likewise.
25826         * lib/unictype/categ_Pf.h: Likewise.
25827         * lib/unictype/categ_Pi.h: Likewise.
25828         * lib/unictype/categ_Ps.h: Likewise.
25829         * lib/unictype/categ_Sk.h: Likewise.
25830         * lib/unictype/categ_Sm.h: Likewise.
25831         * lib/unictype/categ_Z.h: Likewise.
25832         * lib/unictype/categ_Zl.h: Likewise.
25833         * lib/unictype/categ_Zp.h: Likewise.
25834         * lib/unictype/categ_Zs.h: Likewise.
25835         * lib/unictype/ctype_blank.h: Likewise.
25836         * lib/unictype/ctype_cntrl.h: Likewise.
25837         * lib/unictype/ctype_digit.h: Likewise.
25838         * lib/unictype/ctype_space.h: Likewise.
25839         * lib/unictype/ctype_xdigit.h: Likewise.
25840         * lib/unictype/mirror.h: Likewise.
25841         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25842         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25843         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25844         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25845         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25846         * lib/unictype/pr_bidi_control.h: Likewise.
25847         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25848         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25849         * lib/unictype/pr_bidi_pdf.h: Likewise.
25850         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25851         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25852         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25853         * lib/unictype/pr_format_control.h: Likewise.
25854         * lib/unictype/pr_hex_digit.h: Likewise.
25855         * lib/unictype/pr_hyphen.h: Likewise.
25856         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25857         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25858         * lib/unictype/pr_iso_control.h: Likewise.
25859         * lib/unictype/pr_join_control.h: Likewise.
25860         * lib/unictype/pr_left_of_pair.h: Likewise.
25861         * lib/unictype/pr_line_separator.h: Likewise.
25862         * lib/unictype/pr_math.h: Likewise.
25863         * lib/unictype/pr_non_break.h: Likewise.
25864         * lib/unictype/pr_not_a_character.h: Likewise.
25865         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25866         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25867         * lib/unictype/pr_other_id_continue.h: Likewise.
25868         * lib/unictype/pr_other_id_start.h: Likewise.
25869         * lib/unictype/pr_other_lowercase.h: Likewise.
25870         * lib/unictype/pr_other_math.h: Likewise.
25871         * lib/unictype/pr_other_uppercase.h: Likewise.
25872         * lib/unictype/pr_paired_punctuation.h: Likewise.
25873         * lib/unictype/pr_paragraph_separator.h: Likewise.
25874         * lib/unictype/pr_pattern_syntax.h: Likewise.
25875         * lib/unictype/pr_pattern_white_space.h: Likewise.
25876         * lib/unictype/pr_private_use.h: Likewise.
25877         * lib/unictype/pr_quotation_mark.h: Likewise.
25878         * lib/unictype/pr_radical.h: Likewise.
25879         * lib/unictype/pr_soft_dotted.h: Likewise.
25880         * lib/unictype/pr_space.h: Likewise.
25881         * lib/unictype/pr_titlecase.h: Likewise.
25882         * lib/unictype/pr_variation_selector.h: Likewise.
25883         * lib/unictype/pr_white_space.h: Likewise.
25884         * lib/unictype/sy_c_ident.h: Likewise.
25885         * lib/unictype/sy_c_whitespace.h: Likewise.
25886         * lib/unictype/sy_java_whitespace.h: Likewise.
25887         * modules/uni*/*: Bump version number of expected libunistring version.
25888         Reported by Simon Josefsson.
25889
25890 2011-01-09  Karl Heuer  <kwzh@gnu.org>
25891
25892         useless-if-before-free: fix typo in --help and make the internal,
25893         automatic version date update process work once again.
25894         --help output contained a NUL character instead of the
25895         backslash-zero that was intended.  Also, the "must lie within
25896         the first 8 lines" line is on line 9, and hence not getting
25897         automatically updated.
25898         * build-aux/useless-if-before-free: Fix the former by adding a
25899         backslash, and the latter by condensing the three lines of what-it-does
25900         to a single line, leaving one line of slack for the future.
25901
25902 2011-01-09  Bruno Haible  <bruno@clisp.org>
25903
25904         uniwidth/width: Fix width of U+1D173..U+1D17A.
25905         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
25906         symbolic_width, output_width_property_test): New functions.
25907         (main): Invoke output_nonspacing_property, output_width_property_test.
25908         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
25909         U+1D173..U+1D17A.
25910         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
25911         1.
25912         * modules/uniwidth/*: Bump version number of expected libunistring
25913         version.
25914         * modules/unilbrk/*: Likewise.
25915
25916 2011-01-08  Bruno Haible  <bruno@clisp.org>
25917
25918         uninorm tests: Preserve copyright of Unicode data file.
25919         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
25920         Mention modifications.
25921
25922 2011-01-08  Bruno Haible  <bruno@clisp.org>
25923
25924         gen-uni-tables: Prepare for Unicode 5.2.0.
25925         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
25926         (debug_output_lbp, output_lbp): Update.
25927
25928 2011-01-08  Bruno Haible  <bruno@clisp.org>
25929
25930         unilbrk: Clarify gen-uni-tables.c code.
25931         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25932         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25933         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25934
25935 2011-01-07  Bruno Haible  <bruno@clisp.org>
25936
25937         strtod: Restore errno when successfully parsing Infinity or NaN.
25938         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25939         restore the original errno.
25940
25941 2011-01-07  Bruno Haible  <bruno@clisp.org>
25942
25943         remove test: Avoid failure on HP-UX 11.
25944         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
25945
25946 2011-01-07  Bruno Haible  <bruno@clisp.org>
25947
25948         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
25949         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
25950         error code.
25951
25952 2011-01-07  Pádraig Brady <P@draigBrady.com>
25953
25954         ignore-value: fixup comments, and add Eric Blake
25955         as an author since he rewrote the macros.
25956         * lib/ignore-value.h (ignore_value):  State that
25957         we now support aggregates.  Also specify exactly
25958         when the GCC warn_unused_result feature was added.
25959
25960 2011-01-06  Eric Blake  <eblake@redhat.com>
25961
25962         ignore-value: support aggregate types
25963         * lib/ignore-value.h (ignore_value): Provide separate gcc
25964         definition.
25965         * modules/ignore-value-tests: New test module.
25966         * tests/test-ignore-value.c: New test.
25967
25968         maint.mk: improve sc_prohibit_strcmp regex
25969         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25970         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
25971         definition of STRNEQ.
25972
25973         signal: work around Haiku issue with SIGBUS
25974         * lib/siglist.h: Add comment.
25975         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
25976         strsignal's favoring of SIGSEGV.
25977         * tests/test-signal.c (main): Avoid test failure.
25978         * doc/posix-headers/signal.texi (signal.h): Document the issue.
25979         Reported by Scott McCreary.
25980
25981         maint.mk: add pre-release check to ensure submodule commits are public
25982         * top/maint.mk (public-submodule-commit): New rule.
25983         (submodule-checks): New variable.
25984         (alpha beta stable): Depend on the variable.
25985
25986 2011-01-05  Pádraig Brady <P@draigBrady.com>
25987         and Jim Meyering  <meyering@redhat.com>
25988
25989         ignore-value: make ignore_value more generic; deprecate ignore_ptr
25990         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
25991         (ATTRIBUTE_DEPRECATED): Define.
25992         (_ignore_case): New function.
25993         (ignore_value): New macro, to replace the old function.
25994         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
25995         * modules/ignore-value (Depends-on): Add stdint.
25996
25997 2011-01-04  Eric Blake  <eblake@redhat.com>
25998
25999         doc: regenerate INSTALL
26000         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26001         @firstparagraphindent support, now that autoconf dropped it.
26002         (INSTALL_PRELUDE): Reinstate old macro.
26003         * doc/install.texi: Resync from autoconf.
26004         * doc/INSTALL: Reflect recent autoconf update.
26005         * doc/INSTALL.ISO: Likewise.
26006         * doc/INSTALL.UTF-8: Likewise.
26007         Reported by Karl Berry.
26008
26009 2011-01-04  Bruce Korb  <address@hidden>
26010
26011         git-version-gen: avoid a sub-shell
26012         * build-aux/git-version-gen: Redirect stderr in `...` via
26013         "exec 2>...", rather than via an added sub-shell.
26014
26015 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26016
26017         git-version-gen: use (...) rather than sh -c '...'
26018         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26019         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26020
26021 2011-01-03  Jim Meyering  <meyering@redhat.com>
26022
26023         git-version-gen: convert leading TABs to spaces
26024         * build-aux/git-version-gen: Expand leading TABs.
26025
26026         git-version-gen: handle failed "git rev-list"
26027         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26028         from git and proceeding as if it had succeeded but printed no SHA1
26029         checksums, suppress the diagnostic and handle the failure.
26030         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26031
26032         git-version-gen: include command name in one more diagnostic
26033         * build-aux/git-version-gen: When the required .tarball-version file
26034         was missing or unreadable, you might see the diagnostic from "cat",
26035         but no trace of the name of the invoking script.  Now, you still see
26036         the diagnostic from cat, but also get one from "git-version-gen: ".
26037         Inspired by a patch from Bruce Korb.
26038
26039         update-copyright: adjust test to match changed code
26040         * tests/test-update-copyright.sh: Change test's expected output
26041         to match new actual output.
26042
26043 2011-01-02  Bruno Haible  <bruno@clisp.org>
26044
26045         getlogin_r: Avoid test failure on HP-UX 11.
26046         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26047         ERANGE when the second argument is zero.
26048         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26049         portability problem.
26050
26051 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26052
26053         * build-aux/update-copyright: doc Simon's changes
26054
26055 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26056
26057         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26058         environment variable.
26059
26060 2011-01-02  Bruno Haible  <bruno@clisp.org>
26061
26062         unigbrk: Avoid gcc warnings.
26063         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26064         unused variable.
26065         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26066         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26067         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26068         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26069         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26070         Change type of first argument to 'const char *'.
26071         (main): Remove unused variable.
26072         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26073         type of first argument to 'const char *'.
26074         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26075         Likewise.
26076         (main): Change type of variable 's'.
26077         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26078         to 'int'.
26079
26080 2011-01-02  Bruno Haible  <bruno@clisp.org>
26081
26082         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26083         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26084         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26085         bug.
26086         * lib/pwrite.c: Undo 2010-12-31 patch.
26087         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26088
26089 2011-01-02  Bruno Haible  <bruno@clisp.org>
26090
26091         pread: Fix test whether it works.
26092         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26093
26094 2011-01-02  Bruno Haible  <bruno@clisp.org>
26095
26096         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26097         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26098         ends in "6". Don't require a specific month name. Try also the locale
26099         names found on HP-UX 11 and Solaris 7.
26100
26101 2011-01-02  Bruno Haible  <bruno@clisp.org>
26102
26103         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26104         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26105         C linkage.
26106         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26107
26108 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26109
26110         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26111         for consistency, since the "cluster" term is not used elsewhere.
26112         * lib/unigbrk.in.h: Update name.
26113         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26114         * lib/unigbrk/u16-grapheme-next.c: Update name.
26115         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26116         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26117         * lib/unigbrk/u32-grapheme-next.c: Update name.
26118         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26119         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26120         * lib/unigbrk/u8-grapheme-next.c: Update name.
26121         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26122         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26123         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26124         Suggested by Bruno Haible.
26125
26126 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26127
26128         Remove module 'u8-grapheme-len' as too redundant with
26129         'u8-grapheme-next'.
26130         * modules/unigbrk/u8-grapheme-len: Delete file.
26131         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26132         * lib/unigbrk.in.h: Remove prototype for deleted function.
26133         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26134         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26135
26136         Remove module 'u16-grapheme-len' as too redundant with
26137         'u16-grapheme-next'.
26138         * modules/unigbrk/u16-grapheme-len: Delete file.
26139         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26140         * lib/unigbrk.in.h: Remove prototype for deleted function.
26141         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26142         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26143
26144         Remove module 'u32-grapheme-len' as too redundant with
26145         'u32-grapheme-next'.
26146         * modules/unigbrk/u32-grapheme-len: Delete file.
26147         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26148         * lib/unigbrk.in.h: Remove prototype for deleted function.
26149         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26150         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26151
26152         Suggested by Bruno Haible.
26153
26154 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26155
26156         * unigbrk.in.h: Fix typo: "ben" => "been".
26157         Reported by Bruno Haible.
26158
26159 2011-01-01  Jim Meyering  <meyering@redhat.com>
26160
26161         maint: update almost all copyright ranges to include 2011
26162         Run the new "make update-copyright" rule.
26163
26164 2011-01-01  Jim Meyering  <meyering@redhat.com>
26165
26166         maint: update-copyright: exempt doc/INSTALL*
26167         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26168         since they are generated.  Suggested by Bruno Haible.
26169
26170 2011-01-01  Jim Meyering  <meyering@redhat.com>
26171
26172         maint: refine the update-copyright rule
26173         * Makefile (update-copyright): Also exclude any file that includes
26174         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26175         code that merely generates the comment.
26176
26177 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26178
26179         New module 'u8-grapheme-len'.
26180         * modules/unigbrk/u8-grapheme-len: New file.
26181         * modules/unigbrk/u8-grapheme-len-tests: New file.
26182         * lib/unigbrk.in.h: Add prototype for new function.
26183         * lib/unigbrk/u8-grapheme-len.c: New file.
26184         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26185
26186         New module 'u16-grapheme-len'.
26187         * modules/unigbrk/u16-grapheme-len: New file.
26188         * modules/unigbrk/u16-grapheme-len-tests: New file.
26189         * lib/unigbrk.in.h: Add prototype for new function.
26190         * lib/unigbrk/u16-grapheme-len.c: New file.
26191         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26192
26193         New module 'u32-grapheme-len'.
26194         * modules/unigbrk/u32-grapheme-len: New file.
26195         * modules/unigbrk/u32-grapheme-len-tests: New file.
26196         * lib/unigbrk.in.h: Add prototype for new function.
26197         * lib/unigbrk/u32-grapheme-len.c: New file.
26198         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26199
26200         New module 'u8-grapheme-next'.
26201         * modules/unigbrk/u8-grapheme-next: New file.
26202         * modules/unigbrk/u8-grapheme-next-tests: New file.
26203         * lib/unigbrk.in.h: Add prototype for new function.
26204         * lib/unigbrk/u8-grapheme-next.c: New file.
26205         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26206
26207         New module 'u16-grapheme-next'.
26208         * modules/unigbrk/u16-grapheme-next: New file.
26209         * modules/unigbrk/u16-grapheme-next-tests: New file.
26210         * lib/unigbrk.in.h: Add prototype for new function.
26211         * lib/unigbrk/u16-grapheme-next.c: New file.
26212         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26213
26214         New module 'u32-grapheme-next'.
26215         * modules/unigbrk/u32-grapheme-next: New file.
26216         * modules/unigbrk/u32-grapheme-next-tests: New file.
26217         * lib/unigbrk.in.h: Add prototype for new function.
26218         * lib/unigbrk/u32-grapheme-next.c: New file.
26219         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26220
26221         New module 'u8-grapheme-prev'.
26222         * modules/unigbrk/u8-grapheme-prev: New file.
26223         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26224         * lib/unigbrk.in.h: Add prototype for new function.
26225         * lib/unigbrk/u8-grapheme-prev.c: New file.
26226         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26227
26228         New module 'u16-grapheme-prev'.
26229         * modules/unigbrk/u16-grapheme-prev: New file.
26230         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26231         * lib/unigbrk.in.h: Add prototype for new function.
26232         * lib/unigbrk/u16-grapheme-prev.c: New file.
26233         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26234
26235         New module 'u32-grapheme-prev'.
26236         * modules/unigbrk/u32-grapheme-prev: New file.
26237         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26238         * lib/unigbrk.in.h: Add prototype for new function.
26239         * lib/unigbrk/u32-grapheme-prev.c: New file.
26240         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26241
26242         New module 'u8-grapheme-breaks'.
26243         * modules/unigbrk/u8-grapheme-breaks: New file.
26244         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26245         * lib/unigbrk.in.h: Add prototype for new function.
26246         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26247         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26248
26249         New module 'u16-grapheme-breaks'.
26250         * modules/unigbrk/u16-grapheme-breaks: New file.
26251         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26252         * lib/unigbrk.in.h: Add prototype for new function.
26253         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26254         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26255
26256         New module 'u32-grapheme-breaks'.
26257         * modules/unigbrk/u32-grapheme-breaks: New file.
26258         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26259         * lib/unigbrk.in.h: Add prototype for new function.
26260         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26261         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26262
26263         New module 'ulc-grapheme-breaks'.
26264         * modules/unigbrk/ulc-grapheme-breaks: New file.
26265         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26266         * m4/locale-ar.m4: New file.
26267         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26268         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26269         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26270
26271 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26272
26273         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26274         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26275         modified how this file was generated before I initially submitted
26276         the module, but failed to regenerate it.  This meant that several
26277         of the level2 entries were wrong.
26278         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26279         Remove the division-by-2 that is folded into the table now that
26280         gbrkprop.h has been regenerated properly.  Now -1 entries are
26281         handled correctly.
26282
26283         New module 'unigbrk/uc-gbrk-prop-tests'.
26284         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26285         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26286         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26287         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26288
26289 2011-01-01  Bruno Haible  <bruno@clisp.org>
26290
26291         Avoid use of hexadecimal escapes.
26292         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26293         instead of hexadecimal escapes.
26294
26295 2011-01-01  Jim Meyering  <meyering@redhat.com>
26296
26297         maint: new rule to update copyright year ranges
26298         * Makefile (update-copyright): New rule.
26299
26300         maint: indent with TABs in Makefile
26301         * Makefile: Expand leading sequences of spaces to TABs
26302
26303         version-etc: update the copyright year it reports
26304         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26305
26306 2010-12-31  Bruno Haible  <bruno@clisp.org>
26307
26308         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26309         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26310         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26311         zero.
26312
26313 2010-12-31  Bruno Haible  <bruno@clisp.org>
26314
26315         pwrite: Work around HP-UX 11.11 bug.
26316         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26317         works and set REPLACE_PWRITE if not.
26318         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26319         function.
26320         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26321
26322 2010-12-31  Bruno Haible  <bruno@clisp.org>
26323
26324         pread: Work around HP-UX 11 bugs.
26325         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26326         and set REPLACE_PREAD if not.
26327         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26328
26329 2010-12-31  Eric Blake  <eblake@redhat.com>
26330
26331         nl_langinfo: fix YESEXPR on Irix 6.5
26332         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26333         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26334         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26335         it.
26336
26337 2010-12-31  Bruno Haible  <bruno@clisp.org>
26338
26339         iconv: Document HP-UX 11 bug.
26340         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26341
26342 2010-12-31  Bruno Haible  <bruno@clisp.org>
26343
26344         ldexpl: Fix link error on HP-UX 11.
26345         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26346         LDEXPL_LIBM, using $ISNANL_LIBM.
26347
26348 2010-12-31  Eric Blake  <eblake@redhat.com>
26349
26350         ftello: avoid compilation failure with SunStudio c89
26351         * lib/ftello.c (ftello): Use lseek, not llseek.
26352
26353         tests: avoid failing coreutils tests on cygwin
26354         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26355         (create_exe_shims_): Return 0 when skipping.
26356
26357 2010-12-31  Bruno Haible  <bruno@clisp.org>
26358
26359         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26360         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26361
26362 2010-12-31  Bruno Haible  <bruno@clisp.org>
26363
26364         waitpid: Fix link error in C++ mode.
26365         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26366
26367 2010-12-31  Bruno Haible  <bruno@clisp.org>
26368
26369         isnan: Use GCC built-ins when possible.
26370         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26371         __builtin_isnan.
26372         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26373         (isnan): Define using GCC built-ins for GCC >= 4.0.
26374
26375 2010-12-31  Bruno Haible  <bruno@clisp.org>
26376
26377         isnand: Fix mistake.
26378         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26379         __builtin_isnand.
26380
26381 2010-12-31  Bruno Haible  <bruno@clisp.org>
26382
26383         open: Avoid C++ error on HP-UX 11.
26384         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26385
26386 2010-12-31  Bruno Haible  <bruno@clisp.org>
26387
26388         time_r: Add missing declarations on HP-UX 11.
26389         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26390         instead of HAVE_LOCALTIME_R.
26391         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26392         HAVE_LOCALTIME_R always.
26393         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26394         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26395         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26396         HAVE_LOCALTIME_R.
26397         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26398         * doc/posix-functions/localtime_r.texi: Likewise.
26399
26400 2010-12-29  Eric Blake  <eblake@redhat.com>
26401
26402         mountlist: tweak previous commit
26403         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26404         Reported by Paul Eggert.
26405
26406         mountlist: fix local drive detection on cygwin
26407         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26408         that works for cygwin.
26409
26410 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26411
26412         ftoastr, snprintf: ftoastr + snprintf module
26413         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26414         since the snprintf module now should be good enough here.
26415         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26416         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26417         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26418         GNULIB_SNPRINTF only for the test directory, and the latter
26419         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26420         seems to suffice by itself.
26421
26422 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26423
26424         alloca: one step towards thread-safety
26425         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26426         need for a static variable.  All callers changed.  This does not
26427         make the alloca replacement thread-safe, but it's one step.
26428
26429         tests: minor indenting change
26430         * tests/init.sh: Sync from coreutils housekeeping patch
26431         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26432         to keep lines within 80 columns.
26433
26434 2010-12-28  Jim Meyering  <meyering@redhat.com>
26435
26436         regex: don't infloop on persistent failing calloc
26437         * lib/regexec.c (build_trtable): Return failure indication upon
26438         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26439         In glibc, this was fixed for version 2.13:
26440         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26441
26442 2010-12-28  Bruno Haible  <bruno@clisp.org>
26443             Paul Eggert <eggert@cs.ucla.edu>
26444
26445         linkat: Make implementation robust against system behaviour variations.
26446         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26447         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26448         way, and to -2 if it needs a generic runtime test.
26449         * lib/linkat.c (solaris_optimized_link_immediate,
26450         solaris_optimized_link_follow): New functions.
26451         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26452         (check_same_link): Use it.
26453
26454 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26455
26456         New module 'unigbrk/base'.
26457         * modules/unigbrk/base: New file.
26458         * lib/unigbrk.in.h: New file.
26459
26460         New module 'unigbrk/uc-gbrk-prop'.
26461         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26462         * modules/unigbrk/uc-gbrk-prop: New file.
26463         * lib/unigbrk/gbrkprop.h: New file.
26464         * lib/unigbrk/uc-gbrk-prop.c: New file.
26465
26466         New module 'unigbrk/uc-is-grapheme-break'.
26467         * modules/unigbrk/uc-is-grapheme-break: New file.
26468         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26469         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26470         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26471         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26472         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26473
26474         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26475
26476 2010-12-27  Bruno Haible  <bruno@clisp.org>
26477
26478         linkat test: Avoid failure on Solaris 11 2010-11.
26479         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26480
26481 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26482
26483         utimens: work around glibc rounding bug on more platforms
26484         * lib/utimens.c (fdutimens): Work around rounding bug even if
26485         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26486         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26487
26488 2010-12-27  Bruno Haible  <bruno@clisp.org>
26489
26490         select tests: Improve comments.
26491         * tests/test-select.c (do_select): Add comments.
26492
26493 2010-12-27  Bruno Haible  <bruno@clisp.org>
26494
26495         select tests: Safer way of handling timeout.
26496         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26497         at every invocation.
26498
26499 2010-12-27  Bruno Haible  <bruno@clisp.org>
26500
26501         select tests: Use 'bool' where appropriate.
26502         * tests/test-select.c (connect_to_socket): Change argument type to
26503         'bool'.
26504
26505 2010-12-27  Bruno Haible  <bruno@clisp.org>
26506
26507         select tests: Use existing modules.
26508         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26509         (configure.ac): Don't test for unistd.h.
26510         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26511         declared in <unistd.h>.
26512
26513 2010-12-27  Bruno Haible  <bruno@clisp.org>
26514
26515         mbrtowc: Work around a Solaris 7 bug.
26516         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26517         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26518         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26519         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26520         MBRTOWC_NULL_ARG1_BUG.
26521         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26522         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26523         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26524         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26525
26526 2010-12-27  Jim Meyering  <meyering@redhat.com>
26527
26528         read-file.c: tweak syntax
26529         * lib/read-file.c (fread_file): Remove space after "*" in function
26530         definitions.
26531
26532 2010-12-27  Bruno Haible  <bruno@clisp.org>
26533
26534         times test: Avoid gcc warnings on OSF/1.
26535         * tests/test-times.c (main): Cast printf arguments from clock_t to
26536         'long int'.
26537
26538 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26539
26540         utimens: work around glibc rounding bug on older Linux kernels
26541         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26542         on Linux with a glibc whose utimes might not work, then work
26543         around a longstanding glibc bug involving rounding rather than
26544         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26545         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26546
26547 2010-12-26  Bruno Haible  <bruno@clisp.org>
26548
26549         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26550         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26551         _GL_CXXALIAS_SYS.
26552         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26553
26554 2010-12-26  Bruno Haible  <bruno@clisp.org>
26555
26556         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26557         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26558         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26559         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26560         looking for the declaration.
26561         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26562         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26563         problem.
26564         * doc/posix-functions/inet_pton.texi: Likewise.
26565
26566 2010-12-26  Bruno Haible  <bruno@clisp.org>
26567
26568         arpa_inet: Use the common idioms with C++ support.
26569         * lib/arpa_inet.in.h: Include c++defs.h.
26570         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26571         support.
26572         * modules/arpa_inet (Depends-on): Add c++defs.
26573         (Makefile.am): Substitute the contents of c++defs.h.
26574         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26575         * modules/arpa_inet-c++-tests: New file.
26576         * tests/test-arpa_inet-c++.cc: New file.
26577
26578 2010-12-25  Bruno Haible  <bruno@clisp.org>
26579
26580         Fix more C++ link errors on Solaris 8.
26581         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26582         $(LIB_EACCESS).
26583         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26584         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26585         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26586         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26587         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26588
26589 2010-12-25  Bruno Haible  <bruno@clisp.org>
26590
26591         printf-posix: Fix link error when a non-GCC compiler is used.
26592         * lib/stdio.in.h (printf): When not using GCC, override printf
26593         correctly.
26594         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26595
26596 2010-12-25  Bruno Haible  <bruno@clisp.org>
26597
26598         strerror_r-posix: Update doc.
26599         * doc/posix-functions/strerror_r.texi: Update doc about the return
26600         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26601
26602 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26603
26604         utimens: simplify the logic of the previous change
26605         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26606         This should not affect whether the test succeeds or fails.
26607
26608         utimens: configure better on hosts with NFS clock skew
26609         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26610         uses the clock of the local host.  It might use the clock of the
26611         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26612         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26613
26614 2010-12-25  Bruno Haible  <bruno@clisp.org>
26615
26616         ptsname test: Avoid failure on Solaris.
26617         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26618         open a pseudo-terminal; don't use BSD-style ptys.
26619         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26620
26621 2010-12-25  Bruno Haible  <bruno@clisp.org>
26622
26623         ptsname: Avoid ERANGE failure on some systems.
26624         * lib/ptsname.c (buffer): Increase size.
26625
26626 2010-12-25  Bruno Haible  <bruno@clisp.org>
26627
26628         rename, renameat: Avoid test failures at NFS mounted locations.
26629         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26630         so that subsequent mkdir calls succeed.
26631
26632 2010-12-25  Bruno Haible  <bruno@clisp.org>
26633
26634         iswblank: Fix C++ link error on Solaris 8.
26635         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26636         _GL_FUNCDECL_SYS.
26637
26638 2010-12-25  Bruno Haible  <bruno@clisp.org>
26639
26640         unistd: Fix C++ link error on Solaris 8.
26641         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26642
26643 2010-12-25  Bruno Haible  <bruno@clisp.org>
26644
26645         readlink doc: Mention an old glibc bug.
26646         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26647
26648 2010-12-25  Bruno Haible  <bruno@clisp.org>
26649
26650         fcntl-h: Fix for use of C++ on glibc systems.
26651         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26652         also on glibc systems in C++ mode.
26653         Reported by Gary V. Vaughan <gary@gnu.org>.
26654
26655 2010-12-25  Bruno Haible  <bruno@clisp.org>
26656
26657         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26658         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26659
26660 2010-12-25  Bruno Haible  <bruno@clisp.org>
26661
26662         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26663         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26664         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26665         test whether truncl works according to ISO C 99 with IEC 60559.
26666         * m4/truncl-ieee.m4: New file.
26667         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26668         m4/signbit.m4.
26669         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26670
26671 2010-12-25  Bruno Haible  <bruno@clisp.org>
26672
26673         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26674         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26675         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26676         test whether ceill works according to ISO C 99 with IEC 60559.
26677         * m4/ceill-ieee.m4: New file.
26678         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26679         m4/signbit.m4.
26680         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26681
26682 2010-12-25  Bruno Haible  <bruno@clisp.org>
26683
26684         Ensure all prerequisites of <wchar.h> are included.
26685         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26686         before <wchar.h>.
26687         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26688         gl_MBRLEN_NUL_RETVAL): Likewise.
26689         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26690         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26691         AC_FUNC_MBRTOWC): Likewise.
26692         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26693         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26694         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26695         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26696         Likewise.
26697         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26698         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26699         (gl_WCHAR_H): Improve comments.
26700         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26701
26702 2010-12-25  Bruno Haible  <bruno@clisp.org>
26703
26704         strtok_r: Fix C syntax error in autoconf macro.
26705         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26706         characters in test program.
26707
26708 2010-12-24  Bruno Haible  <bruno@clisp.org>
26709
26710         ceil, trunc, round: Fix gcc warnings.
26711         * lib/ceil.c (MIN): Undefine before redefining.
26712         * lib/trunc.c (MIN): Likewise.
26713         * lib/round.c (MIN): Likewise.
26714         Include <math.h> first.
26715
26716 2010-12-24  Bruno Haible  <bruno@clisp.org>
26717
26718         select tests: Avoid failures on OSF/1 5.1.
26719         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26720         failure of closing the last socket; it may fail with ECONNRESET.
26721
26722 2010-12-24  Eric Blake  <eblake@redhat.com>
26723
26724         stdint: avoid HP-UX 10.20 preprocessor bug
26725         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26726         than #if.
26727         * tests/test-floor2.c (main): Likewise.
26728         Reported by Peter O'Gorman.
26729
26730         pipe: make obsoletion transition easier
26731         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26732         * modules/pipe (Files): Include revived file.
26733         (Include): Drop reference, to mirror getdate's behavior.
26734
26735 2010-12-24  Bruno Haible  <bruno@clisp.org>
26736
26737         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26738         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26739         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26740         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26741
26742 2010-12-24  Bruno Haible  <bruno@clisp.org>
26743
26744         gethostname: Ensure declaration on NonStop Kernel.
26745         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26746         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26747
26748 2010-12-24  Bruno Haible  <bruno@clisp.org>
26749
26750         sys_select: Ensure all necessary types on NonStop Kernel.
26751         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26752         include <sys/time.h>.
26753         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26754         NonStop Kernel.
26755         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26756
26757 2010-12-24  Bruno Haible  <bruno@clisp.org>
26758
26759         sys_select: Remove unneeded include.
26760         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26761         have <sys/select.h>.
26762
26763 2010-12-24  Bruno Haible  <bruno@clisp.org>
26764
26765         gethostname: Provide a fallback for HOST_NAME_MAX.
26766         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
26767         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
26768         instead.
26769         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26770
26771 2010-12-24  Bruno Haible  <bruno@clisp.org>
26772
26773         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
26774         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
26775         (SA_RESTART): Likewise.
26776         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26777
26778 2010-12-24  Bruno Haible  <bruno@clisp.org>
26779
26780         signal: Define NSIG.
26781         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
26782         * tests/test-signal.c (nsig): New variable.
26783         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26784
26785 2010-12-24  Bruno Haible  <bruno@clisp.org>
26786
26787         rename, renameat: Avoid test failures on OSF/1 5.1.
26788         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
26789         alternative error codes.
26790         * tests/test-renameat.c (main): Likewise.
26791
26792 2010-12-24  Bruno Haible  <bruno@clisp.org>
26793
26794         *printf: Detect large precisions bug on Solaris 10/SPARC.
26795         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
26796         by Paul Eggert.
26797         * tests/test-snprintf-posix.h (test_function): Add this test code here
26798         too.
26799         * tests/test-sprintf-posix.h (test_function): Likewise.
26800         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26801         * tests/test-vasprintf-posix.c (test_function): Likewise.
26802         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
26803         around by gnulib.
26804         * doc/posix-functions/printf.texi: Likewise.
26805         * doc/posix-functions/snprintf.texi: Likewise.
26806         * doc/posix-functions/sprintf.texi: Likewise.
26807         * doc/posix-functions/vfprintf.texi: Likewise.
26808         * doc/posix-functions/vprintf.texi: Likewise.
26809         * doc/posix-functions/vsnprintf.texi: Likewise.
26810         * doc/posix-functions/vsprintf.texi: Likewise.
26811         * doc/posix-functions/dprintf.texi: Undo last commit.
26812         * doc/posix-functions/vdprintf.texi: Likewise.
26813
26814 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26815
26816         tests: port test-fdutimensat.c to Solaris 8
26817         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
26818         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
26819         On Solaris 8, it fails with errno == ENOSYS, because there is no
26820         futimens (so it can't use the fd), and there is no lutimens (so it
26821         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
26822
26823         vsnprintf: make more consistent with snprintf; doc fixes
26824
26825         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
26826         the byte count return problem was promoted from the snprintf-posix
26827         to the snprintf module.
26828         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26829         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
26830         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
26831         * tests/test-snprintf.c (main): Check the byte count returned.
26832         * tests/test-vsnprintf.c (main): Likewise.
26833
26834 2010-12-23  Eric Blake  <eblake@redhat.com>
26835
26836         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
26837         * modules/sigpipe (License): Relax license.
26838
26839 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26840
26841         doc: document Solaris printf bug with large float precisions
26842         * doc/posix-functions/dprintf.texi (dprintf):
26843         * doc/posix-functions/fprintf.texi (fprintf):
26844         * doc/posix-functions/printf.texi (printf):
26845         * doc/posix-functions/snprintf.texi (snprintf):
26846         * doc/posix-functions/sprintf.texi (sprintf):
26847         * doc/posix-functions/vdprintf.texi (vdprintf):
26848         * doc/posix-functions/vfprintf.texi (vfprintf):
26849         * doc/posix-functions/vprintf.texi (vprintf):
26850         * doc/posix-functions/vsnprintf.texi (vsnprintf):
26851         * doc/posix-functions/vsprintf.texi (vsprintf):
26852         Mention that these functions mishandle large floating point
26853         precisions on Solaris 10.  The same bug is also present in Solaris
26854         8, and I assume earlier.  This causes "cd gnulib-tests; make
26855         check" to fail on Solaris 8 (and I assume, later) when building
26856         the latest coreutils, in test-vasprintf-posix's call to
26857         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
26858         the wide flavors (e.g., wprintf) so this patch just updates the
26859         documentation for the narrow ones.
26860
26861         test-posixtm.c: add two tests
26862         * tests/test-posixtm.c: Add two tests, to highlight the
26863         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
26864         around this bug; this is merely to document it.
26865
26866 2010-12-22  Bruno Haible  <bruno@clisp.org>
26867
26868         getlogin_r: Work around portability problem on OSF/1.
26869         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
26870         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
26871         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
26872         test for a truncated result.
26873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
26874         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
26875         * modules/getlogin_r (Depends-on): Add memchr.
26876         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
26877
26878 2010-12-22  Bruno Haible  <bruno@clisp.org>
26879
26880         ptsname: Avoid test failure on OSF/1 5.1.
26881         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
26882         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
26883         (same_slave): New function.
26884         (main): Use it to compare ptsname's result with the expected file name.
26885
26886 2010-12-22  Bruno Haible  <bruno@clisp.org>
26887
26888         Port extended stdio modules to HP NonStop Kernel.
26889         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
26890         macros.
26891         * lib/fbufmode.c: Update comments.
26892         * lib/fflush.c: Likewise.
26893         * lib/fpurge.c: Likewise.
26894         * lib/freadable.c: Likewise.
26895         * lib/freadahead.c: Likewise.
26896         * lib/freading.c: Likewise.
26897         * lib/freadptr.c: Likewise.
26898         * lib/freadseek.c: Likewise.
26899         * lib/fseeko.c: Likewise.
26900         * lib/fseterr.c: Likewise.
26901         * lib/fwritable.c: Likewise.
26902         * lib/fwriting.c: Likewise.
26903         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26904
26905 2010-12-22  Bruno Haible  <bruno@clisp.org>
26906
26907         ttyname_r: Work around bug on OSF/1 5.1.
26908         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
26909         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
26910         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
26911         present.
26912         * lib/ttyname_r.c (ttyname_r): Update comments.
26913
26914 2010-12-22  Bruno Haible  <bruno@clisp.org>
26915
26916         round: Implement result sign according to IEEE 754.
26917         * lib/round.c (MIN, MINUS_ZERO): New macros.
26918         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
26919         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
26920         * tests/test-round-ieee.c (main): Likewise.
26921         * tests/test-roundl-ieee.c (main): Likewise.
26922
26923         trunc: Implement result sign according to IEEE 754.
26924         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
26925         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
26926         * tests/test-trunc2.c: Include minus-zero.h.
26927         (MINUS_ZERO): New macro.
26928         (trunc_reference): Keep in sync with lib/trunc.c.
26929         * tests/test-truncf2.c: Include minus-zero.h.
26930         (MINUS_ZERO): New macro.
26931         (truncf_reference): Keep in sync with lib/trunc.c.
26932         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26933         * tests/test-trunc-ieee.c (main): Likewise.
26934         * tests/test-truncl-ieee.c (main): Likewise.
26935
26936         ceil: Implement result sign according to IEEE 754.
26937         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26938         (FUNC): Return -0.0 for -1 < x < 0.
26939         * tests/test-ceil2.c: Include minus-zero.h.
26940         (MINUS_ZERO): New macro.
26941         (ceil_reference): Keep in sync with lib/ceil.c.
26942         * tests/test-ceilf2.c: Include minus-zero.h.
26943         (MINUS_ZERO): New macro.
26944         (ceilf_reference): Keep in sync with lib/ceil.c.
26945         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
26946         * tests/test-ceil-ieee.c (main): Likewise.
26947         * tests/test-ceill-ieee.c (main): Likewise.
26948
26949         floor: Implement result sign according to IEEE 754.
26950         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
26951         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
26952         * tests/test-floorf2.c (floorf_reference): Likewise.
26953         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
26954         * tests/test-floor-ieee.c (main): Likewise.
26955         * tests/test-floorl-ieee.c (main): Likewise.
26956
26957 2010-12-22  Bruno Haible  <bruno@clisp.org>
26958
26959         getaddrinfo: Update doc.
26960         * doc/posix-functions/gai_strerror.texi: Return type is also different
26961         on AIX and HP-UX.
26962
26963 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26964
26965         getaddrinfo, inet_ntop: Update doc for Solaris.
26966         * doc/posix-functions/gai_strerror.texi: Return type is also an
26967         issue on Solaris 9 and earlier.
26968         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
26969         on Solaris 10 and earlier.
26970
26971 2010-12-21  Bruno Haible  <bruno@clisp.org>
26972
26973         New module 'roundl-ieee'.
26974         * modules/roundl-ieee: New file.
26975         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
26976         test whether roundl works according to ISO C 99 with IEC 60559.
26977         * m4/roundl-ieee.m4: New file.
26978         * modules/roundl-ieee-tests: New file.
26979         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
26980         * tests/test-roundl.c (main): Remove signbit tests.
26981         * modules/roundl-tests (Depends-on): Remove signbit.
26982         * doc/posix-functions/roundl.texi: Mention the new module.
26983
26984 2010-12-21  Bruno Haible  <bruno@clisp.org>
26985
26986         New module 'truncl-ieee'.
26987         * modules/truncl-ieee: New file.
26988         * modules/truncl-ieee-tests: New file.
26989         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
26990         * tests/test-truncl.c (main): Remove signbit tests.
26991         * modules/truncl-tests (Depends-on): Remove signbit.
26992         * doc/posix-functions/truncl.texi: Mention the new module.
26993
26994 2010-12-21  Bruno Haible  <bruno@clisp.org>
26995
26996         New module 'ceill-ieee'.
26997         * modules/ceill-ieee: New file.
26998         * modules/ceill-ieee-tests: New file.
26999         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27000         * tests/test-ceill.c (main): Remove signbit tests.
27001         * modules/ceill-tests (Depends-on): Remove signbit.
27002         * doc/posix-functions/ceill.texi: Mention the new module.
27003
27004 2010-12-21  Bruno Haible  <bruno@clisp.org>
27005
27006         New module 'floorl-ieee'.
27007         * modules/floorl-ieee: New file.
27008         * modules/floorl-ieee-tests: New file.
27009         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27010         * tests/test-floorl.c (main): Remove signbit tests.
27011         * modules/floorl-tests (Depends-on): Remove signbit.
27012         * doc/posix-functions/floorl.texi: Mention the new module.
27013
27014 2010-12-21  Bruno Haible  <bruno@clisp.org>
27015
27016         New module 'round-ieee'.
27017         * modules/round-ieee: New file.
27018         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27019         whether round works according to ISO C 99 with IEC 60559.
27020         * m4/round-ieee.m4: New file.
27021         * modules/round-ieee-tests: New file.
27022         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27023         * tests/test-round1.c (main): Remove signbit tests.
27024         * modules/round-tests (Depends-on): Remove 'signbit'.
27025         * doc/posix-functions/round.texi: Mention the new module.
27026
27027 2010-12-21  Bruno Haible  <bruno@clisp.org>
27028
27029         New module 'trunc-ieee'.
27030         * modules/trunc-ieee: New file.
27031         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27032         whether trunc works according to ISO C 99 with IEC 60559.
27033         * m4/trunc-ieee.m4: New file.
27034         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27036         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27037         * modules/trunc-ieee-tests: New file.
27038         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27039         * tests/test-trunc1.c (main): Remove signbit tests.
27040         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27041         * doc/posix-functions/trunc.texi: Mention the new module.
27042
27043 2010-12-21  Bruno Haible  <bruno@clisp.org>
27044
27045         New module 'ceil-ieee'.
27046         * modules/ceil-ieee: New file.
27047         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27048         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27049         ISO C 99 with IEC 60559.
27050         * m4/ceil-ieee.m4: New file.
27051         * modules/ceil (Files): Add lib/ceil.c.
27052         (Depends-on): Add 'float'.
27053         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27054         * lib/math.in.h (ceil): New declaration.
27055         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27056         REPLACE_CEIL.
27057         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27058         * modules/ceil-ieee-tests: New file.
27059         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27060         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27061         * doc/posix-functions/ceil.texi: Mention the new module.
27062
27063 2010-12-21  Bruno Haible  <bruno@clisp.org>
27064
27065         New module 'floor-ieee'.
27066         * modules/floor-ieee: New file.
27067         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27068         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27069         ISO C 99 with IEC 60559.
27070         * m4/floor-ieee.m4: New file.
27071         * modules/floor (Files): Add lib/floor.c.
27072         (Depends-on): Add 'float'.
27073         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27074         * lib/math.in.h (floor): New declaration.
27075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27076         REPLACE_FLOOR.
27077         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27078         * modules/floor-ieee-tests: New file.
27079         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27080         * tests/test-math-c++.cc: Check the signature of 'floor'.
27081         * doc/posix-functions/floor.texi: Mention the new module.
27082
27083 2010-12-21  Bruno Haible  <bruno@clisp.org>
27084
27085         New module 'roundf-ieee'.
27086         * modules/roundf-ieee: New file.
27087         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27088         test whether roundf works according to ISO C 99 with IEC 60559.
27089         * m4/roundf-ieee.m4: New file.
27090         * modules/roundf-ieee-tests: New file.
27091         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27092         * tests/test-roundf1.c (main): Remove signbit tests.
27093         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27094         * doc/posix-functions/roundf.texi: Mention the new module.
27095
27096 2010-12-21  Bruno Haible  <bruno@clisp.org>
27097
27098         New module 'truncf-ieee'.
27099         * modules/truncf-ieee: New file.
27100         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27101         test whether truncf works according to ISO C 99 with IEC 60559.
27102         * m4/truncf-ieee.m4: New file.
27103         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27105         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27106         * modules/truncf-ieee-tests: New file.
27107         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27108         * tests/test-truncf1.c (main): Remove signbit tests.
27109         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27110         * doc/posix-functions/truncf.texi: Mention the new module.
27111
27112 2010-12-21  Bruno Haible  <bruno@clisp.org>
27113
27114         New module 'ceilf-ieee'.
27115         * modules/ceilf-ieee: New file.
27116         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27117         test whether ceilf works according to ISO C 99 with IEC 60559.
27118         * m4/ceilf-ieee.m4: New file.
27119         * modules/ceilf-ieee-tests: New file.
27120         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27121         * tests/test-ceilf1.c (main): Remove signbit tests.
27122         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27123         * doc/posix-functions/ceilf.texi: Mention the new module.
27124
27125 2010-12-21  Bruno Haible  <bruno@clisp.org>
27126
27127         New module 'floorf-ieee'.
27128         * modules/floorf-ieee: New file.
27129         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27130         test whether floorf works according to ISO C 99 with IEC 60559.
27131         * m4/floorf-ieee.m4: New file.
27132         * modules/floorf-ieee-tests: New file.
27133         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27134         * tests/test-floorf1.c (main): Remove signbit tests.
27135         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27136         * doc/posix-functions/floorf.texi: Mention the new module.
27137
27138 2010-12-21  Bruno Haible  <bruno@clisp.org>
27139
27140         Support for minus zero in autoconf macros.
27141         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27142         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27143         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27144         * tests/minus-zero.h: Update comments.
27145
27146 2010-12-21  Bruno Haible  <bruno@clisp.org>
27147
27148         Tests for module 'ceil'.
27149         * modules/ceil-tests: New file.
27150         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27151         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27152
27153 2010-12-21  Bruno Haible  <bruno@clisp.org>
27154
27155         Tests for module 'floor'.
27156         * modules/floor-tests: New file.
27157         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27158         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27159
27160 2010-12-21  Bruno Haible  <bruno@clisp.org>
27161
27162         math: Fix indentation.
27163         * lib/math.in.h (floorf): Fix indentation.
27164
27165 2010-12-21  Bruno Haible  <bruno@clisp.org>
27166
27167         Fix cross-compilation guesses on Solaris.
27168         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27169         not match "solaris2.10".
27170         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27171         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27172         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27173
27174 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27175
27176         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27177         This fixes a problem observed with the latest coreutils snapshot
27178         that caused a test to fail on Solaris 8.  src/csplit.c's call
27179         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27180         earlier, instead of returning the number of bytes that would have
27181         been generated; this causes csplit to incorrectly report memory
27182         exhaustion.
27183         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27184         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27185         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27186         comments to match.
27187         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27188         Fix typo in matching older versions of Solaris: "solaris2.10"
27189         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27190         only for guessing while cross-compiling.
27191         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27192
27193 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27194
27195         ftoastr: fix comment again
27196         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27198         Also, simplify example a bit by using flags = 0.
27199
27200 2010-12-20  Bruno Haible  <bruno@clisp.org>
27201
27202         round*, trunc*: Update documentation regarding glibc.
27203         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27204         * doc/posix-functions/round.texi: Likewise.
27205         * doc/posix-functions/roundl.texi: Likewise.
27206         * doc/posix-functions/truncf.texi: Likewise.
27207         * doc/posix-functions/trunc.texi: Likewise.
27208         * doc/posix-functions/truncl.texi: Likewise.
27209
27210 2010-12-20  Bruno Haible  <bruno@clisp.org>
27211
27212         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27213         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27214         * doc/posix-functions/round.texi: Likewise.
27215         * doc/posix-functions/roundl.texi: Likewise.
27216
27217 2010-12-20  Bruno Haible  <bruno@clisp.org>
27218
27219         ttyname_r: Add missing declaration on HP-UX 11.
27220         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27221         HAVE_TTYNAME_R.
27222         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27223         declared. Set HAVE_TTYNAME_R always.
27224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27225         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27226         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27227         HAVE_TTYNAME_R.
27228         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27229
27230 2010-12-20  Bruno Haible  <bruno@clisp.org>
27231
27232         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27233         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27234         * doc/posix-functions/getlogin_r.texi: Likewise.
27235         * tests/test-getlogin.c: Include <errno.h>.
27236         (main): Avoid test failure on HP-UX 11.11.
27237         * tests/test-getlogin_r.c (main): Likewise.
27238
27239 2010-12-20  Bruno Haible  <bruno@clisp.org>
27240
27241         getlogin_r: Add missing declaration on HP-UX 11.
27242         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27243         declared also when it exists as a function.
27244         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27245
27246 2010-12-20  Bruno Haible  <bruno@clisp.org>
27247
27248         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27249         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27250         through wcrtomb.
27251
27252 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27253
27254         ftoastr: fix comment
27255         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27257
27258 2010-12-19  Bruno Haible  <bruno@clisp.org>
27259
27260         isnan: Ensure it is a macro.
27261         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27262         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27263         Solaris.
27264
27265 2010-12-19  Bruno Haible  <bruno@clisp.org>
27266
27267         ldexpl test: Fix link error on OSF/1 5.1.
27268         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27269
27270 2010-12-19  Bruno Haible  <bruno@clisp.org>
27271
27272         wctype: Make it work in C++ mode on OSF/1 5.1.
27273         * lib/wctype.in.h (iswblank): Declare but not define here.
27274         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27275         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27276         * modules/wctype (Files): Add lib/iswblank.c.
27277
27278 2010-12-19  Bruno Haible  <bruno@clisp.org>
27279
27280         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27281         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27282         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27283
27284 2010-12-19  Bruno Haible  <bruno@clisp.org>
27285
27286         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27287         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27288         _POSIX_PII_SOCKET.
27289         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27290         * doc/posix-functions/recvfrom.texi: Likewise.
27291         * doc/posix-functions/send.texi: Likewise.
27292         * doc/posix-functions/sendto.texi: Likewise.
27293
27294 2010-12-19  Bruno Haible  <bruno@clisp.org>
27295
27296         tcgetsid: Add missing declaration on OSF/1 5.1.
27297         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27298         HAVE_TCGETSID.
27299         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27300         Don't set HAVE_TCGETSID.
27301         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27302         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27303         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27304         HAVE_TCGETSID.
27305         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27306
27307 2010-12-19  Bruno Haible  <bruno@clisp.org>
27308
27309         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27310         * lib/stdio.in.h: During the include_next statement, let recursive
27311         includes of this file include only the system header file.
27312
27313 2010-12-19  Bruno Haible  <bruno@clisp.org>
27314
27315         iconv_open: Fix regression from 2010-12-04.
27316         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27317         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27318
27319 2010-12-19  Bruno Haible  <bruno@clisp.org>
27320
27321         stdbool test: Avoid a gcc warning.
27322         * tests/test-stdbool.c (main): Fail if e1 is false.
27323         Reported by Jim Meyering.
27324
27325 2010-12-19  Jim Meyering  <meyering@redhat.com>
27326
27327         setenv: restore to working order
27328         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27329         mistakenly removed.
27330         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27331         HAVE_SETENV.
27332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27333         HAVE_SETENV.
27334
27335 2010-12-19  Bruno Haible  <bruno@clisp.org>
27336
27337         Document some different function declarations on OSF/1 5.1.
27338         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27339         * doc/posix-functions/inet_ntop.texi: Likewise.
27340         * doc/posix-functions/gethostname.texi: Likewise.
27341         * lib/unistd.in.h (gethostname): Update comment.
27342
27343 2010-12-19  Bruno Haible  <bruno@clisp.org>
27344
27345         doc: Mention vasprintf-posix module.
27346         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27347         the 'vasprintf-posix' module.
27348         * doc/glibc-functions/vasprintf.texi: Likewise.
27349
27350 2010-12-19  Bruno Haible  <bruno@clisp.org>
27351
27352         unsetenv: Add missing declaration on OSF/1 5.1.
27353         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27354         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27355         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27357         not HAVE_UNSETENV.
27358         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27359         HAVE_UNSETENV.
27360         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27361
27362 2010-12-19  Bruno Haible  <bruno@clisp.org>
27363
27364         setenv: Add missing declaration on OSF/1 5.1.
27365         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27366         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27367         declared. Don't set HAVE_SETENV.
27368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27369         not HAVE_SETENV.
27370         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27371         HAVE_SETENV.
27372         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27373
27374 2010-12-19  Bruno Haible  <bruno@clisp.org>
27375
27376         nl_langinfo tests: Avoid gcc warning.
27377         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27378
27379 2010-12-19  Bruno Haible  <bruno@clisp.org>
27380
27381         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27382         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27383         _GL_CXXALIAS_SYS.
27384
27385 2010-12-19  Bruno Haible  <bruno@clisp.org>
27386
27387         stdbool: Relax test.
27388         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27389         address to 'bool' work in static initializer, for compilers other than
27390         GCC.
27391
27392 2010-12-19  Bruno Haible  <bruno@clisp.org>
27393
27394         ftello: Add missing declaration on OSF/1 5.1.
27395         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27396         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27398         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27399         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27400
27401 2010-12-19  Bruno Haible  <bruno@clisp.org>
27402
27403         fseeko: Add missing declaration on OSF/1 5.1.
27404         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27405         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27407         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27408         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27409
27410 2010-12-19  Bruno Haible  <bruno@clisp.org>
27411
27412         fchdir: Add missing declaration on OSF/1 5.1.
27413         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27414         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27416         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27417         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27418
27419 2010-12-19  Bruno Haible  <bruno@clisp.org>
27420
27421         relocatable-prog-wrapper: Separate from relocatable-prog.
27422         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27423         uninstall-relocwrapper rule here.
27424         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27425         Reported by Ian Beckwith <ianb@erislabs.net>.
27426
27427 2010-12-19  Bruno Haible  <bruno@clisp.org>
27428
27429         unistr/u8-mbsnlen: Add missing dependency.
27430         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27431         Reported by Ian Beckwith <ianb@erislabs.net>.
27432
27433 2010-12-19  Bruno Haible  <bruno@clisp.org>
27434
27435         iconv: Make it possible again to use this module without 'iconv-h'.
27436         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27437         if it is not defined.
27438         Reported by Ian Beckwith <ianb@erislabs.net>.
27439
27440 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27441
27442         acl: port to Solaris 8 when copying from tmpfs to ufs
27443         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27444         error number.  Problem observed on Solaris 8 with latest
27445         coreutils, with "mv A B", where A is on a tmpfs file system and B
27446         is on a ufs file system.  This caused coreutils' mv/part-symlink
27447         test to fail.
27448
27449         tests: set fail=0 at start
27450         * tests/init.sh (setup_): Move fail=0 initialization here ...
27451         (mktempd_): ... from here, so that tests can rely on fail being
27452         set to 0 initially.  This fixes a problem in coreutils; see:
27453         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27454
27455 2010-12-18  Bruno Haible  <bruno@clisp.org>
27456
27457         memmem-simple: Stylistic changes.
27458         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27459         Fix preprocessor directive indentation.
27460
27461 2010-12-15  Pádraig Brady <P@draigBrady.com>
27462
27463         memmem, memmem-simple: reorganize and expand empty needle check
27464         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27465         functional checks to memmem-simple so that one has a fully functional
27466         memmem by using just this module.
27467         Restrict the performance only check to the memmem module.
27468         Also expand the empty needle check to ensure the correct
27469         pointer is returned, not just a non NULL pointer.
27470         * doc/glibc-functions/memmem.texi: Rearrange the portability
27471         documentation to correlate with the rearranged checks.
27472         Clarify exactly how the memmem and memmem-simple modules
27473         relate to each other.
27474
27475 2010-12-15  Pádraig Brady <P@draigBrady.com>
27476             Bruno Haible  <bruno@clisp.org>
27477
27478         Improve cross-compilation guesses for uClibc.
27479         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27480         that uClibc does not have the glibc bug.
27481         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27482         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27483
27484 2010-12-14  Eric Blake  <eblake@redhat.com>
27485
27486         configmake: provide fallbacks for oldest supported autotools
27487         * m4/configmake.m4: New file.
27488         * modules/configmake (Files): Ship it.
27489         (configure.ac): Use it to guarantee fallbacks.
27490
27491 2010-12-13  Pádraig Brady <P@draigBrady.com>
27492
27493         read-file: Improve handling of large files
27494         * lib/read-file.c (fread_file): Minimize realloc()s
27495         for regular files, and better manage sizes around SIZE_MAX.
27496
27497 2010-12-13  Eric Blake  <eblake@redhat.com>
27498
27499         cloexec, fcntl: relax license
27500         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27501         consent from all contributors.
27502         * modules/fcntl (License): Likewise.
27503
27504 2010-12-10  Bruno Haible  <bruno@clisp.org>
27505
27506         Tests for module 'pipe-posix'.
27507         * modules/pipe-posix-tests: New file.
27508         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27509
27510 2010-12-10  Bruno Haible  <bruno@clisp.org>
27511
27512         pipe-posix: Make it work in C++ mode.
27513         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27514         (pipe): Use common idiom, not a macro definition.
27515         * lib/pipe.c: New file.
27516         * m4/pipe.m4: New file.
27517         * modules/pipe-posix (Description): Enhance.
27518         (Files): Add lib/pipe.c, m4/pipe.m4.
27519         (configure.ac): Invoke gl_FUNC_PIPE.
27520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27521         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27522         * tests/test-unistd-c++.cc: Check the signature of pipe.
27523
27524 2010-12-10  Bruno Haible  <bruno@clisp.org>
27525
27526         Rename module 'pipe' to 'spawn-pipe'.
27527         * modules/spawn-pipe: New file, renamed from modules/pipe.
27528         (Files, configure.ac, Makefile.am): Update.
27529         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27530         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27531         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27532         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27533         "spawn-pipe.h" instead of "pipe.h".
27534         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27535         to gl_SPAWN_PIPE.
27536         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27537         (Files, Makefile.am): Update.
27538         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27539         Update.
27540         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27541         Include "spawn-pipe.h" instead of "pipe.h".
27542         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27543         * lib/javacomp.c: Likewise.
27544         * lib/javaversion.c: Likewise.
27545         * lib/pipe-filter-gi.c: Likewise.
27546         * lib/pipe-filter-ii.c: Likewise.
27547         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27548         * modules/javacomp (Depends-on): Likewise.
27549         * modules/javaversion (Depends-on): Likewise.
27550         * modules/pipe-filter-gi (Depends-on): Likewise.
27551         * modules/pipe-filter-ii (Depends-on): Likewise.
27552         * MODULES.html.sh (Executing programs): Update.
27553         * NEWS: Mention the change.
27554
27555 2010-12-10  Eric Blake  <eblake@redhat.com>
27556
27557         pipe-posix: new module
27558         * modules/pipe-posix: New file.
27559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27560         (gl_UNISTD_H): Check for declaration.
27561         * modules/unistd (Makefile.am): Substitute it.
27562         * lib/unistd.in.h (pipe): Provide it for mingw.
27563         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27564         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27565
27566 2010-12-07  Bruno Haible  <bruno@clisp.org>
27567
27568         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27569         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27570         u8_strcmp_gnu.
27571         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27572
27573 2010-12-06  Bruno Haible  <bruno@clisp.org>
27574
27575         Update internal documentation.
27576         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27577
27578 2010-12-04  Bruno Haible  <bruno@clisp.org>
27579
27580         Put more information about failed tests into the test return codes.
27581         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27582         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27583         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27584         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27585         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27586         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27587         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27588         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27589         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27590         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27591         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27592         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27593         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27594         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27595         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27596         returns a bit mask.
27597         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27598         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27599         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27600         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27601         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27602         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27603         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27604         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27605         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27606         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27607         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27608         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27609         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27610         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27611         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27612         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27613         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27614         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27615         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27616         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27617         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27618         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27619         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27620         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27621         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27622         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27623         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27624         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27625         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27626         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27627         gl_PRINTF_PRECISION): Likewise.
27628         * m4/regex.m4 (gl_REGEX): Likewise.
27629         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27630         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27631         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27632         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27633         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27634         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27635         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27636         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27637         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27638         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27639         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27640         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27641         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27642         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27643         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27644         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27645         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27646         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27648         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27649         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27650         enumerated value.
27651         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27652
27653 2010-12-04  Bruno Haible  <bruno@clisp.org>
27654
27655         Update for Solaris 11 2010-11.
27656         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27657         Express, released in November 2010.
27658
27659 2010-12-04  Bruno Haible  <bruno@clisp.org>
27660
27661         nproc: Relax license.
27662         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27663         and Paul Eggert.
27664         Requested by Ludovic Courtès <ludo@gnu.org>.
27665
27666 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27667
27668         utimecmp: fine-grained src to nearby coarse-grained dest
27669
27670         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27671         and the source is on a file system with higher-resolution time
27672         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27673         not work, and the time stamps are close together, the algorithm to
27674         determine the exact resolution from the read-back mtime was buggy:
27675         it had a "!=" where it should have had an "==".  This bug has been
27676         in the code ever since it was introduced to gnulib.
27677         Problem reported by Dan Jacobson in
27678         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27679
27680 2010-11-30  Bruno Haible  <bruno@clisp.org>
27681
27682         strerror_r-posix: Fix autoconf test.
27683         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27684
27685 2010-11-28  Bruno Haible  <bruno@clisp.org>
27686             Paul Eggert  <eggert@cs.ucla.edu>
27687
27688         Tests for module 'getdomainname'.
27689         * modules/getdomainname-tests: New file.
27690         * tests/test-getdomainname.c: New file, based on
27691         tests/test-gethostname.c.
27692
27693 2010-11-28  Bruno Haible  <bruno@clisp.org>
27694             Paul Eggert  <eggert@cs.ucla.edu>
27695
27696         getdomainname: Use the system function when possible.
27697         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27698         (getdomainname): Replace if needed. Provide the declaration if it is
27699         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27700         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27701         (getdomainname): When the system has getdomainname, call the system
27702         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27703         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27704         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27705         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27706         the function if its second argument is of type 'int' or if it is found
27707         in libnsl.
27708         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27709         <sys/systeminfo.h> and sysinfo().
27710         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27712         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27713         HAVE_GETDOMAINNAME.
27714         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27715         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27716         * doc/glibc-functions/getdomainname.texi: Document the problems with
27717         the getdomainname declaration.
27718
27719 2010-11-28  Bruno Haible  <bruno@clisp.org>
27720
27721         sys_socket: Ensure ss_family field on AIX.
27722         * lib/sys_socket.in.h (ss_family): New macro definition.
27723         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27724         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27725         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27726         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27727         * modules/sys_socket (Makefile.am): Substitute
27728         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27729         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27730
27731 2010-11-27  Bruno Haible  <bruno@clisp.org>
27732
27733         readline: Improve configure output.
27734         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27735         "checking for readline..." result understandable.
27736
27737 2010-11-27  Bruno Haible  <bruno@clisp.org>
27738
27739         *printf-posix: Detect a bug on Solaris 10/x86.
27740         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27741         for floating-point output.
27742         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27743         directive.
27744         * tests/test-snprintf-posix.h (test_function): Likewise.
27745         * tests/test-sprintf-posix.h (test_function): Likewise.
27746         * tests/test-vasprintf-posix.c (test_function): Likewise.
27747         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27748         * doc/posix-functions/printf.texi: Likewise.
27749         * doc/posix-functions/snprintf.texi: Likewise.
27750         * doc/posix-functions/sprintf.texi: Likewise.
27751         * doc/posix-functions/vfprintf.texi: Likewise.
27752         * doc/posix-functions/vprintf.texi: Likewise.
27753         * doc/posix-functions/vsnprintf.texi: Likewise.
27754         * doc/posix-functions/vsprintf.texi: Likewise.
27755         * doc/glibc-functions/obstack_printf.texi: Likewise.
27756         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27757
27758 2010-11-27  Bruno Haible  <bruno@clisp.org>
27759
27760         Fix link error when module libunistring-optional is in use.
27761         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27762         * modules/striconveha-tests (Makefile.am): Likewise.
27763
27764 2010-11-27  Bruno Haible  <bruno@clisp.org>
27765
27766         regex: Mention link dependencies.
27767         * modules/regex (Link): New section.
27768         * modules/rpmatch (Link): Likewise.
27769         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
27770
27771 2010-11-27  Bruno Haible  <bruno@clisp.org>
27772
27773         ftoastr: Fix compilation error on Solaris.
27774         * lib/ftoastr.c: Include <config.h>.
27775
27776 2010-11-27  Bruno Haible  <bruno@clisp.org>
27777
27778         getloadavg: Update documentation.
27779         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
27780
27781 2010-11-27  Bruno Haible  <bruno@clisp.org>
27782
27783         sys_socket: Fix test whether the functions are declared.
27784         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
27785         not <sys/select.h>.
27786
27787 2010-11-27  Bruno Haible  <bruno@clisp.org>
27788
27789         getpass: Make sure to get system declaration on some platforms.
27790         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
27791         gl_USE_SYSTEM_EXTENSIONS.
27792         * modules/getpass (Depends-on): Add extensions.
27793
27794 2010-11-26  Bruno Haible  <bruno@clisp.org>
27795
27796         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
27797         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
27798         'iconv' module is present.
27799         (ICONV_CONST): New macro.
27800         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
27801         ICONV_CONST.
27802         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
27803         set ICONV_CONST.
27804         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
27805         here.
27806         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
27807         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
27808         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
27809         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
27810         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
27811         present.
27812
27813 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27814
27815         ftoastr: comment fix
27816         * lib/ftoastr.c: "little" -> "little or no" in comment
27817
27818 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
27819
27820         stdint: port to GCC 4.3 + OSX + Octave
27821         On this platform, stdint.h is buggy and defines int64_t to long
27822         long int.  The replacement defined it to long int, causing
27823         problems with C++ style name mangling.  Instead, trust the system
27824         definition if INT64_MAX is defined, and likewise for the unsigned
27825         variant.   Problem reported by Jarno Rajahalme in
27826         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
27827         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
27828         and don't mess with int64_t and INT64_MAX in this case.
27829         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
27830
27831 2010-11-24  Bruno Haible  <bruno@clisp.org>
27832
27833         doc: Corrections regarding MacOS X 10.4 and 10.5.
27834         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
27835         MacOS X.
27836         Reported by Simon Josefsson.
27837
27838 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
27839
27840         Uninstall ".bin" files installed by relocwrapper.
27841         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
27842         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
27843         unless it is already there.
27844
27845 2010-11-21  Bruno Haible  <bruno@clisp.org>
27846
27847         Update for NetBSD 5.0.
27848         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27849         NetBSD; the test fails on NetBSD 5.0.
27850         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27851         about NetBSD.
27852
27853 2010-11-21  Bruno Haible  <bruno@clisp.org>
27854
27855         Update for HP-UX 11.23 and HP-UX 11.31.
27856         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
27857         HP-UX.
27858
27859 2010-11-21  Bruno Haible  <bruno@clisp.org>
27860
27861         Update for MacOS X 10.5.
27862         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27863         MacOS X; the test fails on MacOS X 10.5.8.
27864         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27865         about MacOS X.
27866
27867 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
27868
27869         bootstrap: add bootstrap_sync option.
27870         See discussion at
27871         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
27872         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
27873         * build-aux/bootstrap: Accept --bootstrap-sync to update
27874         bootstrap if it is not identical to the local gnulib's
27875         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
27876         enable this by default.  Accept --no-bootstrap-sync to disable
27877         it.
27878
27879 2010-11-20  Bruno Haible  <bruno@clisp.org>
27880
27881         Ensure that <features.h> is included before __GLIBC__ is tested.
27882         * lib/printf-parse.h: Include <features.h>.
27883         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
27884         Reported by Mike Frysinger <vapier@gentoo.org>.
27885
27886         Ensure that <features.h> is included before __GLIBC__ is tested.
27887         * lib/wchar.in.h: Include <features.h>.
27888         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
27889         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
27890         Reported by Mike Frysinger <vapier@gentoo.org>.
27891
27892         Ensure that <features.h> is included before __GLIBC__ is tested.
27893         * lib/arpa_inet.in.h: Include <features.h>.
27894         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
27895         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
27896         Reported by Mike Frysinger <vapier@gentoo.org>.
27897
27898         Ensure that <features.h> is included before __GLIBC__ is tested.
27899         * build-aux/link-warning.h: Include <features.h>.
27900         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
27901         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
27902         Reported by Mike Frysinger <vapier@gentoo.org>.
27903
27904         Ensure that <features.h> is included before __GLIBC__ is tested.
27905         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
27906         Reported by Mike Frysinger <vapier@gentoo.org>.
27907
27908 2010-11-20  Bruno Haible  <bruno@clisp.org>
27909
27910         memmem: Fix autoconf test.
27911         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
27912
27913 2010-11-20  Bruno Haible  <bruno@clisp.org>
27914
27915         Port to uClibc.
27916         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
27917         * lib/fcntl.in.h: Likewise.
27918         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
27919         * lib/mbrtowc.c (mbrtowc): Likewise.
27920         * lib/relocatable.c (find_shared_library_fullname): Likewise.
27921         * lib/strerror_r.c: Likewise.
27922         * lib/unistr/u8-strnlen.c: Likewise.
27923         * lib/vasnprintf.c (decimal_point_char): Likewise.
27924         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27925         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27926         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27927         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27928         * tests/test-sigaction.c (handler, main): Likewise.
27929         * lib/freading.h: Treat uClibc like a non-glibc platform.
27930         * lib/freading.c: Likewise.
27931         * lib/gettext.h: Likewise.
27932         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27933         Likewise.
27934         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27935         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27936         * lib/propername.c (proper_name_utf8): Likewise.
27937         * lib/spawn.in.h: Likewise.
27938         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27939         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27940         mem_cd_iconveh_internal): Likewise.
27941         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
27942         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27943         strstr, strcasestr): Likewise.
27944         * lib/unicodeio.c (unicode_to_mb): Likewise.
27945         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
27946         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
27947         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
27948         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
27949         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
27950         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
27951         * lib/unistr/u8-stpncpy.c: Likewise.
27952         * lib/vasnprintf.c (VASNPRINTF): Likewise.
27953         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
27954         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27955         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27956         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27957         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
27958         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
27959         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
27960         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
27961         Likewise.
27962         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27963         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27964         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27965         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27966         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27967         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27968         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27969         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
27970         * tests/test-getopt.h (OPTIND_MIN): Likewise.
27971         * tests/test-striconveha.c (main): Likewise.
27972         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27973         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
27974         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
27975         * doc/posix-functions/getline.texi: Likewise.
27976         Reported by Mike Frysinger <vapier@gentoo.org>.
27977
27978 2010-11-20  Bruno Haible  <bruno@clisp.org>
27979
27980         nproc: Fix condition.
27981         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
27982         HAVE_PTHREAD_AFFINITY_NP.
27983
27984 2010-11-20  Bruno Haible  <bruno@clisp.org>
27985
27986         Fix a comment.
27987         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
27988
27989 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
27990
27991         ftoastr: don't assume snprintf
27992         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
27993         Implement a subset of snprintf here, by using sprintf safely.
27994         * modules/ftoastr (Depends-on): Remove snprintf.
27995
27996 2010-11-19  Jim Meyering  <meyering@redhat.com>
27997
27998         test-rename.h: fix compilation failure
27999         * tests/test-rename.h (test_rename): Add omitted "}".
28000
28001 2010-11-17  Jim Meyering  <meyering@redhat.com>
28002
28003         maint.mk: add a URL discussing the no-@acronym policy
28004         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28005
28006 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28007
28008         ftoastr: depend on snprintf, improve comments
28009         * lib/ftoastr.c: Also mention Loitsch's draft.
28010         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28011         needed in the current implementation, but it might simplify
28012         speeding up the code later.
28013         * modules/ftoastr: Depend on snprintf; this improves portability.
28014         Suggested by Bruno Haible in the same email.
28015
28016         ftoastr: port to hosts lacking strtof and strtold
28017         Problem reported by Bruno Haible in
28018         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28019         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28020         environment and strtold (and presumably strtof) are not available.
28021         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28022         (configure.ac): Require gl_C99_STRTOLD.
28023
28024 2010-11-18  Bruno Haible  <bruno@clisp.org>
28025
28026         c-strtold: Avoid link error on AIX 7.
28027         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28028         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28029         (gl_C_STRTOLD): Test whether strtold_l exists.
28030         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28031
28032 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28033
28034         intprops: new macro INT_BITS_STRLEN_BOUND
28035         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28036         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28037         not exposed.  Also, it uses a slightly tighter bound than before;
28038         though this makes no practical difference, we might as well be as
28039         tight as we easily can.
28040
28041         ftoastr: new module, for lossless conversion of floats to short strings
28042         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28043         * modules/ftoastr: New files.
28044
28045 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28046
28047         bootstrap: port to Solaris sed
28048         * build-aux/bootstrap (get_version): Port to Solaris sed.
28049         See Ralf Wildenhues's note in
28050         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28051
28052 2010-11-14  Jim Meyering  <meyering@redhat.com>
28053
28054         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28055         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28056         and move definition closer to sole use.
28057
28058 2010-11-13  Jim Meyering  <meyering@redhat.com>
28059
28060         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28061         Now we require at least autoconf-2.59, which means the work-around
28062         is no longer needed.
28063         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28064         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28065         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28066         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28067         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28068
28069 2010-11-13  Bruno Haible  <bruno@clisp.org>
28070
28071         rename, renameat: Avoid test failures at NFS mounted locations.
28072         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28073         functions.
28074         (test_rename): Use assert_nonexistent.
28075         * tests/test-rename.c: Include <dirent.h>.
28076         * tests/test-renameat.c: Likewise.
28077         Reported by Gary V. Vaughan <gary@gnu.org>.
28078
28079         rename, renameat: Document Linux bug with NFS
28080         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28081         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28082         * doc/posix-functions/renameat.texi: Likewise.
28083         Suggested by Eric Blake.
28084
28085 2010-11-13  Bruno Haible  <bruno@clisp.org>
28086
28087         rename test: Add comments.
28088         * tests/test-rename.h (test_rename): Add structure and comments.
28089
28090 2010-11-13  Eric Blake  <eblake@redhat.com>
28091
28092         maintainer-makefile: cover a few more files
28093         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28094         scripts generated within C files, for libvirt.
28095
28096 2010-11-13  Bruno Haible  <bruno@clisp.org>
28097
28098         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28099         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28100         character, return the number of bytes that belong together, not always
28101         1.
28102         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28103         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28104         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28105         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28106         number of bytes of an invalid character.
28107         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28108         (main): Invoke it.
28109         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28110         results.
28111         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28112         malformed byte sequences.
28113         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28114         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28115         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28116         Reported by Ben Pfaff and Paolo Bonzini.
28117
28118 2010-11-13  Bruno Haible  <bruno@clisp.org>
28119
28120         openat: Work around glibc bug with fchownat() and empty file names.
28121         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28122         (gl_FUNC_FCHOWNAT): Invoke it.
28123         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28124         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28125         Reported by Gary V. Vaughan <gary@gnu.org>.
28126
28127 2010-11-13  Bruno Haible  <bruno@clisp.org>
28128
28129         openat: Ensure autoconf macro ordering.
28130         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28131         gl_USE_SYSTEM_EXTENSIONS.
28132         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28133
28134 2010-11-13  Bruno Haible  <bruno@clisp.org>
28135
28136         Update comments.
28137         * lib/unistr/u8-check.c: Update file name in comments.
28138         * lib/unistr/u8-mblen.c: Likewise.
28139         * lib/unistr/u8-prev.c: Likewise.
28140         * lib/unistr/u8-strmblen.c: Likewise.
28141         * lib/unistr/u8-strmbtouc.c: Likewise.
28142
28143 2010-11-13  Jim Meyering  <meyering@redhat.com>
28144
28145         tests: avoid test failure on Solaris 10 due to lack of PATH export
28146         * tests/test-update-copyright.sh: Don't forget to export PATH.
28147
28148         init.sh: ensure that IFS is defined, just in case...
28149         * tests/init.sh (setup_): Ensure that IFS is defined,
28150         so that saving and restoring it works as expected.  This
28151         appears to be useful at least for an old version of dash
28152         from a long time ago (RH 6).  See here for details:
28153         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28154
28155         maint.mk: tighten "test a == b" check
28156         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28157         test to files that contain something like #!/bin/sh.
28158         Without this, coreutils would get two false positives in
28159         the comments of C source files.
28160
28161 2010-11-12  Eric Blake  <eblake@redhat.com>
28162
28163         bootstrap: fix typo in previous attempt
28164         * build-aux/bootstrap (buildreq): Correct the grouping.
28165         Reported by Paul Eggert.
28166
28167         maintainer-makefile: prohibit test x == x
28168         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28169         Based on a report by Matthias Bolte.
28170
28171         bootstrap: allow FreeBSD gzip
28172         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28173         which has no '.' and goes to stderr.
28174         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28175         Reported by Matthias Bolte.
28176
28177         maintainer-makefile: check for i18n setup
28178         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28179         will likely work.
28180
28181 2010-11-12  Bruno Haible  <bruno@clisp.org>
28182
28183         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28184         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28185         * lib/nanosleep.c (nanosleep): Likewise.
28186
28187 2010-11-11  Bruno Haible  <bruno@clisp.org>
28188
28189         fcntl-h: Fix for use of C++ on glibc systems.
28190         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28191         also on glibc systems in C++ mode.
28192         Reported by Gary V. Vaughan <gary@gnu.org>.
28193
28194 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28195
28196         mknod: avoid false failure with dash
28197         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28198
28199 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28200
28201         unlink: Fix "is it should" typo in diagnostic.
28202         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28203         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28204
28205 2010-11-11  Bruno Haible  <bruno@clisp.org>
28206
28207         Tests for module 'strerror_r-posix'.
28208         * modules/strerror_r-posix-tests: New file.
28209         * tests/test-strerror_r.c: New file.
28210         * tests/test-string-c++.cc: Check the signature of strerror_r.
28211
28212         New module 'strerror_r-posix'.
28213         * lib/string.in.h (strerror_r): New declaration.
28214         * lib/strerror_r.c: New file.
28215         * m4/strerror_r.m4: New file.
28216         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28217         of strerror_r.
28218         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28219         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28220         * modules/strerror_r-posix: New file.
28221         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28222         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28223         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28224         portability problems.
28225
28226 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28227
28228         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28229         line is also considered for output. Quoted function name in shell
28230         command, so temporary files for functions like MyClass::operator()
28231         are removed correctly without errors.
28232
28233 2010-11-09  Bruno Haible  <bruno@clisp.org>
28234
28235         * doc/posix-functions/strerror.texi: List more failing platforms.
28236
28237         * doc/posix-functions/strerror.texi: Add a comment.
28238
28239 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28240
28241         fdopendir: fix bug on MacOS X when low on file descriptors
28242
28243         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28244         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28245         All callers changed.
28246         (fdopendir): Invoke save_cwd at the top level, not after using
28247         multiple dup() calls to use up file descriptors.  Then retry
28248         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28249         less than the maximum number of open file descriptors, because
28250         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28251         on Mac OS X 10.6.4 for tar 1.24
28252         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28253         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28254         and for tar 1.25
28255         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28256
28257 2010-11-07  Bruno Haible  <bruno@clisp.org>
28258
28259         vasnprintf: Support I flag on glibc systems.
28260         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28261         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28262         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28263         snprintf function.
28264         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28265         glibc systems.
28266         * tests/test-vasnprintf-posix3.c: New file.
28267         * modules/vasnprintf-posix-tests (Files): Add it.
28268         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28269
28270 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28271
28272         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28273         * MODULES.html.sh: For compiler warnings, use name
28274         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28275
28276 2010-11-05  Eric Blake  <eblake@redhat.com>
28277
28278         ceil, floor: avoid spurious failure with icc
28279         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28280         [denormals-as-zero] when optimizing without -mieee-fp option.
28281         * tests/test-floorf2.c (floorf_reference): Likewise.
28282         * tests/test-ceilf1.c (dummy): New function.
28283         (main): Use it to outsmart icc's optimization.
28284         * tests/test-floorf1.c (dummy, main): Likewise.
28285
28286         tests: require working signbit
28287         * modules/ceilf-tests (Depends-on): Add signbit.
28288         * modules/ceill-tests (Depends-on): Likewise.
28289         * modules/floorf-tests (Depends-on): Likewise.
28290         * modules/floorl-tests (Depends-on): Likewise.
28291         * modules/round-tests (Depends-on): Likewise.
28292         * modules/roundf-tests (Depends-on): Likewise.
28293         * modules/roundl-tests (Depends-on): Likewise.
28294         * modules/trunc-tests (Depends-on): Likewise.
28295         * modules/truncf-tests (Depends-on): Likewise.
28296         * modules/truncl-tests (Depends-on): Likewise.
28297
28298         strtod: work around icc bug
28299         * lib/strtod.c (minus_zero): Define to working value.
28300         (strtod): Use it to avoid icc bug.
28301
28302         copysign: enhance tests
28303         * modules/copysign-tests (Files): Add minus-zero.h.
28304         * tests/test-copysign.c (main): Also test zeros.
28305
28306 2010-11-04  Eric Blake  <eblake@redhat.com>
28307
28308         ceil, floor, round, trunc: enhance tests of -0
28309         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28310         * tests/test-ceill.c (main): Likewise.
28311         * tests/test-floorf1.c (main): Likewise.
28312         * tests/test-floorl.c (main): Likewise.
28313         * tests/test-round1.c (main): Likewise.
28314         * tests/test-roundf1.c (main): Likewise.
28315         * tests/test-roundl.c (main): Likewise.
28316         * tests/test-trunc1.c (main): Likewise.
28317         * tests/test-truncf1.c (main): Likewise.
28318         * tests/test-truncl.c (main): Likewise.
28319
28320 2010-11-04  Eric Blake  <eblake@redhat.com>
28321
28322         frexp, tests: work around ICC bug with -zero
28323         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28324         works with more compilers.
28325         * tests/minus-zero.h: New file.
28326         * modules/ceilf-tests (Files): Include it.
28327         * modules/ceill-tests (Files): Likewise.
28328         * modules/floorf-tests (Files): Likewise.
28329         * modules/floorl-tests (Files): Likewise.
28330         * modules/frexp-nolibm-tests (Files): Likewise.
28331         * modules/frexp-tests (Files): Likewise.
28332         * modules/frexpl-nolibm-tests (Files): Likewise.
28333         * modules/frexpl-tests (Files): Likewise.
28334         * modules/isnan-tests (Files): Likewise.
28335         * modules/isnand-nolibm-tests (Files): Likewise.
28336         * modules/isnand-tests (Files): Likewise.
28337         * modules/isnanf-nolibm-tests (Files): Likewise.
28338         * modules/isnanf-tests (Files): Likewise.
28339         * modules/isnanl-nolibm-tests (Files): Likewise.
28340         * modules/isnanl-tests (Files): Likewise.
28341         * modules/round-tests (Files): Likewise.
28342         * modules/roundf-tests (Files): Likewise.
28343         * modules/roundl-tests (Files): Likewise.
28344         * modules/ldexpl-tests (Files): Likewise.
28345         * modules/signbit-tests (Files): Likewise.
28346         * modules/snprintf-posix-tests (Files): Likewise.
28347         * modules/sprintf-posix-tests (Files): Likewise.
28348         * modules/strtod-tests (Files): Likewise.
28349         * modules/trunc-tests (Files): Likewise.
28350         * modules/truncf-tests (Files): Likewise.
28351         * modules/truncl-tests (Files): Likewise.
28352         * modules/vsnprintf-posix-tests (Files): Likewise.
28353         * modules/vsprintf-posix-tests (Files): Likewise.
28354         * modules/vasnprintf-posix-tests (Files): Likewise.
28355         * modules/vasprintf-posix-tests (Files): Likewise.
28356         * tests/test-ceilf1.c (main): Use it.
28357         * tests/test-ceill.c (main): Likewise.
28358         * tests/test-floorf1.c (main): Likewise.
28359         * tests/test-floorl.c (main): Likewise.
28360         * tests/test-frexp.c (main): Likewise.
28361         * tests/test-frexpl.c (main): Likewise.
28362         * tests/test-isnan.c (main): Likewise.
28363         * tests/test-isnand.h (main): Likewise.
28364         * tests/test-isnanf.h (main): Likewise.
28365         * tests/test-isnanl.h (main): Likewise.
28366         * tests/test-ldexpl.c (main): Likewise.
28367         * tests/test-round.c (main): Likewise.
28368         * tests/test-roundf.c (main): Likewise.
28369         * tests/test-roundl.c (main): Likewise.
28370         * tests/test-signbit.c (test_signbitf, test_signbitd)
28371         (test_signbitl): Likewise.
28372         * tests/test-snprintf-posix.h (test_function): Likewise.
28373         * tests/test-sprintf-posix.h (test_function): Likewise.
28374         * tests/test-strtod.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         isnanl: work around icc bug
28380         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28381
28382 2010-11-03  Eric Blake  <eblake@redhat.com>
28383
28384         tests: fix compiler warnings
28385         * tests/test-getopt.h (test_getopt): Fix condition.
28386         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28387         * tests/test-pipe2.c (main): Likewise.
28388         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28389
28390         utimens: fix broken m4 test
28391         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28392
28393 2010-10-28  Bruno Haible  <bruno@clisp.org>
28394
28395         posix_spawn*, getdtablesize: Relax license.
28396         * modules/posix_spawn (License): Change to LGPLv2+.
28397         * modules/posix_spawnp (License): Likewise.
28398         * modules/posix_spawn-internal (License): Likewise.
28399         * modules/posix_spawnattr_init (License): Likewise.
28400         * modules/posix_spawnattr_getflags (License): Likewise.
28401         * modules/posix_spawnattr_setflags (License): Likewise.
28402         * modules/posix_spawnattr_getpgroup (License): Likewise.
28403         * modules/posix_spawnattr_setpgroup (License): Likewise.
28404         * modules/posix_spawnattr_getschedparam (License): Likewise.
28405         * modules/posix_spawnattr_setschedparam (License): Likewise.
28406         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28407         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28408         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28409         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28410         * modules/posix_spawnattr_getsigmask (License): Likewise.
28411         * modules/posix_spawnattr_setsigmask (License): Likewise.
28412         * modules/posix_spawnattr_destroy (License): Likewise.
28413         * modules/posix_spawn_file_actions_init (License): Likewise.
28414         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28415         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28416         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28417         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28418         * modules/getdtablesize (License): Likewise.
28419         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28420
28421 2010-10-26  Bruno Haible  <bruno@clisp.org>
28422
28423         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28424         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28425         Cygwin and mingw.
28426         Suggested by Eric Blake.
28427
28428 2010-10-26  Bruno Haible  <bruno@clisp.org>
28429
28430         stdio: Work around compilation error due to renameat() on Solaris 10.
28431         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28432         * lib/renameat.c: Don't include <unistd.h> here.
28433         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28434         Reported by Paul Eggert and Eric Blake.
28435
28436 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28437
28438         renameat: port to Solaris 10, which declares renameat in unistd.h
28439
28440         * lib/renameat.c: Include unistd.h before stdio.h, because
28441         Solaris 10 declares renameat in unistd.h.  Problem encountered
28442         when building GNU tar 1.24 on Solaris 10.
28443
28444 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28445
28446         fdopendir: fix C89 compilation
28447         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28448         compilers.
28449
28450 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28451
28452         inttostr: simplify by removing unnecessary redundancy
28453         * lib/anytostr.c: Don't include verify.h.
28454         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28455         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28456         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28457         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28458         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28459         Likewise.
28460         * modules/inttostr (Depends-on): Remove 'verify'.
28461
28462 2010-10-23  Bruno Haible  <bruno@clisp.org>
28463
28464         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28465         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28466         Reported by Eric Blake.
28467
28468 2010-10-23  Bruno Haible  <bruno@clisp.org>
28469
28470         Tests: Fix LOCALE_JA on MirBSD 10.
28471         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28472         to an UTF-8 locale.
28473         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28474         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28475         Reported by Eric Blake.
28476
28477 2010-10-21  Bruno Haible  <bruno@clisp.org>
28478
28479         nl_langinfo test: Avoid test failure on NetBSD 5.
28480         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28481         Reported by Eric Blake.
28482
28483 2010-10-21  Eric Blake  <eblake@redhat.com>
28484
28485         c-stack: work around libsigsegv 2.8 bug
28486         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28487         overflow on at least PowerPC64.
28488
28489 2010-10-17  Bruno Haible  <bruno@clisp.org>
28490
28491         userspec: Drop redundant file.
28492         * modules/userspec (Files): Remove lib/inttostr.h.
28493
28494 2010-10-17  Bruno Haible  <bruno@clisp.org>
28495
28496         nl_langinfo tests: Silence some warnings.
28497         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28498         Reported by Jim Meyering.
28499
28500 2010-10-17  Bruno Haible  <bruno@clisp.org>
28501
28502         Make use of GCC's attribute __alloc_size__.
28503         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28504         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28505         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28506         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28507         __alloc_size__.
28508         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28509         Suggested by Jim Meyering.
28510
28511 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28512
28513         bootstrap: anchor .gitignore entries.
28514         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28515         with...
28516         (insert_vc_ignore): ... this new function, which prepends `/' to
28517         all .gitignore entries before passing them to
28518         insert_sorted_if_absent.
28519
28520 2010-10-16  Bruno Haible  <bruno@clisp.org>
28521
28522         nextafter: Fix configure check.
28523         * modules/nextafter (configure.ac): Correct expected prototype.
28524
28525 2010-10-16  Bruno Haible  <bruno@clisp.org>
28526
28527         termios: Update documentation.
28528         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28529
28530 2010-10-16  Bruno Haible  <bruno@clisp.org>
28531
28532         tests: Make them compile with TinyCC.
28533         * tests/test-strstr.c (main): Remove parentheses around array
28534         initializer.
28535
28536 2010-10-15  Eric Blake  <eblake@redhat.com>
28537
28538         ignore-value: make header idempotent
28539         * lib/ignore-value.h: Add double-inclusion guards.
28540         Reported by Stefan Berger.
28541
28542 2010-10-15  Jim Meyering  <meyering@redhat.com>
28543
28544         GNUmakefile: handle "stable" target, not "major"
28545         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28546         lists in maint.mk and announce-gen.  Without this, "make stable"
28547         would fail to ensure that $(VERSION) is up to date.
28548
28549 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28550
28551         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28552         & co.
28553
28554 2010-10-14  Bruno Haible  <bruno@clisp.org>
28555
28556         vasnprintf: Don't set errno to 0.
28557         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28558         block that sets it to 0.
28559         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28560
28561 2010-10-14  Bruno Haible  <bruno@clisp.org>
28562
28563         socketlib: Fix.
28564         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28565         gl_PREREQ_SYS_H_WINSOCK2.
28566         Reported by Ian Beckwith <ianb@erislabs.net>.
28567
28568 2010-10-13  Jim Meyering  <meyering@redhat.com>
28569
28570         test-select-stdin.c: avoid warn_unused_result warnings
28571         * tests/test-select-stdin.c: Include "macros.h".
28572         ASSERT that read and fflush succeed.
28573
28574 2010-10-13  Jim Meyering  <meyering@redhat.com>
28575
28576         git-version-gen: do require git-VC'd files in cwd
28577         * build-aux/git-version-gen: Reject a git version string
28578         if there are no commits associated with the current directory.
28579         This avoids an unlikely false-positive (unrelated dir whose parent
28580         repository also contains a tag matching v*), as pointed out
28581         by Giuseppe Scrivano in
28582         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28583
28584 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28585
28586         argv-iter: omit nonconforming declaration
28587         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28588         enum arg_iter_err declaration, which doesn't conform to C99.
28589         Solaris 10 cc warns about this.
28590
28591 2010-10-13  Eric Blake  <eblake@redhat.com>
28592
28593         termios: fix compilation on mingw
28594         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28595         (gl_TERMIOS_H): Adjust it on mingw.
28596         * modules/termios (Makefile.am): Substitute new key.
28597         * lib/termios.in.h (includes): Make include_next conditional.
28598         * doc/posix-headers/termios.texi (termios.h): Update
28599         documentation.
28600         Reported by Daniel P. Berrange.
28601
28602 2010-10-13  Jim Meyering  <meyering@redhat.com>
28603
28604         git-version-gen: don't require that .git/ be in the current dir
28605         * build-aux/git-version-gen: Adjust this script so that it works
28606         when run from any working directory beneath the top-level .git/-
28607         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28608         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28609
28610         test-select: avoid warn_unused_result warnings
28611         * tests/test-select.c: Include "macros.h".
28612         ASSERT that each call to read, write, and pipe succeeds.
28613         While not technically required, also check each "close".
28614         * modules/select-tests (Files): Add tests/macros.h.
28615
28616         test-symlinkat: remove declaration of unused local
28617         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28618
28619         test-inttostr: avoid shadowing warnings
28620         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28621         and use malloc rather than the stack for the same reason as
28622         mentioned in the comment justifying the other allocation.
28623
28624 2010-10-11  Bruno Haible  <bruno@clisp.org>
28625
28626         stdlib: Allow multiple gnulib generated replacements to coexist.
28627         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28628         Reported by Sam Steingold <sds@gnu.org>.
28629
28630 2010-10-11  Jim Meyering  <meyering@redhat.com>
28631
28632         fix a documentation typo
28633         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28634
28635 2010-10-11  Eric Blake  <eblake@redhat.com>
28636
28637         futimens: work around Solaris 11 bug
28638         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28639         * tests/test-futimens.h (test_futimens): Enhance, rather than
28640         weaken test.
28641         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28642
28643 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28644
28645         Indentation.
28646         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28647         higher-level operators more to the left.
28648
28649 2010-10-11  Jim Meyering  <meyering@redhat.com>
28650
28651         test-futimens: avoid unwarranted test failure on Solaris 5.11
28652         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28653         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28654         because it tries to dereference the NULL name argument.
28655
28656 2010-10-11  Bruno Haible  <bruno@clisp.org>
28657
28658         Indentation.
28659         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28660         indentation.
28661
28662 2010-10-11  Jim Meyering  <meyering@redhat.com>
28663
28664         spawn.in.h: make indentation consistent with parentheses
28665         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28666         Make indentation consistent with parentheses.
28667
28668 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28669
28670         Fix mismatched parens in previous commit
28671         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28672         parens.
28673
28674 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28675
28676         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28677
28678         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28679         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28680         * lib/malloca.c: Include "verify.h".
28681         (verify1): Remove, replacing with a verify call.
28682         * lib/relocwrapper.c (verify1): Likewise.
28683         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28684         Likewise.
28685         * modules/malloca (Depends-on): Add 'verify'.
28686         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28687         * modules/vasnprintf (Depends-on): Add 'verify'.
28688         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28689         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28690         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28691         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28692         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28693         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28694         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28695
28696         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28697
28698         Formerly the style was sometimes 2*X - 1, because the C standard
28699         was wrongly thought to disallow ?: in integral constant expressions.
28700         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28701         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28702         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28703         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28704         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28705         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28706         verify that time_t cannot be floating.
28707
28708 2010-10-08  Eric Blake  <eblake@redhat.com>
28709
28710         time: enforce recent POSIX ruling that time_t is integral
28711         * lib/time.in.h (__time_t_must_be_integral): Detect any
28712         problematic systems, allowing the rest of gnulib to assume POSIX.
28713
28714 2010-10-08  Jim Meyering  <meyering@redhat.com>
28715
28716         fdopendir: fix a bug on systems lacking openat and /proc support
28717         OpenBSD 4.7 is one such system.  The most noticeable effect was
28718         failure of any application making nontrivial use of fts: rm, du,
28719         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28720           ./rm: traversal failed: `a': Bad file descriptor
28721         Debugging that, you see that even though FD 6 was closed just
28722         prior to the opendir call in fd_clone_opendir, its resulting
28723         dir->dd_fd was 8, rather than the expected value of 6:
28724
28725         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28726         93                close (fd);
28727         (gdb) n
28728         94                dir = fd_clone_opendir (dupfd);
28729         (gdb) n
28730         95                saved_errno = errno;
28731         (gdb) p dir->dd_fd
28732         $11 = 8
28733
28734         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28735         The problem is that on OpenBSD, fd_clone_opendir has to resort
28736         to using the old-style save/restore CWD mechanism, due to its
28737         lack of openat/proc support, and *that* would steal the FD (6)
28738         that opendir was supposed to use.
28739
28740         The fix is to squirrel away the desired FD so that save_cwd uses a
28741         different one, and then free the dest FD right before calling opendir.
28742         That guarantees opendir will use the required file descriptor.
28743
28744         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28745
28746 2010-10-08  Bruno Haible  <bruno@clisp.org>
28747
28748         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28749         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28750
28751 2010-10-08  Bruno Haible  <bruno@clisp.org>
28752
28753         nanosleep: Make replacement POSIX compliant.
28754         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28755         is out of range.
28756         Reported by Jim Meyering.
28757
28758 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28759
28760         bootstrap: add hook for altering gnulib.mk, for Bison
28761         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28762         the Bison bootstrapping process can rewrite file names and variables
28763         in this file before later parts of 'bootstrap' use the file.
28764         Bison wants to include lib/gnulib.mk from the top-level makefile,
28765         so it needs the file names in this file to be relative to the top
28766         level, not relative to lib; plus it needs variable names to be
28767         rewritten.
28768         (slurp): Use the new function.
28769
28770         bootstrap: reformat for readability
28771         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
28772
28773 2010-10-08  Eric Blake  <eblake@redhat.com>
28774
28775         docs: update cygwin progress
28776         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
28777         1.7.7.
28778         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
28779         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
28780         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
28781         * doc/posix-functions/carg.texi (carg): Likewise.
28782         * doc/posix-functions/cargf.texi (cargf): Likewise.
28783         * doc/posix-functions/casin.texi (casin): Likewise.
28784         * doc/posix-functions/casinf.texi (casinf): Likewise.
28785         * doc/posix-functions/casinh.texi (casinh): Likewise.
28786         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
28787         * doc/posix-functions/catan.texi (catan): Likewise.
28788         * doc/posix-functions/catanf.texi (catanf): Likewise.
28789         * doc/posix-functions/catanh.texi (catanh): Likewise.
28790         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
28791         * doc/posix-functions/ccos.texi (ccos): Likewise.
28792         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
28793         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
28794         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
28795         * doc/posix-functions/cexp.texi (cexp): Likewise.
28796         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
28797         * doc/posix-functions/cimag.texi (cimag): Likewise.
28798         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
28799         * doc/posix-functions/clog.texi (clog): Likewise.
28800         * doc/posix-functions/clogf.texi (clogf): Likewise.
28801         * doc/posix-functions/conj.texi (conj): Likewise.
28802         * doc/posix-functions/conjf.texi (conjf): Likewise.
28803         * doc/posix-functions/cpow.texi (cpow): Likewise.
28804         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
28805         * doc/posix-functions/cproj.texi (cproj): Likewise.
28806         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
28807         * doc/posix-functions/creal.texi (creal): Likewise.
28808         * doc/posix-functions/crealf.texi (crealf): Likewise.
28809         * doc/posix-functions/csin.texi (csin): Likewise.
28810         * doc/posix-functions/csinf.texi (csinf): Likewise.
28811         * doc/posix-functions/csinh.texi (csinh): Likewise.
28812         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
28813         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
28814         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
28815         * doc/posix-functions/ctan.texi (ctan): Likewise.
28816         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
28817         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
28818         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
28819         * doc/posix-headers/complex.texi (complex.h): Likewise.
28820
28821 2010-10-07  Jim Meyering  <meyering@redhat.com>
28822
28823         parse-datetime: avoid compilation failure on OpenBSD 4.7
28824         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
28825         This works around a compilation failure on OpenBSD 4.7:
28826         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
28827
28828 2010-10-07  Eric Blake  <eblake@redhat.com>
28829
28830         docs: update cygwin progress
28831         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
28832         1.7.6.
28833         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28834         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
28835         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
28836         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
28837         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
28838         Likewise.
28839         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
28840         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
28841         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
28842         Likewise.
28843         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
28844         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
28845         Likewise.
28846         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
28847         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
28848         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
28849         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
28850         Likewise.
28851         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
28852         Likewise.
28853         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
28854
28855         docs: update parse-datetime history
28856         * doc/parse-datetime.texi (Authors of parse_datetime): Better
28857         documentation of this function's history and alternatives.
28858
28859         cygwin: use more robust version check
28860         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
28861         exclude an eventual cygwin 1.9.1.
28862         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28864         (gl_FUNC_STRCASESTR): Likewise.
28865         Reported by Bruno Haible.
28866
28867 2010-10-06  Bruno Haible  <bruno@clisp.org>
28868
28869         string, sys_select: Avoid #including large headers unless necessary.
28870         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
28871         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
28872         OSF/1, BeOS, Haiku.
28873         Reported by Jim Meyering.
28874
28875 2010-10-05  Eric Blake  <eblake@redhat.com>
28876
28877         memmem, strstr, strcasestr: fix bug with long periodic needle
28878         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
28879         periodic needle having false positive.
28880         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
28881         and cygwin 1.7.7.
28882         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
28883         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28884         (gl_FUNC_STRCASESTR): Likewise.
28885         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28886         * tests/test-memmem.c (main): Expose the bug.
28887         * tests/test-strcasestr.c (main): Likewise.
28888         * tests/test-strstr.c (main): Likewise.
28889         * tests/test-c-strcasestr.c (main): Likewise.
28890         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
28891         * doc/posix-functions/strstr.texi (strstr): Likewise.
28892         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28893         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
28894
28895 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28896
28897         parse-datetime: do some more renaming
28898         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
28899         parse_datetime, not get_date.  Mention the renaming.
28900         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
28901         in comments.
28902         * m4/bison.m4: Likewise.
28903
28904 2010-10-05  Eric Blake  <eblake@redhat.com>
28905
28906         parse-datetime: better name than get_date
28907         * NEWS: Reword the deprecation notice.
28908         * modules/get_date: Rename to modules/parse-datetime.
28909         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
28910         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
28911         * lib/get_date.y: Rename to lib/parse-datetime.y.
28912         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
28913         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
28914         * doc/getdate.texi: Provide fallback wrapper.
28915         * lib/getdate.h: Move guts, and wrap...
28916         * lib/parse-datetime.h: ...new file.
28917         * lib/parse-datetime.y (get_date): Rename...
28918         (parse_datetime): ...to this.
28919         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
28920         (gl_PARSE_DATETIME): ...to this.
28921         * doc/posix-functions/getdate.texi (get_date): Provide fallback
28922         documentation.
28923         * modules/getdate (Files): Provide fallback docs and header.
28924         (Notice, Depends-on): Update references.
28925         * tests/test-parse-datetime.c: Likewise.
28926         * DEPENDENCIES: Likewise.
28927         * MODULES.html.sh (Date and time <time.h>): Likewise.
28928         * doc/parse-datetime.texi (Date input formats)
28929         (Authors of parse_datetime): Likewise.
28930         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28931         (Include): Likewise.
28932         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28933         * gnulib-tool: Likewise.
28934         * m4/bison.m4 (gl_BISON): Likewise.
28935         Suggested by Bruno Haible.
28936
28937 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28938
28939         more ports to Solaris tr, which needs [] around ranges
28940         * gnulib-tool: Solaris tr needs [] around ranges.
28941         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28942         * tests/test-pipe-filter-gi1.c (main): Likewise.
28943         * tests/test-pipe-filter-ii1.c (main): Likewise.
28944
28945 2010-10-05  Eric Blake  <eblake@redhat.com>
28946
28947         bootstrap: fix Solaris regression
28948         * build-aux/bootstrap (check_versions): Solaris tr still needs []
28949         around ranges.
28950         Reported by Pádraig Brady.
28951
28952         bootstrap: work with pkg-config
28953         * build-aux/bootstrap (check_versions): Also transliterate - in
28954         prerequisite name.
28955         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
28956         prerequisites that were already found, to avoid confusion.
28957         Reported by Justin Clift.
28958
28959         faccessat: remove unused wrappers
28960         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
28961         presence of these wrappers dragged in -lgen on Solaris.
28962         Reported by Clemens Brogi; fix suggested by Paul Eggert.
28963
28964 2010-10-05  Jim Meyering  <meyering@redhat.com>
28965
28966         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
28967         * Makefile (sc_pragma_columns): New syntax-check rule.
28968
28969 2010-10-04  Bruno Haible  <bruno@clisp.org>
28970
28971         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
28972         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
28973         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
28974         Reported by Bruce Korb and Eric Blake.
28975
28976 2010-10-04  Bruno Haible  <bruno@clisp.org>
28977
28978         threadlib: Make option --with-libpth-prefix work.
28979         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
28980         use $LIBPTH, not just -lpth.
28981
28982 2010-10-04  Bruno Haible  <bruno@clisp.org>
28983
28984         Avoid line length limitation from HP NonStop system header files.
28985         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
28986         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
28987         * lib/ctype.in.h: Likewise.
28988         * lib/dirent.in.h: Likewise.
28989         * lib/errno.in.h: Likewise.
28990         * lib/fcntl.in.h: Likewise.
28991         * lib/float.in.h: Likewise.
28992         * lib/getopt.in.h: Likewise.
28993         * lib/iconv.in.h: Likewise.
28994         * lib/inttypes.in.h: Likewise.
28995         * lib/langinfo.in.h: Likewise.
28996         * lib/locale.in.h: Likewise.
28997         * lib/math.in.h: Likewise.
28998         * lib/netdb.in.h: Likewise.
28999         * lib/netinet_in.in.h: Likewise.
29000         * lib/poll.in.h: Likewise.
29001         * lib/pthread.in.h: Likewise.
29002         * lib/pty.in.h: Likewise.
29003         * lib/sched.in.h: Likewise.
29004         * lib/se-selinux.in.h: Likewise.
29005         * lib/search.in.h: Likewise.
29006         * lib/signal.in.h: Likewise.
29007         * lib/spawn.in.h: Likewise.
29008         * lib/stdarg.in.h: Likewise.
29009         * lib/stddef.in.h: Likewise.
29010         * lib/stdint.in.h: Likewise.
29011         * lib/stdio.in.h: Likewise.
29012         * lib/stdlib.in.h: Likewise.
29013         * lib/string.in.h: Likewise.
29014         * lib/strings.in.h: Likewise.
29015         * lib/sys_file.in.h: Likewise.
29016         * lib/sys_ioctl.in.h: Likewise.
29017         * lib/sys_select.in.h: Likewise.
29018         * lib/sys_socket.in.h: Likewise.
29019         * lib/sys_stat.in.h: Likewise.
29020         * lib/sys_time.in.h: Likewise.
29021         * lib/sys_times.in.h: Likewise.
29022         * lib/sys_utsname.in.h: Likewise.
29023         * lib/sys_wait.in.h: Likewise.
29024         * lib/sysexits.in.h: Likewise.
29025         * lib/termios.in.h: Likewise.
29026         * lib/time.in.h: Likewise.
29027         * lib/unistd.in.h: Likewise.
29028         * lib/wchar.in.h: Likewise.
29029         * lib/wctype.in.h: Likewise.
29030         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29031         * modules/ctype (Makefile.am): Likewise.
29032         * modules/dirent (Makefile.am): Likewise.
29033         * modules/errno (Makefile.am): Likewise.
29034         * modules/fcntl-h (Makefile.am): Likewise.
29035         * modules/float (Makefile.am): Likewise.
29036         * modules/getopt-posix (Makefile.am): Likewise.
29037         * modules/iconv-h (Makefile.am): Likewise.
29038         * modules/inttypes (Makefile.am): Likewise.
29039         * modules/langinfo (Makefile.am): Likewise.
29040         * modules/locale (Makefile.am): Likewise.
29041         * modules/math (Makefile.am): Likewise.
29042         * modules/netdb (Makefile.am): Likewise.
29043         * modules/netinet_in (Makefile.am): Likewise.
29044         * modules/poll-h (Makefile.am): Likewise.
29045         * modules/pthread (Makefile.am): Likewise.
29046         * modules/pty (Makefile.am): Likewise.
29047         * modules/sched (Makefile.am): Likewise.
29048         * modules/search (Makefile.am): Likewise.
29049         * modules/selinux-h (Makefile.am): Likewise.
29050         * modules/signal (Makefile.am): Likewise.
29051         * modules/spawn (Makefile.am): Likewise.
29052         * modules/stdarg (Makefile.am): Likewise.
29053         * modules/stddef (Makefile.am): Likewise.
29054         * modules/stdint (Makefile.am): Likewise.
29055         * modules/stdio (Makefile.am): Likewise.
29056         * modules/stdlib (Makefile.am): Likewise.
29057         * modules/string (Makefile.am): Likewise.
29058         * modules/strings (Makefile.am): Likewise.
29059         * modules/sys_file (Makefile.am): Likewise.
29060         * modules/sys_ioctl (Makefile.am): Likewise.
29061         * modules/sys_select (Makefile.am): Likewise.
29062         * modules/sys_socket (Makefile.am): Likewise.
29063         * modules/sys_stat (Makefile.am): Likewise.
29064         * modules/sys_time (Makefile.am): Likewise.
29065         * modules/sys_times (Makefile.am): Likewise.
29066         * modules/sys_utsname (Makefile.am): Likewise.
29067         * modules/sys_wait (Makefile.am): Likewise.
29068         * modules/sysexits (Makefile.am): Likewise.
29069         * modules/termios (Makefile.am): Likewise.
29070         * modules/time (Makefile.am): Likewise.
29071         * modules/unistd (Makefile.am): Likewise.
29072         * modules/wchar (Makefile.am): Likewise.
29073         * modules/wctype (Makefile.am): Likewise.
29074
29075 2010-10-04  Bruno Haible  <bruno@clisp.org>
29076
29077         read-file tests: Avoid a test failure on NonStop Kernel.
29078         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29079         a regular file.
29080         Reported by Joachim Schmitz <schmitz@hp.com>.
29081
29082 2010-10-03  Bruno Haible  <bruno@clisp.org>
29083
29084         gnulib-tool: Fixes for --create-testdir with --libtool.
29085         * gnulib-tool (func_get_automake_snippet): Don't augment
29086         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29087         an executable.
29088         (func_create_testdir): Handle module 'alloca' like func_import.
29089         Reported by Bruce Korb <bruce.korb@gmail.com>.
29090
29091 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29092
29093         Avoid some lines longer than 80 characters.
29094         * lib/stdint.in.h: Break long comment lines.
29095         * lib/math.in.h: Likewise.
29096         (_GL_NUM_UINT_WORDS): New macro, for readability.
29097         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29098         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29099         * lib/stdlib.in.h: Likewise.
29100         * lib/spawn.in.h: Likewise.
29101         * lib/sys_socket.in.h: Update an URL.
29102         * lib/sys_stat.in.h: Break long line.
29103
29104 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29105
29106         Improve pmccabe2html.
29107         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29108         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29109         when the sources change. Remove the line in the HTML about "Used
29110         ranges" (which implied that there might be other unused ranges),
29111         rename "Resume" to "Summary" (easier to understand for more users).
29112         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29113         styles, and some unnecessary blank lines.
29114
29115 2010-10-03  Bruno Haible  <bruno@clisp.org>
29116             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29117
29118         acl: Add support for ACLs on NonStop Kernel.
29119         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29120         Check whether the function aclsort() exists.
29121         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29122         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29123         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29124         (acl_nontrivial [HAVE_ACLSORT]: New function.
29125         (file_has_acl): Implement for NonStop Kernel.
29126         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29127         (qset_acl): Implement for NonStop Kernel.
29128         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29129         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29130         (main): Implement for NonStop Kernel.
29131         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29132         Kernel. Handle this flavor.
29133         * tests/test-set-mode-acl.sh: Likewise.
29134         * tests/test-copy-acl.sh: Likewise.
29135         * tests/test-copy-file.sh: Likewise.
29136
29137 2010-10-03  Bruno Haible  <bruno@clisp.org>
29138
29139         Info about ACLs on NonStop Kernel.
29140         * doc/acl-resources.txt: Add info about NonStop Kernel.
29141         References by Joachim Schmitz <schmitz@hp.com>.
29142
29143 2010-10-02  Bruno Haible  <bruno@clisp.org>
29144
29145         Define missing EDQUOT on NonStop Kernel.
29146         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29147         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29148         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29149         missing.
29150         * doc/posix-headers/errno.texi: Mention the NSK bug.
29151         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29152         Reported by Joachim Schmitz <schmitz@hp.com>.
29153
29154 2010-10-02  Bruno Haible  <bruno@clisp.org>
29155
29156         Update doc for POSIX:2008.
29157         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29158         Update URL of POSIX specification.
29159
29160 2010-10-02  Bruno Haible  <bruno@clisp.org>
29161
29162         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29163         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29164         from gnulib, not from Automake.
29165
29166 2010-10-02  Bruno Haible  <bruno@clisp.org>
29167
29168         New module 'system-posix'.
29169         * modules/system-posix: New file.
29170         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29171         module is present.
29172         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29173         GNULIB_SYSTEM_POSIX.
29174         * modules/stdlib (Depends-on): Remove sys_wait.
29175         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29176         * doc/posix-functions/system.texi: Mention the new module.
29177         * doc/posix-headers/stdlib.texi: Likewise.
29178         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29179         define test_sys_wait_macros to a no-op.
29180         Reported by Sam Steingold <sds@gnu.org>.
29181
29182 2010-09-30  Bruno Haible  <bruno@clisp.org>
29183
29184         More renaming from 'getdate' to 'get_date'.
29185         * doc/get_date.texi: Renamed from doc/getdate.texi.
29186         * modules/get_date (Files): Update.
29187         * MODULES.html.sh (Date and time <time.h>): Update.
29188         * DEPENDENCIES: Update.
29189         * gnulib-tool: Update comment.
29190         * m4/bison.m4 (gl_BISON): Likewise.
29191         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29192
29193 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29194
29195         bootstrap: support ACLOCAL_FLAGS during aclocal
29196         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29197         can add additional -I dir for third-party .m4 files.
29198
29199 2010-09-30  Eric Blake  <eblake@redhat.com>
29200
29201         bootstrap: use glibtoolize on MacOS
29202         * build-aux/bootstrap (check_versions): Convert libtool into
29203         libtoolize.
29204         (tool search): Move libtool check earlier, and look for
29205         glibtoolize for MacOS.
29206         (gnulib_tool_options): Auto-add --libtool when appropriate.
29207         Reported by Justin Clift.
29208
29209         poll: fix typo that broke test on MacOS
29210         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29211         Reported by Justin Clift.
29212
29213         getdate: rename to get_date
29214         Note: getdate.h is not renamed, to minimize client impact.
29215         * modules/getdate: Mark obsolete.  Move old contents...
29216         * modules/get_date: ...to new module name.
29217         * modules/getdate-tests: Move...
29218         * modules/get_date-tests: ...here.
29219         * m4/getdate.m4: Move...
29220         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29221         * lib/getdate.y: Move...
29222         * lib/get_date.y: ...here.
29223         * tests/test-getdate.c: Move...
29224         * tests/test-get_date.c: ...here.
29225         * doc/posix-functions/getdate.texi (getdate): Update name.
29226         * NEWS: Mention the change.
29227
29228 2010-09-29  Bruno Haible  <bruno@clisp.org>
29229
29230         Separate the module 'waitpid' from the module 'sys_wait'.
29231         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29232         present.
29233         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29234         gl_MODULE_INDICATOR_FOR_TESTS.
29235         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29236         * modules/sys_wait (Depends-on): Remove waitpid.
29237         (Makefile.am): Substitute GNULIB_WAITPID.
29238         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29239         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29240         signature only if the 'waitpid' module is present.
29241         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29242         * NEWS: Mention the change.
29243         * modules/grantpt (Depends-on): Add waitpid.
29244         * modules/wait-process (Depends-on): Likewise.
29245
29246 2010-09-29  Bruno Haible  <bruno@clisp.org>
29247
29248         More tests for module 'sys_wait'.
29249         * modules/sys_wait-c++-tests: New file.
29250         * tests/test-sys_wait-c++.cc: New file.
29251         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29252         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29253
29254 2010-09-29  Bruno Haible  <bruno@clisp.org>
29255
29256         New module 'waitpid'.
29257         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29258         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29259         Don't include <process.h>.
29260         (waitpid): Declare only, using modern idiom.
29261         * m4/waitpid.m4: New file.
29262         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29263         * modules/waitpid: New file.
29264         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29265         (Makefile.am): Update.
29266         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29267
29268 2010-09-28  Bruno Haible  <bruno@clisp.org>
29269
29270         poll: Assume ANSI C.
29271         * lib/poll.c (poll): Use an ANSI C declaration.
29272
29273 2010-09-28  Bruno Haible  <bruno@clisp.org>
29274
29275         poll-h: Create poll.h on all platforms.
29276         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29277         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29278         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29279         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29280         (gl_REPLACE_POLL_H): Don't set POLL_H.
29281         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29282         * modules/poll-h (Depends-on): Add include_next.
29283         (Makefile.am): Create poll.h unconditionally. Substitute also
29284         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29285
29286 2010-09-28  Bruno Haible  <bruno@clisp.org>
29287
29288         Tests for module 'poll-h'.
29289         * modules/poll-h-c++-tests: New file.
29290         * tests/test-poll-h-c++.cc: New file.
29291
29292         Tests for module 'poll-h'.
29293         * modules/poll-h-tests: New file.
29294         * tests/test-poll-h.c: New file.
29295
29296 2010-09-28  Bruno Haible  <bruno@clisp.org>
29297
29298         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29299         * modules/poll-h (Depends-on): Add 'extensions'.
29300
29301 2010-09-28  Bruno Haible  <bruno@clisp.org>
29302
29303         New module 'poll-h'.
29304         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29305         (poll): Use modern idiom.
29306         * modules/poll-h: New file.
29307         * modules/poll (Files): Remove lib/poll.in.h.
29308         (Depends-on): Add poll-h.
29309         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29310         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29311         * m4/poll_h.m4: New file.
29312         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29313         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29314         and invoke gl_REPLACE_POLL_H.
29315         * lib/poll.c: Use common idiom.
29316         * tests/test-poll.c: Likewise.
29317         * doc/posix-headers/poll.texi: Mention the poll-h module.
29318         Suggested by Eric Blake.
29319
29320 2010-09-26  Bruno Haible  <bruno@clisp.org>
29321
29322         sys_wait: Implement WSTOPSIG.
29323         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29324         Reported by Simon Josefsson.
29325
29326 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29327
29328         stdlib, sys_wait: Avoid compilation error on mingw.
29329         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29330
29331 2010-09-26  Bruno Haible  <bruno@clisp.org>
29332
29333         stdlib tests: Avoid code duplication.
29334         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29335         * modules/sys_wait-tests (Files): Likewise.
29336         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29337         * tests/test-stdlib.c: Include test-sys_wait.h.
29338         (main): Invoke test_sys_wait_macros.
29339         * tests/test-sys_wait.c: Include test-sys_wait.h.
29340         (main): Invoke test_sys_wait_macros.
29341
29342 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29343
29344         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29345         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29346         sure Windows sockets are working before calling getaddrinfo.
29347         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29348         * doc/gnulib.texi (Windows sockets): Fix typo.
29349
29350 2010-09-25  Bruno Haible  <bruno@clisp.org>
29351
29352         Tests for module 'regex-quote'.
29353         * modules/regex-quote-tests: New file.
29354         * tests/test-regex-quote.c: New file.
29355
29356         New module 'regex-quote'.
29357         * lib/regex-quote.h: New file.
29358         * lib/regex-quote.c: New file.
29359         * modules/regex-quote: New file.
29360         Suggested by Reuben Thomas <rrt@sc3d.org>.
29361
29362 2010-09-24  Bruno Haible  <bruno@clisp.org>
29363
29364         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29365         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29366
29367 2010-09-23  Bruno Haible  <bruno@clisp.org>
29368
29369         setenv: Relax license.
29370         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29371         Blake.
29372         Requested by Eric Blake.
29373
29374 2010-09-22  Bruno Haible  <bruno@clisp.org>
29375
29376         termios: Relax license.
29377         * modules/termios (License): Change to LGPLv2+.
29378         Requested by Eric Blake.
29379
29380 2010-09-22  Bruno Haible  <bruno@clisp.org>
29381
29382         threadlib: Allow the package to change the default to 'no'.
29383         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29384         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29385         Reported by Paul Eggert.
29386
29387 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29388             Bruno Haible  <bruno@clisp.org>
29389
29390         Fix endless loop in mbmemcasecoll.
29391         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29392         byte.
29393         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29394
29395 2010-09-22  Bruno Haible  <bruno@clisp.org>
29396
29397         Tests for module 'memcoll'.
29398         * modules/memcoll-tests: New file.
29399         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29400
29401         memcoll, xmemcoll: Clarify size vs. length.
29402         * modules/memcoll.c (memcoll0): Clarify specification.
29403         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29404         passed to collate_error.
29405
29406 2010-09-22  Bruno Haible  <bruno@clisp.org>
29407
29408         Tests for module 'memcasecmp'.
29409         * modules/memcasecmp-tests: New file.
29410         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29411
29412 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29413
29414         * lib/pthread.in.h: Add split double-inclusion guard, and include
29415         system <pthread.h> if there is one.  Use @@-style as in other
29416         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29417         pthread.h doesn't.
29418         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29419         (pthread_mutexattr_settype, pthread_mutex_trylock):
29420         New static inline functions, if there's no system <pthread.h>.
29421         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29422         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29423         Approximate with mutexes if the system lacks spinlocks, as in
29424         MacOS.
29425         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29426         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29427         @@-style.  Check for spinlocks separately.
29428         (gl_PTHREAD_DEFAULTS): New macro.
29429         * modules/pthread: Redo to use a more typical style for in.h files.
29430
29431 2010-09-21  Eric Blake  <eblake@redhat.com>
29432
29433         net_if: enhance tests
29434         * tests/test-net_if.c (main): Move signature checks earlier.
29435         Print failures to stderr.
29436         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29437         Document the bug that we do not yet fix.
29438
29439 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29440
29441         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29442         about gnulib, not GSS.
29443
29444 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29445
29446         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29447         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29448         for Emacs.
29449         * build-aux/pmccabe2html: Make Makefile.am example code more
29450         cut-and-paste friendly.
29451
29452 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29453
29454         * tests/test-net_if.c: New file.
29455         * modules/net_if-tests: New file.
29456
29457 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29458
29459         pthread: add pthread_spin_destroy
29460         * lib/pthread.in.h (pthread_spin_destroy): New function.
29461
29462 2010-09-19  Bruno Haible  <bruno@clisp.org>
29463
29464         gnulib-tool: Fix --help output.
29465         * gnulib-tool (func_usage): Fix help message.
29466         Reported by Reuben Thomas <rrt@sc3d.org>.
29467
29468 2010-09-18  Jim Meyering  <meyering@redhat.com>
29469
29470         maint.mk: avoid unexpanded \n in two diagnostics
29471         * top/maint.mk (sc_prohibit_always_true_header_tests):
29472         Don't use a literal \n in a halt=... assignment.  It would not be
29473         expanded, and the two \n bytes would appear in the diagnostic output
29474         rather than the desired newline.  Use halt=$$(printf ... instead.
29475         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29476
29477 2010-09-18  Bruno Haible  <bruno@clisp.org>
29478
29479         netinet_in: Doc tweak.
29480         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29481         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29482
29483 2010-09-18  Jim Meyering  <meyering@redhat.com>
29484
29485         init.sh: correct an outdated comment
29486         * tests/init.sh (create_exe_shims_):  s/function/alias/
29487
29488         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29489         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29490         a file named "*.exe" is removed between the glob expansion and the
29491         processing of that oddly named file.
29492
29493 2010-09-17  Eric Blake  <eblake@redhat.com>
29494
29495         mirbsd: add some more support
29496         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29497         in BSD family.
29498         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29499         devices as OpenBSD.
29500         * m4/host-os.m4 (mirbsd): Add MirBSD.
29501
29502         tests: fix unportable assumption on sys/wait.h
29503         * tests/test-sys_wait.c (main): Relax test.
29504         * tests/test-stdlib.c (main): Likewise.
29505
29506         init.sh: accommodate directory with no .exes
29507         * tests/init.sh: Accomodate directory containing only scripts.
29508
29509         tests: avoid compiler warning
29510         * tests/test-stdlib.c (main): Use the variable.
29511
29512         fdutimens, fdutimensat: update signature, again
29513         * lib/utimens.h (gl_futimens): Delete, and move signature...
29514         (fdutimens): ...here.
29515         (fdutimensat): Rearrange signature.
29516         (lutimensat): Rename variable for clarity.
29517         * lib/fdutimensat.c (fdutimensat): Update signature.
29518         * lib/utimens.c (fdutimens): Likewise.
29519         (gl_futimens): Delete.
29520         (utimens, lutimens): Update callers.
29521         * lib/futimens.c (futimens): Likewise.
29522         * tests/test-fdutimensat.c: Likewise.
29523         * tests/test-utimens.c: Likewise.
29524         * tests/test-futimens.h: Update comment.
29525         * NEWS: Mention this.
29526         Suggested by Paul Eggert.
29527
29528 2010-09-17  Bruno Haible  <bruno@clisp.org>
29529
29530         Take over the maintenance of some older macros from Autoconf.
29531         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29532         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29533         GNU Autoconf.
29534         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29535         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29536
29537 2010-09-17  Eric Blake  <eblake@redhat.com>
29538
29539         fdutimensat: drop atflag validation
29540         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29541         with valid fd, to close a race scenario where futimens is
29542         unsupported and FILE was replaced by a symlink.
29543         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29544         accordingly.
29545         Suggested by Paul Eggert.
29546
29547 2010-09-16  Bruno Haible  <bruno@clisp.org>
29548
29549         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29550         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29551
29552 2010-09-16  Bruno Haible  <bruno@clisp.org>
29553
29554         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29555         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29556         login_tty exists.
29557         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29558
29559 2010-09-16  Bruno Haible  <bruno@clisp.org>
29560
29561         login_tty: Make the replacement code work on BSD systems.
29562         * lib/login_tty.c: Include <sys/ioctl.h>.
29563         (login_tty): Use ioctl TIOCSCTTY when available.
29564         * modules/login_tty (Depends-on): Add sys_ioctl.
29565         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29566
29567 2010-09-16  Bruno Haible  <bruno@clisp.org>
29568
29569         login_tty: Stricter unit test.
29570         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29571         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29572         and tcgetsid() after login_tty.
29573         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29574
29575 2010-09-16  Bruno Haible  <bruno@clisp.org>
29576
29577         New module 'tcgetsid'.
29578         * lib/tcgetsid.c: New file.
29579         * m4/tcgetsid.m4: New file.
29580         * modules/tcgetsid: New file.
29581         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29582         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29583         GNULIB_TCGETSID, HAVE_TCGETSID.
29584         * lib/termios.in.h: Include <sys/types.h>.
29585         (tcgetsid): New declaration.
29586         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29587         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29588         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29589         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29590
29591 2010-09-16  Bruno Haible  <bruno@clisp.org>
29592
29593         Tests for module 'termios'.
29594         * modules/termios-c++-tests: New file.
29595         * modules/termios-tests: New file.
29596         * tests/test-termios-c++.cc: New file.
29597         * tests/test-termios.c: New file.
29598
29599         New module 'termios'.
29600         * modules/termios: New file.
29601         * lib/termios.in.h: New file.
29602         * m4/termios_h.m4: New file.
29603         * doc/posix-headers/termios.texi: Mention the new module.
29604
29605 2010-09-16  Eric Blake  <eblake@redhat.com>
29606
29607         fdutimensat: add an atflag parameter
29608         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29609         * lib/utimens.h (fdutimensat): Update prototype.
29610         * tests/test-fdutimensat.c: Adjust test to match.
29611         * NEWS: Document the change.
29612         Suggested by Paul Eggert.
29613
29614 2010-09-16  Bruno Haible  <bruno@clisp.org>
29615
29616         Fix typos in comments.
29617         * lib/striconveh.h: Fix typo in comment.
29618         * lib/login_tty.c (login_tty): Likewise.
29619
29620 2010-09-15  Bruno Haible  <bruno@clisp.org>
29621
29622         stdlib: clarify MirBSD WEXITSTATUS bug
29623         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29624         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29625
29626 2010-09-15  Eric Blake  <eblake@redhat.com>
29627
29628         stdlib: work around MirBSD WEXITSTATUS bug
29629         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29630         * modules/stdlib (Depends-on): Add sys_wait.
29631         * tests/test-sys_wait.c (main): Enhance test.
29632         * tests/test-stdlib.c (main): Likewise.
29633         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29634
29635         docs: mention MacOS issue with WEXITSTATUS(constant)
29636         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29637         issue.
29638         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29639
29640         strnlen: add tests
29641         * modules/strnlen-tests: New file.
29642         * tests/test-strnlen.c: Likewise.
29643
29644 2010-09-14  Bruno Haible  <bruno@clisp.org>
29645
29646         unistr/base: Avoid link errors when module 'libunistring' is also used.
29647         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29648         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29649         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29650         Declare also when HAVE_LIBUNISTRING is set.
29651         Reported by Pádraig Brady <P@draigbrady.com>.
29652
29653 2010-09-14  Eric Blake  <eblake@redhat.com>
29654
29655         test-rawmemchr: make more robust
29656         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29657         (Depends-on, configure.ac): Add needed prerequisites to use it.
29658         * modules/memchr-tests (Files, Depends-on, configure.ac):
29659         Likewise, to avoid implicit reliance on memchr module prereqs.
29660         * tests/test-memchr.c (main): Ensure proper masking.
29661         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29662         reads.
29663
29664         memchr: detect glibc Alpha bug
29665         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29666         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29667         Alpha.
29668         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29669         * tests/test-memchr.c (main): Enhance test.
29670         Reported by Nelson H. F. Beebe.
29671
29672 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29673
29674         fts, getcwd, glob: audit for dirfd returning -1
29675         * lib/fts.c (opendir): Remove #define; no longer used.
29676         (opendirat): New arg PDIR_FD.  All callers changed.
29677         (fts_build, _opendir2): Use new opendirat to avoid the need for
29678         dirfd, or for checking whether dirfd returns a negative value.
29679         Don't use opendir; always use openat followed by fdopendir.
29680         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29681         it.
29682         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29683         returns -1 here.
29684         * modules/fts (Depends-on): Remove dirfd.
29685         * modules/getcwd (Depends-on): Likewise.
29686
29687 2010-09-13  Eric Blake  <eblake@redhat.com>
29688
29689         float: fix broken MirBSD header
29690         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29691         * doc/posix-headers/float.texi (float.h): Document it.
29692
29693 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29694
29695         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29696         * lib/fts.c (opendirat): New arg extra_flags.
29697         (__opendir2): Use it to avoid following symlinks when opening
29698         a directory, if symlinks are not supposed to be followed.  See
29699         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29700
29701         fdopendir: preserve argument fd before returning
29702         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29703         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29704         (fdopendir): Use them, arranging for FD to be open to the same
29705         directory that it was when it started.  (It might be temporarily
29706         closed while fdopendir is running, so this not thread- or
29707         signal-safe.)  Be careful to do the right thing even when file
29708         descriptors are scarce and dup fails with errno == EMFILE.  See
29709         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29710
29711 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29712
29713         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29714         * NEWS: Document change.
29715         * m4/regex.m4: Disable test for regoff_t size.
29716
29717 2010-09-13  Jim Meyering  <meyering@redhat.com>
29718
29719         fts: don't operate on an invalid file descriptor after failed dup
29720         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29721         negative file descriptor.
29722
29723 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29724
29725         savedir: add streamsavedir, deprecate fdsavedir
29726         * NEWS: Mention deprecation of fdsavedir.
29727         * lib/savedir.c (streamsavedir): New extern function, whose name
29728         ends in "savedir" to be consistent with the others.  This differs
29729         from savedirstream in that it doesn't close its argument.  The
29730         next version of GNU tar will use this instead of fdsavedir, to
29731         avoid some race conditions and conserve file descriptors.
29732         (savedirstream): Reimplement as a wrapper around streamsavedir.
29733         (fdsavedir): Add a comment deprecating this function.  As far as
29734         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29735         * lib/savedir.h (streamsavedir): New decl.
29736         (fdsavedir): Add a comment deprecating this.
29737
29738 2010-09-10  Bruno Haible  <bruno@clisp.org>
29739
29740         langinfo: Fix last commit.
29741         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29742         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29744
29745 2010-09-10  Bruno Haible  <bruno@clisp.org>
29746
29747         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29748         * lib/progreloc.c (O_EXEC): Define fallback.
29749
29750 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29751
29752         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29753         * NEWS: Document recent changes to fcntl-h.
29754         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29755         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29756         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29757         Similarly for O_SEARCH; this last was already true, but not documented.
29758         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29759         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29760         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29761         Likewise.
29762         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29763         is zero, not whether it is defined.
29764         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29765         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
29766         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
29767
29768 2010-09-10  Bruno Haible  <bruno@clisp.org>
29769
29770         langinfo, nl_langinfo: Fix for IRIX 5.3.
29771         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
29772         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
29773         HAVE_LANGINFO_YESEXPR.
29774         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
29775         HAVE_LANGINFO_YESEXPR.
29776         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
29777         HAVE_LANGINFO_T_FMT_AMPM is 0.
29778         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
29779         HAVE_LANGINFO_YESEXPR is 0.
29780         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
29781         NOEXPR.
29782         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
29783         * doc/posix-functions/nl_langinfo.texi: Likewise.
29784         Reported by Eric Blake.
29785
29786 2010-09-10  Bruno Haible  <bruno@clisp.org>
29787
29788         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
29789         * doc/glibc-functions/login_tty.texi: Mention the include file problem
29790         on FreeBSD 8.0 and OpenBSD 4.6.
29791         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
29792         * m4/pty_h.m4 (gl_PTY_H): Likewise.
29793         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
29794         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
29795         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
29796         ac_includes_default.
29797         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29798
29799 2010-09-09  Eric Blake  <eblake@redhat.com>
29800
29801         strsignal: work around NetBSD bug
29802         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
29803         * lib/string.in.h (includes): Likewise.
29804         * doc/posix-functions/strsignal.texi (strsignal): Document the
29805         bug.
29806         Reported by Nelson H. F. Beebe.
29807
29808         gnulib-tool: work with NetBSD /bin/sh
29809         * gnulib-tool (func_cache_var, func_cache_lookup_module)
29810         (func_get_description, func_get_comment, func_get_status)
29811         (func_get_notice, func_get_applicability, func_get_filelist)
29812         (func_get_dependencies, func_get_autoconf_early_snippet)
29813         (func_get_autoconf_snippet, func_get_automake_snippet)
29814         (func_get_include_directive, func_get_link_directive)
29815         (func_get_license, func_get_maintainer, func_import): Avoid
29816         shell syntax errors from parsing syntax extensions.
29817
29818 2010-09-09  Bruno Haible  <bruno@clisp.org>
29819
29820         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29821         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
29822         a reliable way to determine whether the 'alias' command works.
29823
29824 2010-09-08  Jim Meyering  <meyering@redhat.com>
29825
29826         init.sh: penalize a set-x-impaired shell; don't disqualify it
29827         * tests/init.sh: Too many shells corrupt application stderr when
29828         you set -x, so we can't afford to disqualify them, since at least
29829         on Irix-6.5, that would disqualify all bourne shells.
29830         Instead, use a two-pass approach.
29831         On the first pass, try to find a shell that meets the stricter
29832         condition that set -x does not corrupt stderr.
29833         If no shell meets the stricter condition, retest each candidate
29834         shell, but without that extra condition.  Finally, when
29835         VERBOSE=yes is requested and set -x might cause trouble, simply
29836         issue a warning and refrain from enabling debug output.
29837
29838 2010-09-08  Eric Blake  <eblake@redhat.com>
29839
29840         unsetenv: fix OpenBSD bug
29841         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
29842         * doc/posix-functions/unsetenv.texi (unsetenv): Update
29843         documentation.
29844         Reported by Jim Meyering.
29845
29846         strtod: work around IRIX 6.5 bug
29847         * lib/strtod.c (strtod): Reparse number on shorter string if
29848         exponent parse was invalid.
29849         * tests/test-strtod.c (main): Add check for "0x1p 2".
29850         Reported by Tom G. Christensen.
29851
29852         getopt: optimize previous patch
29853         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
29854         empty variable.  Speed up awk script.
29855         Reported by Paolo Bonzini.
29856
29857 2010-09-08  Jim Meyering  <meyering@redhat.com>
29858
29859         test.sh: disqualify shells for which set -x corrupts stderr
29860         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
29861         and OpenBSD 4.7.  They make it so with "set -x", environment settings
29862         appear in stderr output.  For example, this command:
29863             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
29864         prints "P=1" on those two systems:
29865
29866 2010-09-08  Bruno Haible  <bruno@clisp.org>
29867
29868         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29869         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
29870         commands, because some shells ignore redirections when there is an
29871         error in the command lookup.
29872         Reported by Eric Blake.
29873
29874 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
29875
29876         * lib/regex.h: Fix a mention of `regex_compile' (should be
29877         `re_compile_pattern').
29878         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
29879         (re_set_registers): Correct name of parameter in comment.
29880
29881         * doc/regex.texi: Add documentation for missing syntax flags.
29882         Remove commented-out documentation of defunct syntax option
29883         RE_NO_EMPTY_ALTS.
29884         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
29885         Add documentation of re_set_registers.
29886         Document trick to re-use a pattern buffer by setting fastmap manually.
29887         Update documentation of struct re_pattern_buffer per public members.
29888         Uncomment documentation of equivalence class operators and
29889         collating symbol operators, since they are now implemented,
29890         Explain leftmost-longest matching in relation to alternatives.
29891         Tidy documentation of substring matching.
29892         Remove POSIX documentation, which is done better in
29893         glibc, and refer the reader there. Keep BSD API documentation, as
29894         that is not readily available elsewhere.
29895
29896 2010-09-07  Eric Blake  <eblake@redhat.com>
29897
29898         getopt: handle POSIXLY_CORRECT set but not exported
29899         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
29900         export state of POSIXLY_CORRECT, due to bash set -o posix.
29901         Reported by Dustin J. Mitchell.
29902
29903 2010-09-05  Bruno Haible  <bruno@clisp.org>
29904
29905         gnulib-tool: Highlight the changed options.
29906         * gnulib-tool (func_usage): Display the --import, --add-import,
29907         --remove-import explanations in bold font.
29908
29909 2010-09-06  Karl Berry  <karl@gnu.org>
29910
29911         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
29912
29913 2010-09-05  Bruno Haible  <bruno@clisp.org>
29914
29915         uniwidth/width: Update comment.
29916         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
29917         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
29918
29919 2010-09-05  Bruno Haible  <bruno@clisp.org>
29920
29921         isinf, isnan: Relax license.
29922         * modules/isinf (License): Change from GPL to LGPL, with consent from
29923         Ben Pfaff.
29924         * modules/isnan (License): Likewise.
29925         Requested by Ludovic Courtès.
29926
29927 2010-09-04  Bruno Haible  <bruno@clisp.org>
29928
29929         gnulib-tool: Help migration from --import to --add-import or --update.
29930         * gnulib-tool: Emit a verbose error message when --import is used
29931         without any module name.
29932
29933 2010-09-04  Bruno Haible  <bruno@clisp.org>
29934
29935         Update doc about gnulib-tool.
29936         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29937         'gnulib-tool --update' in more detail.
29938         Reported by Eric Blake.
29939
29940 2010-09-04  Bruno Haible  <bruno@clisp.org>
29941
29942         gnulib-tool: Change --import. New options --add/remove-import.
29943         * gnulib-tool: New options --add-import, --remove-import.
29944         (func_usage): Document them.
29945         (have_associative): Define always.
29946         (func_import): In import mode, don't merge the specified settings with
29947         the cached settings. Implement remove-import mode.
29948         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
29949         Explain when to use them versus --import.
29950         (Simple update): Use --add-import instead of --import.
29951         * NEWS: Mention the change.
29952
29953 2010-09-04  Bruno Haible  <bruno@clisp.org>
29954
29955         * doc/gnulib-tool.texi (Initial import): Update paragraph about
29956         separate gnulib.mk.
29957
29958 2010-09-04  Bruno Haible  <bruno@clisp.org>
29959
29960         gnulib-tool: Don't talk about CVS any more.
29961         * gnulib-tool (func_usage, func_import): Write "version control"
29962         instead of CVS.
29963
29964 2010-09-04  Jim Meyering  <meyering@redhat.com>
29965
29966         maint.mk: avoid obscure sc_copyright_check failure in coreutils
29967         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
29968         false positives (whose names may be ill-chosen) when searching
29969         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
29970         would cause a false-positive.
29971
29972         avoid coreutils "make distcheck" failure
29973         Coreutils tests with an absolute build directory name that contains
29974         a space.  Not quoting this directory name caused a failure.
29975         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
29976         * tests/test-vc-list-files-cvs.sh: Likewise.
29977
29978 2010-09-04  Bruno Haible  <bruno@clisp.org>
29979
29980         gnulib-tool: Avoid error when run in a package without Makefile.am.
29981         * gnulib-tool: When collecting the m4dirs in a package that does not
29982         have a Makefile.am, eliminate those directories that contain no
29983         gnulib-cache.m4. Fix expression that counts these directories.
29984
29985 2010-09-04  Bruno Haible  <bruno@clisp.org>
29986
29987         update-copyright test: Improve output when perl is missing or too old.
29988         * tests/test-update-copyright.sh: Move test of Perl version down after
29989         the test whether Perl exists. Provide an explanation relating Perl's
29990         error message to Automake's SKIP: message.
29991
29992 2010-09-04  Bruno Haible  <bruno@clisp.org>
29993
29994         Don't augment PATH in TESTS_ENVIRONMENT.
29995         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
29996         set abs_aux_dir instead of augmenting PATH.
29997         * modules/vc-list-files-tests (Makefile.am): Likewise.
29998         * tests/test-update-copyright.sh: Augment PATH here.
29999         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30000         path_prepend_.
30001         * tests/test-vc-list-files-git.sh: Likewise.
30002
30003 2010-09-04  Jim Meyering  <meyering@redhat.com>
30004
30005         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30006         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30007
30008 2010-09-04  Bruno Haible  <bruno@clisp.org>
30009
30010         strdup: Fix compilation error in C++ mode.
30011         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30012         the macro.
30013
30014 2010-09-04  Bruno Haible  <bruno@clisp.org>
30015
30016         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30017         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30018         macro into a function.
30019         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30020
30021 2010-09-04  Bruno Haible  <bruno@clisp.org>
30022
30023         Set PATH_SEPARATOR the same way autoconf does.
30024         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30025         the value of PATH_SEPARATOR the same way autoconf-generated configure
30026         scripts do.
30027         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30028         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30029
30030 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30031
30032         Set PATH_SEPARATOR the same way autoconf does.
30033         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30034         the same way autoconf-generated configure scripts do.
30035         * posix-modules: Likewise.
30036
30037 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30038
30039         hash: fix safe_hasher const typo
30040         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30041         const; otherwise, there is a type error later.
30042
30043 2010-09-02  Jim Meyering  <meyering@redhat.com>
30044
30045         test-update-copyright.sh: require perl 5.8.0
30046         * tests/test-update-copyright.sh: Require 5.8.0,
30047         which Tom G. Christensen has confirmed is adequate,
30048         while 5.6.1 is not.
30049
30050 2010-09-02  Eric Blake  <eblake@redhat.com>
30051
30052         tests: init.sh improvements for re-exec'ing with zsh
30053         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30054         -vx through shell re-exec.
30055         Reported by Tom G. Christensen.
30056
30057         wctype: fix typo in previous commit
30058         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30059         Reported by Ludovic Courtès.
30060
30061 2010-09-02  Jim Meyering  <meyering@redhat.com>
30062
30063         test-update-copyright.sh: skip test if Perl is too old
30064         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30065         Reported by Tom G. Christensen.
30066
30067 2010-09-02  Bruno Haible  <bruno@clisp.org>
30068
30069         wctype: Avoid compilation error on IRIX 6.5.30.
30070         * lib/wctype.in.h (iswblank): Declare with a replacement if
30071         REPLACE_ISWBLANK is set.
30072         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30073         declared. Set REPLACE_ISWBLANK.
30074         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30075         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30076         * doc/posix-headers/wctype.texi: Likewise.
30077         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30078
30079 2010-09-01  Bruno Haible  <bruno@clisp.org>
30080
30081         New module 'socketlib'.
30082         * modules/socketlib: New file.
30083         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30084         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30085         * modules/sockets (Depends-on): Add socketlib.
30086         Suggested by Sam Steingold <sds@gnu.org>.
30087
30088 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30089
30090         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30091
30092         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30093         when one needs search access to a directory but not read access.
30094         On systems where it is available, it works in some cases where
30095         O_RDONLY does not, namely on directories that are searchable but
30096         not readable, and which need only to be searchable.  If O_SEARCH
30097         is not available, fall back to the traditional method of using
30098         O_RDONLY.
30099
30100         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30101         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30102         when opening a directory that needs only to be searchable.
30103         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30104         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30105         * lib/openat-proc.c (openat_proc_name): Likewise.
30106         * lib/openat.c (openat_needs_fchdir): Likewise.
30107         * lib/save-cwd.c (save_cwd): Likewise.
30108         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30109
30110 2010-08-28  Bruno Haible  <bruno@clisp.org>
30111
30112         New module 'host-cpu-c-abi'.
30113         * modules/host-cpu-c-abi: New file.
30114         * m4/host-cpu-c-abi.m4: New file, based on part of
30115         clisp/src/m4/general.m4.
30116         Requested by Sam Steingold <sds@gnu.org>.
30117
30118 2010-08-31  Eric Blake  <eblake@redhat.com>
30119         and Jim Meyering  <meyering@redhat.com>
30120
30121         hash: factor, and guard against misbehaving hasher function
30122         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30123         of table->hasher's return value.  Also protect against a hash value
30124         so large that adding it to table->bucket results in a NULL pointer.
30125         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30126         Use it in place of open-coded check-and-abort.
30127
30128 2010-08-30  Bruno Haible  <bruno@clisp.org>
30129
30130         hash: silence spurious clang warning
30131         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30132         Reported by Eric Blake.
30133
30134 2010-08-30  Eric Blake  <eblake@redhat.com>
30135
30136         strstr, memmem, strcasestr: avoid leaked shell message
30137         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30138         FreeBSD.
30139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30140         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30141
30142         tests: silence clang warning
30143         * tests/test-malloca.c (do_allocation): Avoid dead store.
30144
30145 2010-08-29  Bruno Haible  <bruno@clisp.org>
30146
30147         gettext: Fix recent mistake.
30148         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30149
30150 2010-08-29  Bruno Haible  <bruno@clisp.org>
30151
30152         selinux-h: Offer a --without-selinux option.
30153         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30154         --without-selinux was specified, skip all tests and define
30155         HAVE_SELINUX_SELINUX_H to 0.
30156         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30157         set LIB_SELINUX to empty.
30158         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30159         gl_LIBSELINUX. If --without-selinux was specified, replace
30160         selinux/context.h.
30161         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30162
30163 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30164             Bruno Haible  <bruno@clisp.org>
30165
30166         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30167         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30168         of HAVE_REALLOC.
30169         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30170         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30171         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30172         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30173
30174 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30175             Bruno Haible  <bruno@clisp.org>
30176
30177         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30178         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30179         HAVE_CALLOC.
30180         * lib/xmalloc.c: Update accordingly.
30181         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30182         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30183         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30184
30185 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30186             Bruno Haible  <bruno@clisp.org>
30187
30188         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30189         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30190         HAVE_MALLOC.
30191         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30192         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30193         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30194
30195 2010-08-29  Bruno Haible  <bruno@clisp.org>
30196
30197         Update modules list.
30198         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30199         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30200         (String handling <string.h>): Add astrxfrm.
30201         (File system functions): Add readlinkat.
30202
30203 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30204
30205         Tests for module 'realloc-gnu'.
30206         * modules/realloc-gnu-tests: New file.
30207         * tests/test-realloc-gnu.c: New file.
30208
30209         Tests for module 'calloc-gnu'.
30210         * modules/calloc-gnu-tests: New file.
30211         * tests/test-calloc-gnu.c: New file.
30212
30213         Tests for module 'malloc-gnu'.
30214         * modules/malloc-gnu-tests: New file.
30215         * tests/test-malloc-gnu.c: New file.
30216
30217 2010-08-28  Bruno Haible  <bruno@clisp.org>
30218
30219         Rename module 'realloc' -> 'realloc-gnu'.
30220         * modules/realloc-gnu: New file, copied from modules/realloc.
30221         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30222         obsolete.
30223         * modules/mgetgroups (Depends-on): Update.
30224         * doc/posix-functions/realloc.texi: Update.
30225         * NEWS: Mention the change.
30226
30227         Rename module 'calloc' -> 'calloc-gnu'.
30228         * modules/calloc-gnu: New file, copied from modules/calloc.
30229         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30230         obsolete.
30231         * doc/posix-functions/calloc.texi: Update.
30232         * NEWS: Mention the change.
30233
30234         Rename module 'malloc' -> 'malloc-gnu'.
30235         * modules/malloc-gnu: New file, copied from modules/malloc.
30236         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30237         obsolete.
30238         * modules/argp (Depends-on): Update.
30239         * modules/regex (Depends-on): Update.
30240         * doc/posix-functions/malloc.texi: Update.
30241         * NEWS: Mention the change.
30242
30243 2010-08-28  Eric Blake  <eblake@redhat.com>
30244
30245         pread, pwrite: add missing dependency
30246         * modules/pread (Depends-on): Add extensions.
30247         * modules/pwrite (Depends-on): Likewise.
30248
30249 2010-08-28  Bruno Haible  <bruno@clisp.org>
30250
30251         unistr/u*-strchr: Fix tests dependencies.
30252         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30253         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30254         Reported by Ian Beckwith <ianb@erislabs.net>.
30255
30256 2010-08-28  Bruno Haible  <bruno@clisp.org>
30257
30258         read-file: Don't occupy too much unused memory.
30259         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30260
30261 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30262             Eric Blake  <eblake@redhat.com>
30263             Bruno Haible  <bruno@clisp.org>
30264
30265         read-file: Avoid memory reallocations with regular files.
30266         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30267         (fread_file): With regular files, use the remaining length as the
30268         initial buffer size.  Check against overflow.
30269         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30270         sys_stat.
30271
30272 2010-08-28  Bruno Haible  <bruno@clisp.org>
30273
30274         ftello: Relax license.
30275         * modules/ftello (License): Relax to LGPLv2+.
30276         Reported by Eric Blake.
30277
30278 2010-08-28  Bruno Haible  <bruno@clisp.org>
30279
30280         Avoid relocwrapper link errors due to gnulib replacement functions.
30281         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30282         function.
30283         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30284
30285 2010-08-28  Bruno Haible  <bruno@clisp.org>
30286
30287         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30288         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30289         defined.
30290         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30291         Suggested by Eric Blake.
30292
30293 2010-08-28  Bruno Haible  <bruno@clisp.org>
30294
30295         sys_socket, netdb: Ensure socklen_t gets defined.
30296         * modules/sys_socket (Depends-on): Add socklen.
30297         * modules/netdb (Depends-on): Likewise.
30298         * modules/getaddrinfo (Depends-on): Remove socklen.
30299         * modules/getsockopt (Depends-on): Likewise.
30300         * modules/setsockopt (Depends-on): Likewise.
30301         * tests/test-sys_socket.c: Check that socklen_t is defined.
30302         * tests/test-netdb.c: Likewise.
30303         * m4/socklen.m4: Update comments.
30304         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30305
30306 2010-08-27  Eric Blake  <eblake@redhat.com>
30307
30308         login_tty: add missing dependency
30309         * modules/login_tty (Depends-on): Add pty.
30310
30311 2010-08-26  Eric Blake  <eblake@redhat.com>
30312
30313         lib-symbol-versions: fix m4 quoting
30314         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30315         format for AC_LINK_IFELSE.
30316
30317         glob: fix compile test
30318         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30319
30320         btowc: fix missing file
30321         * modules/btowc (Files): Also ship locale-fr.m4.
30322
30323         lseek: fix link test
30324         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30325         AC_LINK_IFELSE.
30326
30327         include_next: silence autoconf 2.68 warning
30328         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30329         AC_COMPILE_IFELSE as special.
30330         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30331         autoconf < 2.68.
30332
30333         acl: fix compilation test
30334         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30335         AC_COMPILE_IFELSE.
30336
30337 2010-08-26  Bruno Haible  <bruno@clisp.org>
30338
30339         Modernize AC_TRY_RUN invocations.
30340         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30341         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30342         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30343         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30344         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30345         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30346         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30347         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30348         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30349         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30350         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30351         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30352         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30353         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30354         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30355         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30356         gl_MBRLEN_NUL_RETVAL): Likewise.
30357         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30358         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30359         Likewise.
30360         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30361         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30362         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30363         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30364         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30365         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30366         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30367         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30368         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30369         Likewise.
30370         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30371         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30372         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30373         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30374         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30375         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30376         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30377         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30378         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30379         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30380
30381 2010-08-26  Bruno Haible  <bruno@clisp.org>
30382
30383         Modernize AC_TRY_LINK invocations.
30384         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30385         AC_TRY_LINK.
30386         * m4/argp.m4 (gl_ARGP): Likewise.
30387         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30388         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30389         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30390         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30391         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30392         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30393         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30394         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30395         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30396         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30397         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30398         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30399         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30400         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30401         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30402         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30403         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30404         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30405         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30406         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30407         Likewise.
30408         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30409         Likewise.
30410         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30411         Likewise.
30412         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30413         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30414         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30415         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30416         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30417         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30418         * m4/servent.m4 (gl_SERVENT): Likewise.
30419         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30420         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30421         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30422         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30423         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30424         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30425         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30426         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30427         * modules/tsearch-tests (configure.ac): Likewise.
30428
30429 2010-08-26  Bruno Haible  <bruno@clisp.org>
30430
30431         Modernize AC_TRY_COMPILE invocations.
30432         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30433         AC_TRY_COMPILE.
30434         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30435         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30436         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30437         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30438         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30439         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30440         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30441         * m4/lock.m4 (gl_LOCK): Likewise.
30442         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30443         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30444         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30445         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30446         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30447         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30448         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30449         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30450         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30451         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30452         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30453         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30454         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30455         extraneous semicolon.
30456
30457 2010-08-26  Jim Meyering  <meyering@redhat.com>
30458
30459         stat-time: relax license LGPL
30460         * modules/stat-time (License): Change from GPL to LGPL,
30461         with consent from all contributors, for use in libguile.
30462         Requested by Ludovic Courtès.
30463
30464 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30465
30466         poll: return immediately on POLLHUP.
30467         * lib/poll.c (poll): Always set timeout before wait_timeout is
30468         computed.
30469
30470 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30471
30472         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30473         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30474         rmdir ("dir/.//"), unlinkat.
30475
30476 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30477
30478         stdbool: avoid spurious failure with modern xlc
30479         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30480
30481 2010-08-24  Bruno Haible  <bruno@clisp.org>
30482
30483         getloadavg: simplify code
30484         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30485         gl_have_func. Update comments.
30486
30487 2010-08-24  Eric Blake  <eblake@redhat.com>
30488
30489         getloadavg: don't define SVR4 on cygwin
30490         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30491         only define SVR4 when -lkvm is required.
30492         Reported by Yaakov Selkowitz.
30493
30494 2010-08-24  Bruno Haible  <bruno@clisp.org>
30495
30496         priv-set: fix comment
30497         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30498
30499 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30500
30501         priv-set: fix comments
30502         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30503         to match code, as suggested by David Bartley in:
30504         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30505
30506 2010-08-23  Eric Blake  <eblake@redhat.com>
30507
30508         stdbool: avoid rejecting clang
30509         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30510         * tests/test-stdbool.c: Enable more tests if using the system
30511         <stdbool.h> instead of the gnulib replacement.
30512         (main): Move xlc bug test to a runtime test for all compilers.
30513         Reported by Anders Kaseorg.
30514
30515         argz: fix shell quoting issue
30516         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30517         Reported by Charles Wilson.
30518
30519 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30520             Erik Faye-Lund <kusmabite@gmail.com>
30521
30522         poll, select: handle ERROR_BROKEN_PIPE.
30523         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30524         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30525         * lib/select.c (win32_compute_revents): Do not mark a pipe
30526         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30527
30528 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30529
30530         fts: allow compilation with C++
30531         * lib/fts_.h: Specify extern "C" linkage with C++.
30532
30533 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30534
30535         Fix gnulib-tool sed script de-commentation for AIX sed.
30536         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30537         sed.
30538
30539 2010-08-17  Eric Blake  <eblake@redhat.com>
30540
30541         test-stddef: test for (some) offsetof bugs
30542         * tests/test-stddef.c: Enhance test to ensure correct type of
30543         offsetof.
30544         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30545         that we are not fixing at this time.
30546
30547 2010-08-15  Bruno Haible  <bruno@clisp.org>
30548
30549         stpncpy: Allow stpncpy to be defined as a macro.
30550         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30551         if it's already correctly declared.
30552         * lib/string.in.h (stpncpy): Undefine before redefining.
30553         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30554
30555 2010-08-14  Bruno Haible  <bruno@clisp.org>
30556
30557         Rename module 'memxfrm' to 'amemxfrm'.
30558         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30559         (amemxfrm): Renamed from memxfrm.
30560         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30561         (amemxfrm): Renamed from memxfrm.
30562         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30563         * NEWS: Mention the change.
30564         * MODULES.html.sh (String handling <string.h>): Update.
30565         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30566         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30567         * lib/unicase/u16-casexfrm.c: Likewise.
30568         * lib/unicase/u32-casexfrm.c: Likewise.
30569         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30570         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30571         * lib/uninorm/u16-normxfrm.c: Likewise.
30572         * lib/uninorm/u32-normxfrm.c: Likewise.
30573         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30574         memxfrm.
30575         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30576         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30577         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30578         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30579         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30580         Suggested by Paul Eggert.
30581
30582 2010-08-14  Bruno Haible  <bruno@clisp.org>
30583
30584         Tests for module 'astrxfrm'.
30585         * modules/astrxfrm-tests: New file.
30586         * tests/test-astrxfrm.c: New file.
30587
30588         New module 'astrxfrm'.
30589         * lib/astrxfrm.h: New file.
30590         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30591         * modules/astrxfrm: New file.
30592
30593 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30594
30595         regex: Tweak doc.
30596         * doc/regex.texi (Overview): Don't mention regex.c.
30597         (GNU Regular Expression Compiling): Likewise.
30598         (Match-end-of-line Operator): Mention 'not_eol'.
30599
30600 2010-08-14  Brian Gough  <bjg@gnu.org>
30601             Bruno Haible  <bruno@clisp.org>
30602
30603         git-merge-changelog: add doc relating to use with bzr and hg.
30604         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30605
30606 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30607
30608         pthread: fix pthread.h creation for srcdir != builddir
30609         * modules/pthread (Makefile.am): Fix the rule to work also in a
30610         non-srcdir build.
30611
30612 2010-08-13  Karl Berry  <karl@gnu.org>
30613
30614         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30615         * doc/posix-*/*: force line break before @url of POSIX
30616         specifications.
30617         Suggested by Werner Lemberg.
30618
30619 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30620
30621         strtod: fix const diagnostic
30622         * lib/strtod.c (strtod): Don't assign const char * to char *,
30623         as this elicits a warning from GCC when warnings are enabled.
30624
30625 2010-08-10  Pádraig Brady <P@draigbrady.com>
30626         and Eric Blake  <eblake@redhat.com>
30627
30628         copy-acl: ignore ENOTSUP on HP-UX
30629         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30630         so that it is available for HP-UX.
30631         * lib/copy-acl.c (qcopy_acl): Use it.
30632         Reported by Patrick M. Callahan.
30633
30634 2010-08-10  Eric Blake  <eblake@redhat.com>
30635
30636         open, chown: relax license
30637         * modules/open (License): Change to LGPLv2+, with consent by all
30638         authors, for use in augeas.
30639         * modules/chown (License): Likewise.
30640         * modules/lchown (Likewise): Likewise.
30641         Requested by Adam Stokes.
30642
30643 2010-08-09  Karl Berry  <karl@gnu.org>
30644
30645         * build-aux/ar-lib: new file, import from Automake.
30646         * config/srclist.txt: autocheck for updates.
30647
30648 2010-08-09  Eric Blake  <eblake@redhat.com>
30649
30650         readlinkat: adjust client modules
30651         * modules/areadlinkat (Depends-on): Use readlinkat, not
30652         symlinkat.
30653         * modules/areadlinkat-with-size (Depends-on): Likewise.
30654
30655         mknod: be more vocal about danger of running tests as root
30656         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30657         root, since that is just asking for problems.
30658         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30659
30660         readlinkat: split into its own module
30661         * modules/symlinkat: Split readlinkat...
30662         * modules/readlinkat: ...into separate module.
30663         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30664         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30665         * lib/symlinkat.c (readlinkat): Move...
30666         * lib/readlinkat.c: ...into new file.
30667         * modules/symlinkat-tests: Split readlinkat test...
30668         * modules/readlinkat-tests: ...into separate module.
30669         * tests/test-symlinkat.c: Split...
30670         * tests/test-readlinkat.c: ...into new file.
30671         * NEWS: Document the split.
30672         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30673         * lib/unistd.in.h (readlinkat): Likewise.
30674         Suggested by Bruno Haible.
30675
30676 2010-08-08  Bruno Haible  <bruno@clisp.org>
30677
30678         memxfrm: Speed up.
30679         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30680         that usually only one call to strxfrm is necessary for each string
30681         part.
30682         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30683
30684 2010-08-07  Karl Berry  <karl@gnu.org>
30685
30686         * doc/posix-headers/limits.texi,
30687         * doc/posix-functions/malloc.texi,
30688         * doc/posix-functions/strsignal.texi: missing @item.
30689         * doc/ld-version-script.texi: spurious leading i.
30690         * doc/regex.texi (Interval Operators): no commas inside @var.
30691
30692 2010-08-01  Bruno Haible  <bruno@clisp.org>
30693
30694         Integrate the regex documentation.
30695         * doc/gnulib.texi: Define 'cn' index.
30696         (Regular expressions): New a chapter that includes regex.texi and
30697         regexprops-generic.texi.
30698         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30699         syntax.
30700
30701         Whitespace cleanup.
30702         * doc/regex.texi: Remove trailing spaces.
30703
30704         Add regex documentation.
30705         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30706         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30707         Written by Kathy A. Hargreaves and Karl Berry.
30708
30709 2010-08-01  Bruno Haible  <bruno@clisp.org>
30710
30711         link: Update documentation.
30712         * doc/posix-functions/link.texi: Update regarding Solaris.
30713
30714 2010-07-31  Bruno Haible  <bruno@clisp.org>
30715
30716         Update modules list.
30717         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30718         (String handling <string.h>): Add memcmp2, memxfrm.
30719         (Container data structures): Add xlist, xsublist, xoset.
30720         (Core language properties): Add alignof, unused-parameter.
30721         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30722         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30723         (Unibyte characters <ctype.h>): New section.
30724         (String handling <string.h>): New section.
30725         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30726         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30727         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30728         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30729         tan, tanh, tanl, y0, y1, yn.
30730         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30731         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30732         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30733         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30734         unlockpt, vdprintf, vdprintf-posix.
30735         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30736         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30737         xconcat-filename.
30738         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30739         getdtablesize, pipe2, pipe2-safer.
30740         (Security): New section.
30741         (Networking functions): Add accept4.
30742         (Signal handling): Add sigpipe.
30743         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30744         mbmemcasecoll.
30745         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30746         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30747         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30748         pipe-filter-ii.
30749         (Misc): Add argp-version-etc, login_tty, parse-duration.
30750
30751 2010-07-31  Bruno Haible  <bruno@clisp.org>
30752
30753         Improve doc in MODULES.html.
30754         * modules/linkat (Description): Add the word "function".
30755         * modules/mkfifo (Description): Likewise.
30756         * modules/mknod (Description): Likewise.
30757         * modules/remove (Description): Likewise.
30758         * modules/renameat (Description): Likewise.
30759         * modules/stat (Description): Likewise.
30760         * modules/symlink (Description): Likewise.
30761         * modules/unlink (Description): Likewise.
30762
30763 2010-07-31  Bruno Haible  <bruno@clisp.org>
30764
30765         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
30766         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
30767         option --enable/disable-c++ instead of --enable/disable-cxx.
30768         * NEWS: Mention the change.
30769
30770 2010-07-31  Bruno Haible  <bruno@clisp.org>
30771
30772         readlink, areadlink: Relax test a bit.
30773         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
30774         alternative to ENOTDIR.
30775         * tests/test-areadlink.h (test_areadlink): Likewise.
30776         Reported by Rainer Tammer.
30777
30778 2010-07-31  Bruno Haible  <bruno@clisp.org>
30779
30780         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
30781         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
30782         character, perform the search using U_STRCHR.
30783         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
30784         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
30785         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
30786         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
30787         Suggested by Paolo Bonzini.
30788
30789 2010-07-31  Bruno Haible  <bruno@clisp.org>
30790
30791         unistr/u*-strstr: Fix dependencies.
30792         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
30793         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
30794         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
30795
30796 2010-07-31  Bruno Haible  <bruno@clisp.org>
30797
30798         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
30799         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
30800         the beginning of the loop.
30801         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
30802         cases in 'switch' statement.
30803
30804         unistr/u8-strchr: Fix several bugs.
30805         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
30806         the string. When not found, return NULL, not a pointer near the end.
30807
30808         More tests for unistr/u8-strchr.
30809         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
30810         that the function does not read past the first occurrence of the byte
30811         being searched.
30812         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
30813         * tests/unistr/test-u16-strchr.c (main): New function.
30814         * tests/unistr/test-u32-strchr.c (main): New function.
30815
30816 2010-07-31  Bruno Haible  <bruno@clisp.org>
30817
30818         posix-modules: Ignore backup files of documentation files.
30819         * posix-modules: grep only through files named *.texi.
30820
30821 2010-07-31  Bruno Haible  <bruno@clisp.org>
30822
30823         symlinkat: Fix documentation.
30824         * doc/posix-functions/readlinkat.texi: Fix module name.
30825
30826 2010-07-31  Bruno Haible  <bruno@clisp.org>
30827
30828         fchownat: Replace also when chown has the trailing slash bug.
30829         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
30830         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
30831         introduced on 2010-04-10.
30832         Reported by Rainer Tammer.
30833
30834 2010-07-31  Bruno Haible  <bruno@clisp.org>
30835
30836         linkat: Work around AIX 7.1 bug.
30837         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
30838         whether linkat handles trailing slash correctly. If not, replace linkat
30839         and define LINKAT_TRAILING_SLASH_BUG.
30840         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
30841         check whether (fd1,file1) points to a directory if file1 or file2 ends
30842         in a slash. Code taken from lib/link.c.
30843         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
30844         Reported by Rainer Tammer.
30845
30846 2010-07-31  Bruno Haible  <bruno@clisp.org>
30847
30848         Correctly determine whether pow is available in libc on AIX 7 with xlc.
30849         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
30850         This disables an xlc optimization that was causing wrong test results.
30851         Reported by Rainer Tammer.
30852
30853 2010-07-31  Bruno Haible  <bruno@clisp.org>
30854
30855         iconv: Work around AIX 6.1..7.1 bug.
30856         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
30857         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
30858         cross-compiling, guess no on all versions of AIX.
30859         Reported by Rainer Tammer.
30860
30861 2010-07-31  Bruno Haible  <bruno@clisp.org>
30862
30863         readlink: Relax test a bit.
30864         * tests/test-readlink.h (test_readlink): Allow different errno value
30865         when readlink is called with a file name that ends in / and refers to
30866         a file.
30867         Suggested by Eric Blake.
30868         Reported by Rainer Tammer.
30869
30870 2010-07-31  Bruno Haible  <bruno@clisp.org>
30871
30872         copysign: Does not require -lm on glibc systems.
30873         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
30874         gl_COMMON_DOUBLE_MATHFUNC.
30875         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
30876
30877 2010-07-31  Bruno Haible  <bruno@clisp.org>
30878
30879         duplocale: Work around AIX 7.1 bug.
30880         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
30881         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
30882         * lib/duplocale.c (rpl_duplocale): Update comment.
30883         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
30884         Reported by Rainer Tammer.
30885
30886 2010-07-30  Bruno Haible  <bruno@clisp.org>
30887
30888         dirfd: Avoid link error on AIX 7.1.
30889         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
30890         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
30891         exist, set REPLACE_DIRFD.
30892         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
30893         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
30894         * doc/posix-functions/dirfd.texi: Update.
30895         Reported by Rainer Tammer.
30896
30897 2010-07-30  Eric Blake  <eblake@redhat.com>
30898
30899         strtod: next round of AIX fixes
30900         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
30901         exponent.
30902         * tests/test-strtod.c (main): Enhance tests.
30903         * doc/posix-functions/strtod.texi (strtod): Document next bug.
30904         Reported by Rainer Tammer.
30905
30906         futimens: fix configure check
30907         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
30908         Reported by Bruno Haible.
30909
30910 2010-07-30  Bruno Haible  <bruno@clisp.org>
30911
30912         getline: Update regarding AIX.
30913         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
30914         Reported by Rainer Tammer.
30915
30916 2010-07-30  Bruno Haible  <bruno@clisp.org>
30917
30918         wcwidth: Drop replacement on AIX 7.
30919         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
30920         AIX 7.
30921         Reported by Rainer Tammer.
30922
30923 2010-07-30  Bruno Haible  <bruno@clisp.org>
30924
30925         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
30926         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
30927         a 'char *'.
30928         Reported by Rainer Tammer.
30929
30930 2010-07-30  Bruno Haible  <bruno@clisp.org>
30931
30932         unlink: Update regarding AIX.
30933         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30934         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30935         Reported by Rainer Tammer.
30936
30937 2010-07-30  Bruno Haible  <bruno@clisp.org>
30938
30939         symlink: Update regarding AIX.
30940         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
30941         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
30942         Reported by Rainer Tammer.
30943
30944 2010-07-30  Bruno Haible  <bruno@clisp.org>
30945
30946         strndup: Update regarding AIX.
30947         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
30948         AIX 7.
30949         Reported by Rainer Tammer.
30950
30951 2010-07-30  Bruno Haible  <bruno@clisp.org>
30952
30953         stat: Update regarding AIX.
30954         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
30955         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
30956         Reported by Rainer Tammer.
30957
30958 2010-07-30  Bruno Haible  <bruno@clisp.org>
30959
30960         truncl: Fix autoconf test.
30961         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
30962         whether truncl works.
30963         Reported by Rainer Tammer.
30964
30965 2010-07-30  Bruno Haible  <bruno@clisp.org>
30966
30967         round: Update regarding AIX.
30968         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
30969         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
30970         Reported by Rainer Tammer.
30971
30972 2010-07-30  Bruno Haible  <bruno@clisp.org>
30973
30974         rename: Update regarding AIX.
30975         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
30976         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
30977         Reported by Rainer Tammer.
30978
30979 2010-07-30  Bruno Haible  <bruno@clisp.org>
30980
30981         printf.m4: Update regarding AIX.
30982         * m4/printf.m4: Update comments regarding AIX.
30983         Reported by Rainer Tammer.
30984
30985 2010-07-30  Bruno Haible  <bruno@clisp.org>
30986
30987         iconv: Update regarding AIX.
30988         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
30989         AIX 7.
30990         Reported by Rainer Tammer.
30991
30992 2010-07-30  Bruno Haible  <bruno@clisp.org>
30993
30994         getopt: Update regarding AIX.
30995         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
30996         no on AIX.
30997         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
30998         Reported by Rainer Tammer.
30999
31000 2010-07-30  Bruno Haible  <bruno@clisp.org>
31001
31002         ldexpl; Update regarding AIX.
31003         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31004         on AIX 7.
31005         Reported by Rainer Tammer.
31006
31007 2010-07-30  Bruno Haible  <bruno@clisp.org>
31008
31009         frexpl: Update regarding AIX.
31010         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31011         on AIX 7.
31012         Reported by Rainer Tammer.
31013
31014 2010-07-30  Bruno Haible  <bruno@clisp.org>
31015
31016         open, fopen: Update regarding AIX.
31017         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31018         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31019         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31020         * doc/posix-functions/fopen.texi: Likewise.
31021         Reported by Rainer Tammer.
31022
31023 2010-07-30  Bruno Haible  <bruno@clisp.org>
31024
31025         chown: Update doc regarding AIX.
31026         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31027         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31028         Reported by Rainer Tammer.
31029
31030 2010-07-30  Eric Blake  <eblake@redhat.com>
31031
31032         strtod: fix bug in replacement function on AIX
31033         * lib/strtod.c (strtod): Special case broken "0x" parse in
31034         underlying strtod.
31035         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31036         * doc/posix-functions/strtod.texi (strtod): Likewise.
31037         Reported by Rainer Tammer.
31038
31039 2010-07-30  Bruno Haible  <bruno@clisp.org>
31040
31041         mbrlen: Fix cross-compilation guess for AIX.
31042         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31043         guess. Leftover from 2008-12-22.
31044
31045 2010-07-30  Bruno Haible  <bruno@clisp.org>
31046
31047         mbrtowc: Fix cross-compilation guess for AIX.
31048         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31049         guess. Leftover from 2008-12-21.
31050
31051 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31052
31053         init.sh: work around trap limitation of some shells
31054         * tests/init.sh (setup_): Move exit trap outside of shell function.
31055
31056 2010-07-29  Eric Blake  <eblake@redhat.com>
31057
31058         strtod: aid debugging
31059         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31060         understanding why strtod is rejected.
31061
31062 2010-07-28  Bruno Haible  <bruno@clisp.org>
31063
31064         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31065         * lib/unistr/u8-chr.c: Include <string.h>.
31066         * tests/unistr/test-u8-chr.c: Likewise.
31067         * tests/unistr/test-u16-chr.c: Likewise.
31068         * tests/unistr/test-u32-chr.c: Likewise.
31069         * tests/unistr/test-u8-strchr.c: Likewise.
31070         * tests/unistr/test-u16-strchr.c: Likewise.
31071         * tests/unistr/test-u32-strchr.c: Likewise.
31072         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31073         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31074         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31075         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31076
31077 2010-07-28  Bruno Haible  <bruno@clisp.org>
31078
31079         Use spaces for indentation, not tabs.
31080         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31081
31082 2010-07-27  Bruno Haible  <bruno@clisp.org>
31083
31084         mbspcasecmp: Fix function specification.
31085         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31086         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31087         Reported by Eric Blake <eblake@redhat.com>.
31088
31089 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31090
31091         timespec: use cast and not conditional, as truncation isn't possible
31092         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31093         instead of a conditional.  Comment about the situation in more detail.
31094         This undoes most of the 2009-10-29 patch.
31095
31096 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31097
31098         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31099         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31100         * lib/unistr/u8-strchr.c: Likewise.
31101         * modules/unistr/u8-chr: Depend on memchr.
31102
31103         unistr/u*-strchr: add tests
31104         * modules/unistr/u8-strchr-tests: New file.
31105         * modules/unistr/u16-strchr-tests: New file.
31106         * modules/unistr/u32-strchr-tests: New file.
31107         * tests/unistr/test-strchr.h: New file.
31108         * tests/unistr/test-u8-strchr.c: New file.
31109         * tests/unistr/test-u16-strchr.c: New file.
31110         * tests/unistr/test-u32-strchr.c: New file.
31111
31112         unistr/u*-chr: test multibyte sequences more
31113         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31114         test vector.
31115         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31116         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31117         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31118
31119         unistr/u*-chr: test multibyte sequences
31120         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31121
31122         unistr/u*-chr: prepare for multibyte tests
31123         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31124         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31125         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31126         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31127         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31128         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31129
31130 2010-07-18  Bruno Haible  <bruno@clisp.org>
31131
31132         unistr/u8-strchr: Optimize non-ASCII argument case.
31133         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31134         because the first byte often matches anyway.
31135         Reported by Pádraig Brady <P@draigbrady.com>.
31136
31137 2010-07-15  Karl Berry  <karl@gnu.org>
31138
31139         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31140
31141 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31142
31143         getcwd: on Solaris, work better if ancestors are inaccessible
31144         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31145         buffer and size, try again with a large buffer.  This works better
31146         on Solaris, since its getcwd succeeds even if the path to the root
31147         is inaccessible, and this is helpful in common cases such as .zfs
31148         hidden directories.  Problem reported by J Chapman Flack in
31149         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31150         Use system getcwd if it's declared, not merely if it's partly
31151         working; use the partly-working test only to avoid needless effort
31152         if the system getcwd fails.
31153         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31154         comment that was already obsolete and is now even more obsolete.
31155         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31156         now might call strdup.
31157
31158 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31159
31160         pthread: Add enough so that coreutils/src/sort.c compiles.
31161         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31162         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31163         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31164         Include <sys/types.h>, in case it defines pthread_t.
31165         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31166         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31167         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31168         (pthread_rwlockattr_t, pthread_spinlock_t):
31169         New typedefs, if HAVE_PTHREAD_T is not defined.
31170         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31171         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31172         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31173         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31174         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31175         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31176         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31177         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31178         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31179         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31180         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31181         New macros.
31182         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31183         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31184         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31185         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31186         (pthread_spin_unlock): New dummy functions.
31187         (pthread_create): Return EAGAIN; don't set errno.
31188         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31189         require AC_C_INLINE.
31190         * modules/pthread (Depends-on): Add sched, time.
31191         (pthread.h): Use AM_V_GEN.
31192
31193 2010-07-13  Bruno Haible  <bruno@clisp.org>
31194
31195         striconveh: Don't malloc memory if the result buffer is sufficient.
31196         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31197         buffer if its size is sufficient.
31198         Reported by Ludovic Courtès <ludo@gnu.org>.
31199
31200 2010-07-13  Bruno Haible  <bruno@clisp.org>
31201
31202         strtod: Add safety check.
31203         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31204
31205 2010-07-12  Bruno Haible  <bruno@clisp.org>
31206
31207         Unify tests that set gl_cv_func_ldexpl_no_libm.
31208         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31209         gl_FUNC_LDEXPL.
31210         (gl_FUNC_LDEXPL): Invoke it.
31211         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31212
31213 2010-07-12  Bruno Haible  <bruno@clisp.org>
31214
31215         Unify tests that set gl_cv_func_ldexp_no_libm.
31216         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31217         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31218         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31219         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31220         * modules/strtod (Files): Add m4/ldexp.m4.
31221
31222 2010-07-12  Bruno Haible  <bruno@clisp.org>
31223
31224         Unify tests that set gl_cv_func_frexpl_no_libm.
31225         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31226         gl_FUNC_FREXPL_NO_LIBM.
31227         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31228         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31229
31230 2010-07-12  Bruno Haible  <bruno@clisp.org>
31231
31232         Unify tests that set gl_cv_func_frexp_no_libm.
31233         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31234         gl_FUNC_FREXP_NO_LIBM.
31235         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31236         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31237
31238 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31239
31240         memcoll: clarify sizes versus lengths, document better, and tweak perf
31241         * lib/memcoll.c (strcoll_loop, memcoll0):
31242         Improve quality of descriptive comments.  Name variables
31243         consistently as to whether they are lengths (which do not include
31244         terminating null) versus sizes (which do).
31245         * lib/xmemcoll.c (xmemcoll0): Likewise.
31246         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31247         returned when s1size == 0; this is easier to compile and saves
31248         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31249
31250 2010-07-12  Bruno Haible  <bruno@clisp.org>
31251
31252         Tests for module '_Exit'.
31253         * modules/_Exit-tests: New file.
31254         * tests/test-_Exit.sh: New file.
31255         * tests/test-_Exit.c: New file.
31256
31257         New module '_Exit'.
31258         * lib/stdlib.in.h (__attribute__): New macro.
31259         (_Exit): New declaration.
31260         * lib/_Exit.c: New file.
31261         * m4/_Exit.m4: New file.
31262         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31263         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31264         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31265         * modules/_Exit: New file.
31266         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31267         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31268
31269 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31270
31271         strtod: make it more-accurate typically, and don't require libm
31272         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31273         Include limits.h.  Don't include string.h.
31274         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31275         (locale_isspace): New function, so that no casts are needed to
31276         check whether *s is a space.
31277         (ldexp): Provide an unused dummy if not available.
31278         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31279         (strtod): Use them.  This implementation prefers to use the
31280         underlying strtod if available, falling back on our own code
31281         only to fix known bugs.  This is more likely to produce an
31282         accurate result.  Also, it avoids the use of libm functions.
31283         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31284         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31285         was absent, but it caused a test failure with coreutils.
31286         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31287         with libm.
31288         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31289         * modules/strtod-tests (Makefile.am): Likewise.
31290
31291 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31292             Bruno Haible  <bruno@clisp.org>
31293
31294         unistr/u8-strchr: Optimize ASCII argument case.
31295         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31296
31297 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31298
31299         (x)memcoll: minor tweaks
31300         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31301         is after the type that it qualifies.
31302         (memcoll0): Likewise.
31303         * lib/memcoll.h (memcoll0): Likewise.
31304         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31305         * lib/xmemcoll.h (xmemcoll0): Likewise.
31306         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31307         differs from memcoll in that the NUL byte is part of the argument.
31308         Omit the abort-checks, as performance is a real issue here.  Plus,
31309         the checks were wrong anyway (an off-by-one error).  Omit local
31310         variable 'diff', as it's a bit clearer that way.
31311         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31312         no longer needed.
31313
31314 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31315
31316         (x)memcoll: speedup when input is known to be NUL delimited
31317         * lib/memcoll.c: Include stdlib.
31318         (memcoll0): New function.
31319         (strcoll_loop): New function, refactored for use in both memcoll
31320         and memcoll0.
31321         * lib/memcoll.h (memcoll0): Add prototype.
31322         * lib/xmemcoll.c (xmemcoll0): New function.
31323         (collate_error): New function, refactored for use in both xmemcoll
31324         and xmemcoll0.
31325         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31326         * m4/memcoll.m4: add inline invocation.
31327
31328 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31329
31330         * build-aux/bootstrap: Remove any local translations
31331         from the translation project synchronization directory,
31332         so that local only translations are not distributed.
31333
31334 2010-07-04  Bruno Haible  <bruno@clisp.org>
31335
31336         fsusage: Clarify which code applies to which platforms.
31337         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31338         platform.
31339         * lib/fsusage.c (get_fs_usage): Likewise.
31340
31341 2010-07-04  Bruno Haible  <bruno@clisp.org>
31342
31343         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31344         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31345         Reported by Martin Lambers <marlam@marlam.de>.
31346
31347 2010-07-04  Jim Meyering  <meyering@redhat.com>
31348
31349         hash: once again explicitly disallow insertion of NULL
31350         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31351         inserting a NULL pointer cannot work with these functions.
31352         Add a comment with details.
31353         This reverts part of the 2010-07-01 commit, 5bef1a35
31354         "hash: extend module to deal with non-pointer keys".
31355
31356 2010-07-01  Bruno Haible  <bruno@clisp.org>
31357
31358         stdbool: Update doc.
31359         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31360         Info from Christian Weisgerber <naddy@mips.inka.de>.
31361
31362 2010-07-01  Jim Meyering  <meyering@redhat.com>
31363
31364         hash: extend module to deal with non-pointer keys
31365         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31366         but that allows insertion of non-pointer entries.
31367         Do not disallow an ENTRY value of NULL.
31368         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31369         * lib/hash.h (hash_insert0): Declare.
31370
31371 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31372
31373         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31374         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31375         not present (i.e. with autoconf 2.59 and when using gettextize, not
31376         gnulib), require AC_GNU_SOURCE instead.
31377
31378 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31379
31380         idpriv-drop: Fix tests.
31381         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31382         not to the test-idpriv-droptemp program.
31383
31384 2010-06-29  Bruno Haible  <bruno@clisp.org>
31385
31386         string: Fix syntax error with g++ 2.96.
31387         * lib/string.in.h (__pure__): Remove definition.
31388         (_GL_ATTRIBUTE_PURE): New macro.
31389         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31390         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31391         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31392
31393 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31394
31395         unitypes: Fix bug introduced on 2010-05-18.
31396         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31397
31398 2010-06-22  Eric Blake  <eblake@redhat.com>
31399
31400         memmem: slight optimization
31401         * lib/str-two-way.h (critical_factorization): Update comments.
31402         Reduce work during factorization phase.
31403         Reported by Carlos Bueno <carlos@bueno.org>.
31404
31405 2010-06-21  Bruno Haible  <bruno@clisp.org>
31406
31407         Fix HAVE_CALLOC_POSIX misnomer.
31408         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31409         !HAVE_CALLOC_POSIX.
31410         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31411         HAVE_CALLOC_POSIX.
31412         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31413         instead of HAVE_CALLOC_POSIX.
31414         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31415         HAVE_CALLOC_POSIX.
31416
31417         Use modern idiom for calloc() replacement.
31418         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31419         AC_FUNC_CALLOC.
31420         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31421         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31422         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31423         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31424         (gl_REPLACE_CALLOC): New macro.
31425
31426 2010-06-21  Bruno Haible  <bruno@clisp.org>
31427
31428         Fix HAVE_REALLOC_POSIX misnomer.
31429         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31430         !HAVE_REALLOC_POSIX.
31431         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31432         HAVE_REALLOC_POSIX.
31433         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31434         instead of HAVE_REALLOC_POSIX.
31435         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31436         HAVE_REALLOC_POSIX.
31437
31438         Use modern idiom for realloc() replacement.
31439         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31440         AC_FUNC_REALLOC.
31441         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31442         Autoconf's AC_FUNC_REALLOC.
31443         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31444         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31445         (gl_REPLACE_REALLOC): New macro.
31446         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31447
31448 2010-06-21  Bruno Haible  <bruno@clisp.org>
31449
31450         Fix HAVE_MALLOC_POSIX misnomer.
31451         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31452         !HAVE_MALLOC_POSIX.
31453         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31454         HAVE_MALLOC_POSIX.
31455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31456         instead of HAVE_MALLOC_POSIX.
31457         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31458         HAVE_MALLOC_POSIX.
31459
31460         Use modern idiom for malloc() replacement.
31461         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31462         AC_FUNC_MALLOC.
31463         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31464         Autoconf's AC_FUNC_MALLOC.
31465         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31466         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31467         (gl_REPLACE_MALLOC): New macro.
31468         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31469
31470 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31471
31472         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31473         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31474         This macro takes 3 arguments, not 4.
31475
31476 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31477
31478         ipv6: fix detection under mingw
31479         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31480         in6_addr.
31481
31482 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31483
31484         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31485         that strtod() works when cross-compiling to a glibc version known
31486         to work.
31487
31488 2010-06-15  Bruno Haible  <bruno@clisp.org>
31489
31490         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31491
31492 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31493
31494         select: Correct timeout.
31495         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31496
31497 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31498
31499         git-version-gen: init shell var to avoid env var influence
31500         * build-aux/git-version-gen (v): Init shell var to empty.
31501
31502 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31503
31504         priv-set: Don't assume that priv.h exists merely because getppriv does.
31505         See Jan Andersen's bug report about AIX 5L in
31506         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31507         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31508         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31509         * lib/priv-set.h: Likewise.
31510         * tests/test-priv-set.c: Likewise.
31511
31512 2010-06-13  Bruno Haible  <bruno@clisp.org>
31513
31514         relocatable: Make it easier to test whether to install wrappers.
31515         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31516         RELOCATABLE_VIA_WRAPPER.
31517
31518 2010-06-13  Bruno Haible  <bruno@clisp.org>
31519
31520         gnulib-tool: Display specified modules and dependencies differently.
31521         * gnulib-tool (func_show_module_list): New function.
31522         (func_import, func_create_testdir): Invoke it.
31523         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31524
31525 2010-06-13  Bruno Haible  <bruno@clisp.org>
31526
31527         gnulib-tool: Align code of func_import and func_create_testdir.
31528         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31529         specified_modules.
31530
31531 2010-06-12  Jim Meyering  <meyering@redhat.com>
31532
31533         test-inttostr: avoid spurious failure on Solaris 9
31534         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31535         to accept "%ju".  Reported by Bruno Haible.
31536
31537 2010-06-11  Jim Meyering  <meyering@redhat.com>
31538
31539         test-sys_socket: mark variables as used more readably
31540         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31541         as "used" explicitly via (void) statement casts.  This is more
31542         readable than using them in an artificial return expression.
31543         Suggestion from Bruno Haible.
31544
31545 2010-06-11  Bruno Haible  <bruno@clisp.org>
31546
31547         Avoid some more warnings from "gcc -Wwrite-strings".
31548         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31549         to 'const char *'.
31550         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31551         * tests/test-c-strcasestr.c (main): Likewise.
31552         * tests/test-mbscasestr1.c (main): Likewise.
31553         * tests/test-mbscasestr2.c (main): Likewise.
31554         * tests/test-memmem.c (main): Likewise.
31555         * tests/test-strstr.c (main): Likewise.
31556         * tests/test-strcasestr.c (main): Likewise.
31557
31558 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31559
31560         init.sh: change framework_failure_ to fail with status 99, not 1
31561         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31562         automake's parallel-tests rule that this is an unexpected failure,
31563         even if the test is listed in XFAIL_TESTS.
31564
31565 2010-06-11  Jim Meyering  <meyering@redhat.com>
31566
31567         test-inttostr: avoid warnings about 4-6KB literal strings
31568         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31569         Include "macros.h", for its definition of ASSERT.
31570         (CK): s/assert/ASSERT/
31571         * modules/inttostr-tests (Files): Add macros.h.
31572
31573         init.sh: don't use $ME_ or skip_ before they are defined
31574         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31575         their first uses.  Also hoist their companions: warn_, fail_,
31576         framework_failure_, $stderr_fileno.  Prompted by a patch from
31577         Stefano Lattarini.
31578
31579         test-sys_socket: avoid set-but-not-used warnings from gcc
31580         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31581         avoid warning about set-but-not-used variables.
31582
31583         test-xvasprintf: avoid 'const' discard warnings
31584         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31585         "const" when assigning from literal strings.
31586         (test_xasprintf): Add "void" in function argument list to placate
31587         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31588
31589         tests: avoid compilation warnings in argmatch and exclude tests...
31590         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31591         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31592         Since it always exits, declare with the "noreturn" attribute.
31593         * tests/test-argmatch.c: Likewise.
31594
31595         tests: avoid 'const' discard warnings in mbsstr tests
31596         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31597         * tests/test-mbsstr2.c (main): Likewise.
31598
31599         test-verify: avoid warning from gcc's -Wmissing-declarations
31600         * tests/test-verify.c (function): Declare to be static.
31601
31602         test-inttostr.c: include <string.h> for use of strcmp
31603         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31604
31605         test-linkat: avoid failed assertion on "other" architectures
31606         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31607         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31608         sparc: https://bugs.launchpad.net/bugs/591968
31609
31610 2010-06-11  Jim Meyering  <meyering@redhat.com>
31611
31612         printf.m4: avoid autoconf's "Expanded Before Required" warning
31613         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31614         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31615         autoconf warning.
31616
31617 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31618
31619         Replacement header templates are now named with ".in", not "_".
31620         * doc/gnulib-intro.texi: Correct.
31621
31622 2010-06-10  Jim Meyering  <meyering@redhat.com>
31623
31624         inttostr-tests: depend on snprintf, not snprintf-posix
31625         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31626         snprintf-posix, to avoid this aclocal failure:
31627           missing file gnulib-tests/vasnprintf.c
31628           configure.ac:45: error: expected source file, required through \
31629           AC_LIBSOURCES, not found
31630
31631 2010-06-10  Jim Meyering  <meyering@redhat.com>
31632
31633         inttostr: add a new function, inttostr, and tests
31634         The namesake function was not available.  The existence of the
31635         template file, inttostr.c makes its addition nontrivial.
31636         * lib/anytostr.c: Rename from inttostr.c.
31637         (anytostr): Rename from inttostr.
31638         * lib/inttostr.c: New file.
31639         * modules/inttostr (Files): Add anytostr.c.
31640         (Makefile.am): Set lib_SOURCES instead of ...
31641         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31642         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31643         * lib/offtostr.c: Likewise.
31644         * lib/uinttostr.c: Likewise.
31645         * lib/umaxtostr.c: Likewise.
31646         * modules/inttostr-tests: New file.
31647         * tests/test-inttostr.c: New file.  Test these functions.
31648
31649 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31650             Bruno Haible  <bruno@clisp.org>
31651
31652         Add "Extending Gnulib" chapter to manual.
31653         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31654         chapter.
31655         (Extending Gnulib): New chapter.
31656         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31657         chapter.
31658
31659 2010-06-09  Bruno Haible  <bruno@clisp.org>
31660
31661         Avoid relocwrapper link errors due to gnulib replacement functions.
31662         * lib/areadlink.c: Use the system's malloc, realloc functions.
31663         (areadlink): Set errno to ENOMEM explicitly.
31664         * modules/areadlink (Depends-on): Remove malloc-posix.
31665         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31666
31667 2010-06-09  Bruno Haible  <bruno@clisp.org>
31668
31669         Avoid relocwrapper link errors due to gnulib replacement functions.
31670         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31671         * lib/malloca.c: Likewise.
31672         * lib/relocatable.c: Likewise.
31673         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31674         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31675         * lib/setenv.c: Use the system's malloc, realloc functions.
31676         * lib/strerror.c: Use the system's sprintf function.
31677         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31678
31679 2010-06-04  Bruno Haible  <bruno@clisp.org>
31680
31681         Prefer documented low-level autoconf macro names.
31682         * m4/lib-link.m4: Use m4_translit instead of translit.
31683         * m4/environ.m4: Likewise.
31684         * m4/mathfunc.m4: Likewise.
31685         * m4/onceonly.m4: Likewise.
31686         * m4/stdint.m4: Likewise.
31687         Suggested by Eric Blake.
31688
31689 2010-06-04  Martin Lambers  <marlam@marlam.de>
31690             Bruno Haible  <bruno@clisp.org>
31691
31692         havelib: Allow library names with '+' characters.
31693         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31694         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31695
31696 2010-06-09  Bruno Haible  <bruno@clisp.org>
31697
31698         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31699         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31700         realloc failed.
31701
31702 2010-06-08  Peter Simons  <simons@cryp.to>
31703
31704         maint.mk: make the news-check rule more configurable
31705         * top/maint.mk (news-check-lines-spec): New variable.
31706         (news-check): Use "sed -n 1,10p" in place of "head".
31707
31708 2010-06-07  Jim Meyering  <meyering@redhat.com>
31709
31710         do-release-commit-and-tag: fix typo in --help
31711         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31712
31713         regex: avoid new dead-code warning with gcc-4.6.0
31714         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31715         if-block containing a while-loop.  It's been unused for at least
31716         5 years.
31717
31718 2010-06-05  Bruno Haible  <bruno@clisp.org>
31719
31720         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31721         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31722
31723 2010-06-04  Bruno Haible  <bruno@clisp.org>
31724
31725         Update to GNU gettext 0.18.1.
31726         * modules/gettext (configure.ac): Require gettext infrastructure from
31727         version 0.18.1.
31728
31729 2010-06-03  Bruno Haible  <bruno@clisp.org>
31730
31731         Don't use AC_LIBOBJ with file names in subdirectories.
31732         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31733         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31734         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31735         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31736         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31737         gl_LIBUNISTRING_LIBSOURCE.
31738         (Makefile.am): Augment lib_SOURCES here, conditionally.
31739         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31740
31741 2010-06-03  Bruno Haible  <bruno@clisp.org>
31742
31743         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31744         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31745         expansion does not end with a newline.
31746         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31747         unnecessary newline.
31748
31749 2010-06-03  Bruno Haible  <bruno@clisp.org>
31750
31751         Reduce dependencies.
31752         * tests/test-quotearg.h: New file, extracted from
31753         tests/test-quotearg.c.
31754         * tests/test-quotearg-simple.c: New file, extracted from
31755         tests/test-quotearg.c.
31756         * tests/test-quotearg.c: Don't include <ctype.h>.
31757         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31758         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31759         use_quote_double_quotes, use_quotearg_colon): Moved to
31760         tests/test-quotearg.h.
31761         (results_g, flag_results, custom_quotes, custom_results): Moved
31762         to tests/test-quotearg-simple.c.
31763         (main): Moved the part that does not depend on gettext to
31764         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31765         performed.
31766         * modules/quotearg-simple: New file.
31767         * modules/quotearg-simple-tests: New file.
31768         * modules/quotearg (Depends-on): Add quotearg-simple.
31769         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
31770         (Files): Add tests/test-quotearg.h.
31771         Reported by Paolo Bonzini.
31772
31773 2010-06-03  Bruno Haible  <bruno@clisp.org>
31774
31775         Reduce dependencies.
31776         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
31777
31778 2010-06-03  Bruno Haible  <bruno@clisp.org>
31779
31780         time: Undefine more broken macros.
31781         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
31782         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
31783         Reported by Eric Blake.
31784
31785 2010-06-03  Bruno Haible  <bruno@clisp.org>
31786
31787         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
31788         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
31789         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
31790         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
31791         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
31792         Reported by Ludovic Courtès <ludo@gnu.org>.
31793
31794 2010-06-02  Eric Blake  <eblake@redhat.com>
31795
31796         time: work with mingw + pthreads-win32 library
31797         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
31798         if timespec is defined only in pthread.h.
31799         * modules/time (Makefile.am): Substitute it.
31800         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
31801         <pthread.h>, when needed.
31802         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
31803         from the library.
31804
31805 2010-05-31  Bruno Haible  <bruno@clisp.org>
31806
31807         Avoid expanding two macros in the wrong order.
31808         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
31809         gl_LIBUNISTRING if it is defined.
31810         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
31811         autoconf >= 2.64.
31812         Reported by Ludovic Courtès <ludo@gnu.org>.
31813
31814 2010-05-27  Jim Meyering  <meyering@redhat.com>
31815
31816         maint.mk: also prohibit "#undef" of always-defined symbols
31817         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
31818         Allow more than one space before the symbol name.
31819         (sc_prohibit_always-defined_macros): Use grep's -E, now that
31820         the regexp uses alternation.
31821
31822 2010-05-26  Eric Blake  <eblake@redhat.com>
31823
31824         maint.mk: avoid echo -e
31825         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
31826         Convert all uses of echo -* to printf.
31827         Reported by Matthias Bolte.
31828
31829 2010-05-25  Bruno Haible  <bruno@clisp.org>
31830
31831         Update to GNU gettext 0.18, part 2.
31832         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
31833         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
31834
31835 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31836
31837         Add missing include in test-pwrite.c.
31838         * tests/test-pwrite.c: Include string.h, for strcmp.
31839
31840 2010-05-24  Bruno Haible  <bruno@clisp.org>
31841
31842         * NEWS: Mention requirement for Automake option 'subdir-objects'.
31843
31844 2010-05-24  Bruno Haible  <bruno@clisp.org>
31845
31846         Don't use conversion with transliteration in u{8,16,32}_strcoll.
31847         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
31848         iconveh_error argument.
31849         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
31850         U_STRCONV_TO_LOCALE.
31851         * lib/unistr/u16-strcoll.c: Likewise.
31852         * lib/unistr/u32-strcoll.c: Likewise.
31853         * modules/unistr/u8-strcoll (Depends-on): Add
31854         uniconv/u8-strconv-to-enc, localcharset. Remove
31855         uniconv/u8-strconv-to-locale.
31856         (configure.ac): Bump version number.
31857         * modules/unistr/u16-strcoll (Depends-on): Add
31858         uniconv/u16-strconv-to-enc, localcharset. Remove
31859         uniconv/u16-strconv-to-locale.
31860         (configure.ac): Bump version number.
31861         * modules/unistr/u32-strcoll (Depends-on): Add
31862         uniconv/u32-strconv-to-enc, localcharset. Remove
31863         uniconv/u32-strconv-to-locale.
31864         (configure.ac): Bump version number.
31865
31866 2010-05-24  Bruno Haible  <bruno@clisp.org>
31867
31868         Avoid a test failure on NetBSD 5.0.
31869         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
31870         an iconv() bug.
31871
31872 2010-05-24  Bruno Haible  <bruno@clisp.org>
31873
31874         Adjust #include directive style.
31875         * modules/regex (Includes): Recommend to write <regex.h>.
31876
31877 2010-05-24  Bruno Haible  <bruno@clisp.org>
31878
31879         regex: Don't require alloca.
31880         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
31881         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
31882         only inside if (0).
31883
31884 2010-05-23  Jim Meyering  <meyering@redhat.com>
31885
31886         test-renameat.c: include <sys/stat.h>
31887         * tests/test-renameat.c: Include <sys/stat.h>; required for
31888         definition of S_IS* macros.
31889
31890 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
31891
31892         Update maintainer documentation for 'relocatable-prog' module.
31893         * doc/relocatable-maint.texi: Update.
31894         Comments by Bruno Haible.
31895
31896 2010-05-23  Bruno Haible  <bruno@clisp.org>
31897
31898         git-merge-changelog: Enable --split-merged-entry by default.
31899         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
31900         (usage): Don't mention this option any more.
31901         Reported by Ralf Wildenhues.
31902
31903 2010-05-23  Jim Meyering  <meyering@redhat.com>
31904
31905         test-pwrite: do not leave behind a test file named "out"
31906         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
31907         The trivial-looking use of init.sh is really necessary.
31908         It ensures that the temporary file, "out", is created in
31909         a temporary directory, and removed upon termination.
31910         * tests/test-pwrite.sh: Re-add file.
31911         * modules/pwrite-tests: Reference it.
31912
31913 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31914
31915         Fix output redirection buglet in init.sh.
31916         * tests/init.sh: Fix redirection of stderr.
31917
31918 2010-05-20  Simon Josefsson  <simon@josefsson.org>
31919
31920         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
31921
31922 2010-05-17  Simon Josefsson  <simon@josefsson.org>
31923
31924         * modules/valgrind-tests: New file.
31925         * m4/valgrind-tests.m4: New file.
31926         * doc/valgrind-tests.texi: New file.
31927         * doc/gnulib.texi (Running self-tests under valgrind): New
31928         section.
31929
31930 2010-05-19  Bruno Haible  <bruno@clisp.org>
31931
31932         Clean up dead code in recent commit.
31933         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31934         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31935         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31936         Suggested by Paolo Bonzini.
31937
31938 2010-05-19  Bruno Haible  <bruno@clisp.org>
31939
31940         Avoid valgrind error reports from libunistring.
31941         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
31942         * modules/libunistring (Files): Add it.
31943         * modules/libunistring-optional (Files): Likewise.
31944
31945 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
31946             Bruno Haible  <bruno@clisp.org>
31947
31948         New module 'libunistring-optional'.
31949         * modules/libunistring-optional: New file.
31950         * m4/libunistring-base.m4: New file.
31951         * m4/libunistring-optional.m4: New file.
31952         * lib/unicase.in.h: Renamed from lib/unicase.h.
31953         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
31954         * lib/unictype.in.h: Renamed from lib/unictype.h.
31955         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
31956         * lib/uniname.in.h: Renamed from lib/uniname.h.
31957         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
31958         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
31959         * lib/unistr.in.h: Renamed from lib/unistr.h.
31960         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
31961         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
31962         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
31963         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
31964         gl_LIBUNISTRING. If the library was found, determine the installed
31965         version and set LIBUNISTRING_VERSION.
31966         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
31967         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
31968         handle a configuration option --with-included-libunistring.
31969         * modules/libunistring (Files): Add m4/absolute-header.m4.
31970         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
31971         Add m4/libunistring-base.m4.
31972         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31973         (Makefile.am): Build unicase.h from unicase.in.h.
31974         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
31975         Add m4/libunistring-base.m4.
31976         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31977         (Makefile.am): Build uniconv.h from uniconv.in.h.
31978         * modules/unictype/base (Files): Use unictype.in.h instead of
31979         unictype.h. Add m4/libunistring-base.m4.
31980         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31981         (Makefile.am): Build unictype.h from unictype.in.h.
31982         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
31983         Add m4/libunistring-base.m4.
31984         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31985         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
31986         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
31987         Add m4/libunistring-base.m4.
31988         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31989         (Makefile.am): Build uniname.h from uniname.in.h.
31990         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
31991         Add m4/libunistring-base.m4.
31992         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31993         (Makefile.am): Build uninorm.h from uninorm.in.h.
31994         * modules/unistdio/base (Files): Use unistdio.in.h instead of
31995         unistdio.h. Add m4/libunistring-base.m4.
31996         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31997         (Makefile.am): Build unistdio.h from unistdio.in.h.
31998         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
31999         Add m4/libunistring-base.m4.
32000         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32001         (Makefile.am): Build unistr.h from unistr.in.h.
32002         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32003         Add m4/libunistring-base.m4.
32004         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32005         (Makefile.am): Build unitypes.h from unitypes.in.h.
32006         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32007         Add m4/libunistring-base.m4.
32008         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32009         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32010         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32011         uniwidth.h. Add m4/libunistring-base.m4.
32012         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32013         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32014         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32015         instead of augmenting lib_SOURCES.
32016         * modules/unicase/empty-suffix-context: Likewise.
32017         * modules/unicase/locale-language: Likewise.
32018         * modules/unicase/tolower: Likewise.
32019         * modules/unicase/totitle: Likewise.
32020         * modules/unicase/toupper: Likewise.
32021         * modules/unicase/u8-casecmp: Likewise.
32022         * modules/unicase/u8-casecoll: Likewise.
32023         * modules/unicase/u8-casefold: Likewise.
32024         * modules/unicase/u8-casexfrm: Likewise.
32025         * modules/unicase/u8-ct-casefold: Likewise.
32026         * modules/unicase/u8-ct-tolower: Likewise.
32027         * modules/unicase/u8-ct-totitle: Likewise.
32028         * modules/unicase/u8-ct-toupper: Likewise.
32029         * modules/unicase/u8-is-cased: Likewise.
32030         * modules/unicase/u8-is-casefolded: Likewise.
32031         * modules/unicase/u8-is-lowercase: Likewise.
32032         * modules/unicase/u8-is-titlecase: Likewise.
32033         * modules/unicase/u8-is-uppercase: Likewise.
32034         * modules/unicase/u8-prefix-context: Likewise.
32035         * modules/unicase/u8-suffix-context: Likewise.
32036         * modules/unicase/u8-tolower: Likewise.
32037         * modules/unicase/u8-totitle: Likewise.
32038         * modules/unicase/u8-toupper: Likewise.
32039         * modules/unicase/u16-casecmp: Likewise.
32040         * modules/unicase/u16-casecoll: Likewise.
32041         * modules/unicase/u16-casefold: Likewise.
32042         * modules/unicase/u16-casexfrm: Likewise.
32043         * modules/unicase/u16-ct-casefold: Likewise.
32044         * modules/unicase/u16-ct-tolower: Likewise.
32045         * modules/unicase/u16-ct-totitle: Likewise.
32046         * modules/unicase/u16-ct-toupper: Likewise.
32047         * modules/unicase/u16-is-cased: Likewise.
32048         * modules/unicase/u16-is-casefolded: Likewise.
32049         * modules/unicase/u16-is-lowercase: Likewise.
32050         * modules/unicase/u16-is-titlecase: Likewise.
32051         * modules/unicase/u16-is-uppercase: Likewise.
32052         * modules/unicase/u16-prefix-context: Likewise.
32053         * modules/unicase/u16-suffix-context: Likewise.
32054         * modules/unicase/u16-tolower: Likewise.
32055         * modules/unicase/u16-totitle: Likewise.
32056         * modules/unicase/u16-toupper: Likewise.
32057         * modules/unicase/u32-casecmp: Likewise.
32058         * modules/unicase/u32-casecoll: Likewise.
32059         * modules/unicase/u32-casefold: Likewise.
32060         * modules/unicase/u32-casexfrm: Likewise.
32061         * modules/unicase/u32-ct-casefold: Likewise.
32062         * modules/unicase/u32-ct-tolower: Likewise.
32063         * modules/unicase/u32-ct-totitle: Likewise.
32064         * modules/unicase/u32-ct-toupper: Likewise.
32065         * modules/unicase/u32-is-cased: Likewise.
32066         * modules/unicase/u32-is-casefolded: Likewise.
32067         * modules/unicase/u32-is-lowercase: Likewise.
32068         * modules/unicase/u32-is-titlecase: Likewise.
32069         * modules/unicase/u32-is-uppercase: Likewise.
32070         * modules/unicase/u32-prefix-context: Likewise.
32071         * modules/unicase/u32-suffix-context: Likewise.
32072         * modules/unicase/u32-tolower: Likewise.
32073         * modules/unicase/u32-totitle: Likewise.
32074         * modules/unicase/u32-toupper: Likewise.
32075         * modules/unicase/ulc-casecmp: Likewise.
32076         * modules/unicase/ulc-casecoll: Likewise.
32077         * modules/unicase/ulc-casexfrm: Likewise.
32078         * modules/uniconv/u8-conv-from-enc: Likewise.
32079         * modules/uniconv/u8-conv-to-enc: Likewise.
32080         * modules/uniconv/u8-strconv-from-enc: Likewise.
32081         * modules/uniconv/u8-strconv-from-locale: Likewise.
32082         * modules/uniconv/u8-strconv-to-enc: Likewise.
32083         * modules/uniconv/u8-strconv-to-locale: Likewise.
32084         * modules/uniconv/u16-conv-from-enc: Likewise.
32085         * modules/uniconv/u16-conv-to-enc: Likewise.
32086         * modules/uniconv/u16-strconv-from-enc: Likewise.
32087         * modules/uniconv/u16-strconv-from-locale: Likewise.
32088         * modules/uniconv/u16-strconv-to-enc: Likewise.
32089         * modules/uniconv/u16-strconv-to-locale: Likewise.
32090         * modules/uniconv/u32-conv-from-enc: Likewise.
32091         * modules/uniconv/u32-conv-to-enc: Likewise.
32092         * modules/uniconv/u32-strconv-from-enc: Likewise.
32093         * modules/uniconv/u32-strconv-from-locale: Likewise.
32094         * modules/uniconv/u32-strconv-to-enc: Likewise.
32095         * modules/uniconv/u32-strconv-to-locale: Likewise.
32096         * modules/unictype/bidicategory-byname: Likewise.
32097         * modules/unictype/bidicategory-name: Likewise.
32098         * modules/unictype/bidicategory-of: Likewise.
32099         * modules/unictype/bidicategory-test: Likewise.
32100         * modules/unictype/block-list: Likewise.
32101         * modules/unictype/block-test: Likewise.
32102         * modules/unictype/category-C: Likewise.
32103         * modules/unictype/category-Cc: Likewise.
32104         * modules/unictype/category-Cf: Likewise.
32105         * modules/unictype/category-Cn: Likewise.
32106         * modules/unictype/category-Co: Likewise.
32107         * modules/unictype/category-Cs: Likewise.
32108         * modules/unictype/category-L: Likewise.
32109         * modules/unictype/category-Ll: Likewise.
32110         * modules/unictype/category-Lm: Likewise.
32111         * modules/unictype/category-Lo: Likewise.
32112         * modules/unictype/category-Lt: Likewise.
32113         * modules/unictype/category-Lu: Likewise.
32114         * modules/unictype/category-M: Likewise.
32115         * modules/unictype/category-Mc: Likewise.
32116         * modules/unictype/category-Me: Likewise.
32117         * modules/unictype/category-Mn: Likewise.
32118         * modules/unictype/category-N: Likewise.
32119         * modules/unictype/category-Nd: Likewise.
32120         * modules/unictype/category-Nl: Likewise.
32121         * modules/unictype/category-No: Likewise.
32122         * modules/unictype/category-P: Likewise.
32123         * modules/unictype/category-Pc: Likewise.
32124         * modules/unictype/category-Pd: Likewise.
32125         * modules/unictype/category-Pe: Likewise.
32126         * modules/unictype/category-Pf: Likewise.
32127         * modules/unictype/category-Pi: Likewise.
32128         * modules/unictype/category-Po: Likewise.
32129         * modules/unictype/category-Ps: Likewise.
32130         * modules/unictype/category-S: Likewise.
32131         * modules/unictype/category-Sc: Likewise.
32132         * modules/unictype/category-Sk: Likewise.
32133         * modules/unictype/category-Sm: Likewise.
32134         * modules/unictype/category-So: Likewise.
32135         * modules/unictype/category-Z: Likewise.
32136         * modules/unictype/category-Zl: Likewise.
32137         * modules/unictype/category-Zp: Likewise.
32138         * modules/unictype/category-Zs: Likewise.
32139         * modules/unictype/category-and: Likewise.
32140         * modules/unictype/category-and-not: Likewise.
32141         * modules/unictype/category-byname: Likewise.
32142         * modules/unictype/category-name: Likewise.
32143         * modules/unictype/category-none: Likewise.
32144         * modules/unictype/category-of: Likewise.
32145         * modules/unictype/category-or: Likewise.
32146         * modules/unictype/category-test: Likewise.
32147         * modules/unictype/combining-class: Likewise.
32148         * modules/unictype/ctype-alnum: Likewise.
32149         * modules/unictype/ctype-alpha: Likewise.
32150         * modules/unictype/ctype-blank: Likewise.
32151         * modules/unictype/ctype-cntrl: Likewise.
32152         * modules/unictype/ctype-digit: Likewise.
32153         * modules/unictype/ctype-graph: Likewise.
32154         * modules/unictype/ctype-lower: Likewise.
32155         * modules/unictype/ctype-print: Likewise.
32156         * modules/unictype/ctype-punct: Likewise.
32157         * modules/unictype/ctype-space: Likewise.
32158         * modules/unictype/ctype-upper: Likewise.
32159         * modules/unictype/ctype-xdigit: Likewise.
32160         * modules/unictype/decimal-digit: Likewise.
32161         * modules/unictype/digit: Likewise.
32162         * modules/unictype/mirror: Likewise.
32163         * modules/unictype/numeric: Likewise.
32164         * modules/unictype/property-alphabetic: Likewise.
32165         * modules/unictype/property-ascii-hex-digit: Likewise.
32166         * modules/unictype/property-bidi-arabic-digit: Likewise.
32167         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32168         * modules/unictype/property-bidi-block-separator: Likewise.
32169         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32170         * modules/unictype/property-bidi-common-separator: Likewise.
32171         * modules/unictype/property-bidi-control: Likewise.
32172         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32173         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32174         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32175         * modules/unictype/property-bidi-european-digit: Likewise.
32176         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32177         * modules/unictype/property-bidi-left-to-right: Likewise.
32178         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32179         * modules/unictype/property-bidi-other-neutral: Likewise.
32180         * modules/unictype/property-bidi-pdf: Likewise.
32181         * modules/unictype/property-bidi-segment-separator: Likewise.
32182         * modules/unictype/property-bidi-whitespace: Likewise.
32183         * modules/unictype/property-byname: Likewise.
32184         * modules/unictype/property-combining: Likewise.
32185         * modules/unictype/property-composite: Likewise.
32186         * modules/unictype/property-currency-symbol: Likewise.
32187         * modules/unictype/property-dash: Likewise.
32188         * modules/unictype/property-decimal-digit: Likewise.
32189         * modules/unictype/property-default-ignorable-code-point: Likewise.
32190         * modules/unictype/property-deprecated: Likewise.
32191         * modules/unictype/property-diacritic: Likewise.
32192         * modules/unictype/property-extender: Likewise.
32193         * modules/unictype/property-format-control: Likewise.
32194         * modules/unictype/property-grapheme-base: Likewise.
32195         * modules/unictype/property-grapheme-extend: Likewise.
32196         * modules/unictype/property-grapheme-link: Likewise.
32197         * modules/unictype/property-hex-digit: Likewise.
32198         * modules/unictype/property-hyphen: Likewise.
32199         * modules/unictype/property-id-continue: Likewise.
32200         * modules/unictype/property-id-start: Likewise.
32201         * modules/unictype/property-ideographic: Likewise.
32202         * modules/unictype/property-ids-binary-operator: Likewise.
32203         * modules/unictype/property-ids-trinary-operator: Likewise.
32204         * modules/unictype/property-ignorable-control: Likewise.
32205         * modules/unictype/property-iso-control: Likewise.
32206         * modules/unictype/property-join-control: Likewise.
32207         * modules/unictype/property-left-of-pair: Likewise.
32208         * modules/unictype/property-line-separator: Likewise.
32209         * modules/unictype/property-logical-order-exception: Likewise.
32210         * modules/unictype/property-lowercase: Likewise.
32211         * modules/unictype/property-math: Likewise.
32212         * modules/unictype/property-non-break: Likewise.
32213         * modules/unictype/property-not-a-character: Likewise.
32214         * modules/unictype/property-numeric: Likewise.
32215         * modules/unictype/property-other-alphabetic: Likewise.
32216         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32217         * modules/unictype/property-other-grapheme-extend: Likewise.
32218         * modules/unictype/property-other-id-continue: Likewise.
32219         * modules/unictype/property-other-id-start: Likewise.
32220         * modules/unictype/property-other-lowercase: Likewise.
32221         * modules/unictype/property-other-math: Likewise.
32222         * modules/unictype/property-other-uppercase: Likewise.
32223         * modules/unictype/property-paired-punctuation: Likewise.
32224         * modules/unictype/property-paragraph-separator: Likewise.
32225         * modules/unictype/property-pattern-syntax: Likewise.
32226         * modules/unictype/property-pattern-white-space: Likewise.
32227         * modules/unictype/property-private-use: Likewise.
32228         * modules/unictype/property-punctuation: Likewise.
32229         * modules/unictype/property-quotation-mark: Likewise.
32230         * modules/unictype/property-radical: Likewise.
32231         * modules/unictype/property-sentence-terminal: Likewise.
32232         * modules/unictype/property-soft-dotted: Likewise.
32233         * modules/unictype/property-space: Likewise.
32234         * modules/unictype/property-terminal-punctuation: Likewise.
32235         * modules/unictype/property-test: Likewise.
32236         * modules/unictype/property-titlecase: Likewise.
32237         * modules/unictype/property-unassigned-code-value: Likewise.
32238         * modules/unictype/property-unified-ideograph: Likewise.
32239         * modules/unictype/property-uppercase: Likewise.
32240         * modules/unictype/property-variation-selector: Likewise.
32241         * modules/unictype/property-white-space: Likewise.
32242         * modules/unictype/property-xid-continue: Likewise.
32243         * modules/unictype/property-xid-start: Likewise.
32244         * modules/unictype/property-zero-width: Likewise.
32245         * modules/unictype/scripts: Likewise.
32246         * modules/unictype/syntax-c-ident: Likewise.
32247         * modules/unictype/syntax-c-whitespace: Likewise.
32248         * modules/unictype/syntax-java-ident: Likewise.
32249         * modules/unictype/syntax-java-whitespace: Likewise.
32250         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32251         * modules/unilbrk/u8-width-linebreaks: Likewise.
32252         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32253         * modules/unilbrk/u16-width-linebreaks: Likewise.
32254         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32255         * modules/unilbrk/u32-width-linebreaks: Likewise.
32256         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32257         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32258         * modules/uniname/uniname: Likewise.
32259         * modules/uninorm/canonical-decomposition: Likewise.
32260         * modules/uninorm/composition: Likewise.
32261         * modules/uninorm/decomposing-form: Likewise.
32262         * modules/uninorm/decomposition: Likewise.
32263         * modules/uninorm/filter: Likewise.
32264         * modules/uninorm/nfc: Likewise.
32265         * modules/uninorm/nfd: Likewise.
32266         * modules/uninorm/nfkc: Likewise.
32267         * modules/uninorm/nfkd: Likewise.
32268         * modules/uninorm/u8-normalize: Likewise.
32269         * modules/uninorm/u8-normcmp: Likewise.
32270         * modules/uninorm/u8-normcoll: Likewise.
32271         * modules/uninorm/u8-normxfrm: Likewise.
32272         * modules/uninorm/u16-normalize: Likewise.
32273         * modules/uninorm/u16-normcmp: Likewise.
32274         * modules/uninorm/u16-normcoll: Likewise.
32275         * modules/uninorm/u16-normxfrm: Likewise.
32276         * modules/uninorm/u32-normalize: Likewise.
32277         * modules/uninorm/u32-normcmp: Likewise.
32278         * modules/uninorm/u32-normcoll: Likewise.
32279         * modules/uninorm/u32-normxfrm: Likewise.
32280         * modules/unistdio/u8-asnprintf: Likewise.
32281         * modules/unistdio/u8-asprintf: Likewise.
32282         * modules/unistdio/u8-snprintf: Likewise.
32283         * modules/unistdio/u8-sprintf: Likewise.
32284         * modules/unistdio/u8-u8-asnprintf: Likewise.
32285         * modules/unistdio/u8-u8-asprintf: Likewise.
32286         * modules/unistdio/u8-u8-snprintf: Likewise.
32287         * modules/unistdio/u8-u8-sprintf: Likewise.
32288         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32289         * modules/unistdio/u8-u8-vasprintf: Likewise.
32290         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32291         * modules/unistdio/u8-u8-vsprintf: Likewise.
32292         * modules/unistdio/u8-vasnprintf: Likewise.
32293         * modules/unistdio/u8-vasprintf: Likewise.
32294         * modules/unistdio/u8-vsnprintf: Likewise.
32295         * modules/unistdio/u8-vsprintf: Likewise.
32296         * modules/unistdio/u16-asnprintf: Likewise.
32297         * modules/unistdio/u16-asprintf: Likewise.
32298         * modules/unistdio/u16-snprintf: Likewise.
32299         * modules/unistdio/u16-sprintf: Likewise.
32300         * modules/unistdio/u16-u16-asnprintf: Likewise.
32301         * modules/unistdio/u16-u16-asprintf: Likewise.
32302         * modules/unistdio/u16-u16-snprintf: Likewise.
32303         * modules/unistdio/u16-u16-sprintf: Likewise.
32304         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32305         * modules/unistdio/u16-u16-vasprintf: Likewise.
32306         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32307         * modules/unistdio/u16-u16-vsprintf: Likewise.
32308         * modules/unistdio/u16-vasnprintf: Likewise.
32309         * modules/unistdio/u16-vasprintf: Likewise.
32310         * modules/unistdio/u16-vsnprintf: Likewise.
32311         * modules/unistdio/u16-vsprintf: Likewise.
32312         * modules/unistdio/u32-asnprintf: Likewise.
32313         * modules/unistdio/u32-asprintf: Likewise.
32314         * modules/unistdio/u32-snprintf: Likewise.
32315         * modules/unistdio/u32-sprintf: Likewise.
32316         * modules/unistdio/u32-u32-asnprintf: Likewise.
32317         * modules/unistdio/u32-u32-asprintf: Likewise.
32318         * modules/unistdio/u32-u32-snprintf: Likewise.
32319         * modules/unistdio/u32-u32-sprintf: Likewise.
32320         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32321         * modules/unistdio/u32-u32-vasprintf: Likewise.
32322         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32323         * modules/unistdio/u32-u32-vsprintf: Likewise.
32324         * modules/unistdio/u32-vasnprintf: Likewise.
32325         * modules/unistdio/u32-vasprintf: Likewise.
32326         * modules/unistdio/u32-vsnprintf: Likewise.
32327         * modules/unistdio/u32-vsprintf: Likewise.
32328         * modules/unistdio/ulc-asnprintf: Likewise.
32329         * modules/unistdio/ulc-asprintf: Likewise.
32330         * modules/unistdio/ulc-fprintf: Likewise.
32331         * modules/unistdio/ulc-snprintf: Likewise.
32332         * modules/unistdio/ulc-sprintf: Likewise.
32333         * modules/unistdio/ulc-vasnprintf: Likewise.
32334         * modules/unistdio/ulc-vasprintf: Likewise.
32335         * modules/unistdio/ulc-vfprintf: Likewise.
32336         * modules/unistdio/ulc-vsnprintf: Likewise.
32337         * modules/unistdio/ulc-vsprintf: Likewise.
32338         * modules/unistr/u8-check: Likewise.
32339         * modules/unistr/u8-chr: Likewise.
32340         * modules/unistr/u8-cmp: Likewise.
32341         * modules/unistr/u8-cmp2: Likewise.
32342         * modules/unistr/u8-cpy: Likewise.
32343         * modules/unistr/u8-cpy-alloc: Likewise.
32344         * modules/unistr/u8-endswith: Likewise.
32345         * modules/unistr/u8-mblen: Likewise.
32346         * modules/unistr/u8-mbsnlen: Likewise.
32347         * modules/unistr/u8-mbtouc: Likewise.
32348         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32349         * modules/unistr/u8-mbtoucr: Likewise.
32350         * modules/unistr/u8-move: Likewise.
32351         * modules/unistr/u8-next: Likewise.
32352         * modules/unistr/u8-prev: Likewise.
32353         * modules/unistr/u8-set: Likewise.
32354         * modules/unistr/u8-startswith: Likewise.
32355         * modules/unistr/u8-stpcpy: Likewise.
32356         * modules/unistr/u8-stpncpy: Likewise.
32357         * modules/unistr/u8-strcat: Likewise.
32358         * modules/unistr/u8-strchr: Likewise.
32359         * modules/unistr/u8-strcmp: Likewise.
32360         * modules/unistr/u8-strcoll: Likewise.
32361         * modules/unistr/u8-strcpy: Likewise.
32362         * modules/unistr/u8-strcspn: Likewise.
32363         * modules/unistr/u8-strdup: Likewise.
32364         * modules/unistr/u8-strlen: Likewise.
32365         * modules/unistr/u8-strmblen: Likewise.
32366         * modules/unistr/u8-strmbtouc: Likewise.
32367         * modules/unistr/u8-strncat: Likewise.
32368         * modules/unistr/u8-strncmp: Likewise.
32369         * modules/unistr/u8-strncpy: Likewise.
32370         * modules/unistr/u8-strnlen: Likewise.
32371         * modules/unistr/u8-strpbrk: Likewise.
32372         * modules/unistr/u8-strrchr: Likewise.
32373         * modules/unistr/u8-strspn: Likewise.
32374         * modules/unistr/u8-strstr: Likewise.
32375         * modules/unistr/u8-strtok: Likewise.
32376         * modules/unistr/u8-to-u16: Likewise.
32377         * modules/unistr/u8-to-u32: Likewise.
32378         * modules/unistr/u8-uctomb: Likewise.
32379         * modules/unistr/u16-check: Likewise.
32380         * modules/unistr/u16-chr: Likewise.
32381         * modules/unistr/u16-cmp: Likewise.
32382         * modules/unistr/u16-cmp2: Likewise.
32383         * modules/unistr/u16-cpy: Likewise.
32384         * modules/unistr/u16-cpy-alloc: Likewise.
32385         * modules/unistr/u16-endswith: Likewise.
32386         * modules/unistr/u16-mblen: Likewise.
32387         * modules/unistr/u16-mbsnlen: Likewise.
32388         * modules/unistr/u16-mbtouc: Likewise.
32389         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32390         * modules/unistr/u16-mbtoucr: Likewise.
32391         * modules/unistr/u16-move: Likewise.
32392         * modules/unistr/u16-next: Likewise.
32393         * modules/unistr/u16-prev: Likewise.
32394         * modules/unistr/u16-set: Likewise.
32395         * modules/unistr/u16-startswith: Likewise.
32396         * modules/unistr/u16-stpcpy: Likewise.
32397         * modules/unistr/u16-stpncpy: Likewise.
32398         * modules/unistr/u16-strcat: Likewise.
32399         * modules/unistr/u16-strchr: Likewise.
32400         * modules/unistr/u16-strcmp: Likewise.
32401         * modules/unistr/u16-strcoll: Likewise.
32402         * modules/unistr/u16-strcpy: Likewise.
32403         * modules/unistr/u16-strcspn: Likewise.
32404         * modules/unistr/u16-strdup: Likewise.
32405         * modules/unistr/u16-strlen: Likewise.
32406         * modules/unistr/u16-strmblen: Likewise.
32407         * modules/unistr/u16-strmbtouc: Likewise.
32408         * modules/unistr/u16-strncat: Likewise.
32409         * modules/unistr/u16-strncmp: Likewise.
32410         * modules/unistr/u16-strncpy: Likewise.
32411         * modules/unistr/u16-strnlen: Likewise.
32412         * modules/unistr/u16-strpbrk: Likewise.
32413         * modules/unistr/u16-strrchr: Likewise.
32414         * modules/unistr/u16-strspn: Likewise.
32415         * modules/unistr/u16-strstr: Likewise.
32416         * modules/unistr/u16-strtok: Likewise.
32417         * modules/unistr/u16-to-u32: Likewise.
32418         * modules/unistr/u16-to-u8: Likewise.
32419         * modules/unistr/u16-uctomb: Likewise.
32420         * modules/unistr/u32-check: Likewise.
32421         * modules/unistr/u32-chr: Likewise.
32422         * modules/unistr/u32-cmp: Likewise.
32423         * modules/unistr/u32-cmp2: Likewise.
32424         * modules/unistr/u32-cpy: Likewise.
32425         * modules/unistr/u32-cpy-alloc: Likewise.
32426         * modules/unistr/u32-endswith: Likewise.
32427         * modules/unistr/u32-mblen: Likewise.
32428         * modules/unistr/u32-mbsnlen: Likewise.
32429         * modules/unistr/u32-mbtouc: Likewise.
32430         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32431         * modules/unistr/u32-mbtoucr: Likewise.
32432         * modules/unistr/u32-move: Likewise.
32433         * modules/unistr/u32-next: Likewise.
32434         * modules/unistr/u32-prev: Likewise.
32435         * modules/unistr/u32-set: Likewise.
32436         * modules/unistr/u32-startswith: Likewise.
32437         * modules/unistr/u32-stpcpy: Likewise.
32438         * modules/unistr/u32-stpncpy: Likewise.
32439         * modules/unistr/u32-strcat: Likewise.
32440         * modules/unistr/u32-strchr: Likewise.
32441         * modules/unistr/u32-strcmp: Likewise.
32442         * modules/unistr/u32-strcoll: Likewise.
32443         * modules/unistr/u32-strcpy: Likewise.
32444         * modules/unistr/u32-strcspn: Likewise.
32445         * modules/unistr/u32-strdup: Likewise.
32446         * modules/unistr/u32-strlen: Likewise.
32447         * modules/unistr/u32-strmblen: Likewise.
32448         * modules/unistr/u32-strmbtouc: Likewise.
32449         * modules/unistr/u32-strncat: Likewise.
32450         * modules/unistr/u32-strncmp: Likewise.
32451         * modules/unistr/u32-strncpy: Likewise.
32452         * modules/unistr/u32-strnlen: Likewise.
32453         * modules/unistr/u32-strpbrk: Likewise.
32454         * modules/unistr/u32-strrchr: Likewise.
32455         * modules/unistr/u32-strspn: Likewise.
32456         * modules/unistr/u32-strstr: Likewise.
32457         * modules/unistr/u32-strtok: Likewise.
32458         * modules/unistr/u32-to-u16: Likewise.
32459         * modules/unistr/u32-to-u8: Likewise.
32460         * modules/unistr/u32-uctomb: Likewise.
32461         * modules/uniwbrk/u8-wordbreaks: Likewise.
32462         * modules/uniwbrk/u16-wordbreaks: Likewise.
32463         * modules/uniwbrk/u32-wordbreaks: Likewise.
32464         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32465         * modules/uniwbrk/wordbreak-property: Likewise.
32466         * modules/uniwidth/u8-strwidth: Likewise.
32467         * modules/uniwidth/u8-width: Likewise.
32468         * modules/uniwidth/u16-strwidth: Likewise.
32469         * modules/uniwidth/u16-width: Likewise.
32470         * modules/uniwidth/u32-strwidth: Likewise.
32471         * modules/uniwidth/u32-width: Likewise.
32472         * modules/uniwidth/width: Likewise.
32473         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32474         with $(LIBUNISTRING).
32475         * modules/unicase/ignorable-tests: Likewise.
32476         * modules/unicase/locale-language-tests: Likewise.
32477         * modules/unicase/tolower-tests: Likewise.
32478         * modules/unicase/totitle-tests: Likewise.
32479         * modules/unicase/toupper-tests: Likewise.
32480         * modules/unicase/u8-casecmp-tests: Likewise.
32481         * modules/unicase/u8-casecoll-tests: Likewise.
32482         * modules/unicase/u8-casefold-tests: Likewise.
32483         * modules/unicase/u8-is-cased-tests: Likewise.
32484         * modules/unicase/u8-is-casefolded-tests: Likewise.
32485         * modules/unicase/u8-is-lowercase-tests: Likewise.
32486         * modules/unicase/u8-is-titlecase-tests: Likewise.
32487         * modules/unicase/u8-is-uppercase-tests: Likewise.
32488         * modules/unicase/u8-tolower-tests: Likewise.
32489         * modules/unicase/u8-totitle-tests: Likewise.
32490         * modules/unicase/u8-toupper-tests: Likewise.
32491         * modules/unicase/u16-casecmp-tests: Likewise.
32492         * modules/unicase/u16-casecoll-tests: Likewise.
32493         * modules/unicase/u16-casefold-tests: Likewise.
32494         * modules/unicase/u16-is-cased-tests: Likewise.
32495         * modules/unicase/u16-is-casefolded-tests: Likewise.
32496         * modules/unicase/u16-is-lowercase-tests: Likewise.
32497         * modules/unicase/u16-is-titlecase-tests: Likewise.
32498         * modules/unicase/u16-is-uppercase-tests: Likewise.
32499         * modules/unicase/u16-tolower-tests: Likewise.
32500         * modules/unicase/u16-totitle-tests: Likewise.
32501         * modules/unicase/u16-toupper-tests: Likewise.
32502         * modules/unicase/u32-casecmp-tests: Likewise.
32503         * modules/unicase/u32-casecoll-tests: Likewise.
32504         * modules/unicase/u32-casefold-tests: Likewise.
32505         * modules/unicase/u32-is-cased-tests: Likewise.
32506         * modules/unicase/u32-is-casefolded-tests: Likewise.
32507         * modules/unicase/u32-is-lowercase-tests: Likewise.
32508         * modules/unicase/u32-is-titlecase-tests: Likewise.
32509         * modules/unicase/u32-is-uppercase-tests: Likewise.
32510         * modules/unicase/u32-tolower-tests: Likewise.
32511         * modules/unicase/u32-totitle-tests: Likewise.
32512         * modules/unicase/u32-toupper-tests: Likewise.
32513         * modules/unicase/ulc-casecmp-tests: Likewise.
32514         * modules/unicase/ulc-casecoll-tests: Likewise.
32515         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32516         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32517         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32518         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32519         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32520         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32521         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32522         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32523         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32524         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32525         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32526         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32527         * modules/unictype/bidicategory-byname-tests: Likewise.
32528         * modules/unictype/bidicategory-name-tests: Likewise.
32529         * modules/unictype/bidicategory-of-tests: Likewise.
32530         * modules/unictype/bidicategory-test-tests: Likewise.
32531         * modules/unictype/block-list-tests: Likewise.
32532         * modules/unictype/block-of-tests: Likewise.
32533         * modules/unictype/block-test-tests: Likewise.
32534         * modules/unictype/category-C-tests: Likewise.
32535         * modules/unictype/category-Cc-tests: Likewise.
32536         * modules/unictype/category-Cf-tests: Likewise.
32537         * modules/unictype/category-Cn-tests: Likewise.
32538         * modules/unictype/category-Co-tests: Likewise.
32539         * modules/unictype/category-Cs-tests: Likewise.
32540         * modules/unictype/category-L-tests: Likewise.
32541         * modules/unictype/category-Ll-tests: Likewise.
32542         * modules/unictype/category-Lm-tests: Likewise.
32543         * modules/unictype/category-Lo-tests: Likewise.
32544         * modules/unictype/category-Lt-tests: Likewise.
32545         * modules/unictype/category-Lu-tests: Likewise.
32546         * modules/unictype/category-M-tests: Likewise.
32547         * modules/unictype/category-Mc-tests: Likewise.
32548         * modules/unictype/category-Me-tests: Likewise.
32549         * modules/unictype/category-Mn-tests: Likewise.
32550         * modules/unictype/category-N-tests: Likewise.
32551         * modules/unictype/category-Nd-tests: Likewise.
32552         * modules/unictype/category-Nl-tests: Likewise.
32553         * modules/unictype/category-No-tests: Likewise.
32554         * modules/unictype/category-P-tests: Likewise.
32555         * modules/unictype/category-Pc-tests: Likewise.
32556         * modules/unictype/category-Pd-tests: Likewise.
32557         * modules/unictype/category-Pe-tests: Likewise.
32558         * modules/unictype/category-Pf-tests: Likewise.
32559         * modules/unictype/category-Pi-tests: Likewise.
32560         * modules/unictype/category-Po-tests: Likewise.
32561         * modules/unictype/category-Ps-tests: Likewise.
32562         * modules/unictype/category-S-tests: Likewise.
32563         * modules/unictype/category-Sc-tests: Likewise.
32564         * modules/unictype/category-Sk-tests: Likewise.
32565         * modules/unictype/category-Sm-tests: Likewise.
32566         * modules/unictype/category-So-tests: Likewise.
32567         * modules/unictype/category-Z-tests: Likewise.
32568         * modules/unictype/category-Zl-tests: Likewise.
32569         * modules/unictype/category-Zp-tests: Likewise.
32570         * modules/unictype/category-Zs-tests: Likewise.
32571         * modules/unictype/category-and-not-tests: Likewise.
32572         * modules/unictype/category-and-tests: Likewise.
32573         * modules/unictype/category-byname-tests: Likewise.
32574         * modules/unictype/category-name-tests: Likewise.
32575         * modules/unictype/category-none-tests: Likewise.
32576         * modules/unictype/category-of-tests: Likewise.
32577         * modules/unictype/category-or-tests: Likewise.
32578         * modules/unictype/category-test-withtable-tests: Likewise.
32579         * modules/unictype/combining-class-tests: Likewise.
32580         * modules/unictype/ctype-alnum-tests: Likewise.
32581         * modules/unictype/ctype-alpha-tests: Likewise.
32582         * modules/unictype/ctype-blank-tests: Likewise.
32583         * modules/unictype/ctype-cntrl-tests: Likewise.
32584         * modules/unictype/ctype-digit-tests: Likewise.
32585         * modules/unictype/ctype-graph-tests: Likewise.
32586         * modules/unictype/ctype-lower-tests: Likewise.
32587         * modules/unictype/ctype-print-tests: Likewise.
32588         * modules/unictype/ctype-punct-tests: Likewise.
32589         * modules/unictype/ctype-space-tests: Likewise.
32590         * modules/unictype/ctype-upper-tests: Likewise.
32591         * modules/unictype/ctype-xdigit-tests: Likewise.
32592         * modules/unictype/decimal-digit-tests: Likewise.
32593         * modules/unictype/digit-tests: Likewise.
32594         * modules/unictype/mirror-tests: Likewise.
32595         * modules/unictype/numeric-tests: Likewise.
32596         * modules/unictype/property-alphabetic-tests: Likewise.
32597         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32598         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32599         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32600         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32601         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32602         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32603         * modules/unictype/property-bidi-control-tests: Likewise.
32604         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32605         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32606         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32607         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32608         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32609         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32610         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32611         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32612         * modules/unictype/property-bidi-pdf-tests: Likewise.
32613         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32614         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32615         * modules/unictype/property-byname-tests: Likewise.
32616         * modules/unictype/property-combining-tests: Likewise.
32617         * modules/unictype/property-composite-tests: Likewise.
32618         * modules/unictype/property-currency-symbol-tests: Likewise.
32619         * modules/unictype/property-dash-tests: Likewise.
32620         * modules/unictype/property-decimal-digit-tests: Likewise.
32621         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32622         * modules/unictype/property-deprecated-tests: Likewise.
32623         * modules/unictype/property-diacritic-tests: Likewise.
32624         * modules/unictype/property-extender-tests: Likewise.
32625         * modules/unictype/property-format-control-tests: Likewise.
32626         * modules/unictype/property-grapheme-base-tests: Likewise.
32627         * modules/unictype/property-grapheme-extend-tests: Likewise.
32628         * modules/unictype/property-grapheme-link-tests: Likewise.
32629         * modules/unictype/property-hex-digit-tests: Likewise.
32630         * modules/unictype/property-hyphen-tests: Likewise.
32631         * modules/unictype/property-id-continue-tests: Likewise.
32632         * modules/unictype/property-id-start-tests: Likewise.
32633         * modules/unictype/property-ideographic-tests: Likewise.
32634         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32635         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32636         * modules/unictype/property-ignorable-control-tests: Likewise.
32637         * modules/unictype/property-iso-control-tests: Likewise.
32638         * modules/unictype/property-join-control-tests: Likewise.
32639         * modules/unictype/property-left-of-pair-tests: Likewise.
32640         * modules/unictype/property-line-separator-tests: Likewise.
32641         * modules/unictype/property-logical-order-exception-tests: Likewise.
32642         * modules/unictype/property-lowercase-tests: Likewise.
32643         * modules/unictype/property-math-tests: Likewise.
32644         * modules/unictype/property-non-break-tests: Likewise.
32645         * modules/unictype/property-not-a-character-tests: Likewise.
32646         * modules/unictype/property-numeric-tests: Likewise.
32647         * modules/unictype/property-other-alphabetic-tests: Likewise.
32648         * modules/unictype/property-other-default-ignorable-code-point-tests:
32649         Likewise.
32650         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32651         * modules/unictype/property-other-id-continue-tests: Likewise.
32652         * modules/unictype/property-other-id-start-tests: Likewise.
32653         * modules/unictype/property-other-lowercase-tests: Likewise.
32654         * modules/unictype/property-other-math-tests: Likewise.
32655         * modules/unictype/property-other-uppercase-tests: Likewise.
32656         * modules/unictype/property-paired-punctuation-tests: Likewise.
32657         * modules/unictype/property-paragraph-separator-tests: Likewise.
32658         * modules/unictype/property-pattern-syntax-tests: Likewise.
32659         * modules/unictype/property-pattern-white-space-tests: Likewise.
32660         * modules/unictype/property-private-use-tests: Likewise.
32661         * modules/unictype/property-punctuation-tests: Likewise.
32662         * modules/unictype/property-quotation-mark-tests: Likewise.
32663         * modules/unictype/property-radical-tests: Likewise.
32664         * modules/unictype/property-sentence-terminal-tests: Likewise.
32665         * modules/unictype/property-soft-dotted-tests: Likewise.
32666         * modules/unictype/property-space-tests: Likewise.
32667         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32668         * modules/unictype/property-test-tests: Likewise.
32669         * modules/unictype/property-titlecase-tests: Likewise.
32670         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32671         * modules/unictype/property-unified-ideograph-tests: Likewise.
32672         * modules/unictype/property-uppercase-tests: Likewise.
32673         * modules/unictype/property-variation-selector-tests: Likewise.
32674         * modules/unictype/property-white-space-tests: Likewise.
32675         * modules/unictype/property-xid-continue-tests: Likewise.
32676         * modules/unictype/property-xid-start-tests: Likewise.
32677         * modules/unictype/property-zero-width-tests: Likewise.
32678         * modules/unictype/scripts-tests: Likewise.
32679         * modules/unictype/syntax-c-ident-tests: Likewise.
32680         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32681         * modules/unictype/syntax-java-ident-tests: Likewise.
32682         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32683         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32684         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32685         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32686         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32687         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32688         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32689         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32690         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32691         * modules/uniname/uniname-tests: Likewise.
32692         * modules/uninorm/canonical-decomposition-tests: Likewise.
32693         * modules/uninorm/compat-decomposition-tests: Likewise.
32694         * modules/uninorm/composition-tests: Likewise.
32695         * modules/uninorm/decomposing-form-tests: Likewise.
32696         * modules/uninorm/decomposition-tests: Likewise.
32697         * modules/uninorm/filter-tests: Likewise.
32698         * modules/uninorm/nfc-tests: Likewise.
32699         * modules/uninorm/nfd-tests: Likewise.
32700         * modules/uninorm/nfkc-tests: Likewise.
32701         * modules/uninorm/nfkd-tests: Likewise.
32702         * modules/uninorm/u8-normcmp-tests: Likewise.
32703         * modules/uninorm/u8-normcoll-tests: Likewise.
32704         * modules/uninorm/u16-normcmp-tests: Likewise.
32705         * modules/uninorm/u16-normcoll-tests: Likewise.
32706         * modules/uninorm/u32-normcmp-tests: Likewise.
32707         * modules/uninorm/u32-normcoll-tests: Likewise.
32708         * modules/unistdio/u8-asnprintf-tests: Likewise.
32709         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32710         * modules/unistdio/u8-vasprintf-tests: Likewise.
32711         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32712         * modules/unistdio/u8-vsprintf-tests: Likewise.
32713         * modules/unistdio/u16-asnprintf-tests: Likewise.
32714         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32715         * modules/unistdio/u16-vasprintf-tests: Likewise.
32716         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32717         * modules/unistdio/u16-vsprintf-tests: Likewise.
32718         * modules/unistdio/u32-asnprintf-tests: Likewise.
32719         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32720         * modules/unistdio/u32-vasprintf-tests: Likewise.
32721         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32722         * modules/unistdio/u32-vsprintf-tests: Likewise.
32723         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32724         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32725         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32726         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32727         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32728         * modules/unistr/u8-check-tests: Likewise.
32729         * modules/unistr/u8-chr-tests: Likewise.
32730         * modules/unistr/u8-cmp-tests: Likewise.
32731         * modules/unistr/u8-cmp2-tests: Likewise.
32732         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32733         * modules/unistr/u8-cpy-tests: Likewise.
32734         * modules/unistr/u8-mblen-tests: Likewise.
32735         * modules/unistr/u8-mbsnlen-tests: Likewise.
32736         * modules/unistr/u8-mbtouc-tests: Likewise.
32737         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32738         * modules/unistr/u8-mbtoucr-tests: Likewise.
32739         * modules/unistr/u8-move-tests: Likewise.
32740         * modules/unistr/u8-next-tests: Likewise.
32741         * modules/unistr/u8-prev-tests: Likewise.
32742         * modules/unistr/u8-set-tests: Likewise.
32743         * modules/unistr/u8-stpcpy-tests: Likewise.
32744         * modules/unistr/u8-stpncpy-tests: Likewise.
32745         * modules/unistr/u8-strcat-tests: Likewise.
32746         * modules/unistr/u8-strcmp-tests: Likewise.
32747         * modules/unistr/u8-strcoll-tests: Likewise.
32748         * modules/unistr/u8-strcpy-tests: Likewise.
32749         * modules/unistr/u8-strdup-tests: Likewise.
32750         * modules/unistr/u8-strlen-tests: Likewise.
32751         * modules/unistr/u8-strmblen-tests: Likewise.
32752         * modules/unistr/u8-strmbtouc-tests: Likewise.
32753         * modules/unistr/u8-strncat-tests: Likewise.
32754         * modules/unistr/u8-strncmp-tests: Likewise.
32755         * modules/unistr/u8-strncpy-tests: Likewise.
32756         * modules/unistr/u8-strnlen-tests: Likewise.
32757         * modules/unistr/u8-to-u16-tests: Likewise.
32758         * modules/unistr/u8-to-u32-tests: Likewise.
32759         * modules/unistr/u8-uctomb-tests: Likewise.
32760         * modules/unistr/u16-check-tests: Likewise.
32761         * modules/unistr/u16-chr-tests: Likewise.
32762         * modules/unistr/u16-cmp-tests: Likewise.
32763         * modules/unistr/u16-cmp2-tests: Likewise.
32764         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32765         * modules/unistr/u16-cpy-tests: Likewise.
32766         * modules/unistr/u16-mblen-tests: Likewise.
32767         * modules/unistr/u16-mbsnlen-tests: Likewise.
32768         * modules/unistr/u16-mbtouc-tests: Likewise.
32769         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
32770         * modules/unistr/u16-mbtoucr-tests: Likewise.
32771         * modules/unistr/u16-move-tests: Likewise.
32772         * modules/unistr/u16-next-tests: Likewise.
32773         * modules/unistr/u16-prev-tests: Likewise.
32774         * modules/unistr/u16-set-tests: Likewise.
32775         * modules/unistr/u16-stpcpy-tests: Likewise.
32776         * modules/unistr/u16-stpncpy-tests: Likewise.
32777         * modules/unistr/u16-strcat-tests: Likewise.
32778         * modules/unistr/u16-strcmp-tests: Likewise.
32779         * modules/unistr/u16-strcoll-tests: Likewise.
32780         * modules/unistr/u16-strcpy-tests: Likewise.
32781         * modules/unistr/u16-strdup-tests: Likewise.
32782         * modules/unistr/u16-strlen-tests: Likewise.
32783         * modules/unistr/u16-strmblen-tests: Likewise.
32784         * modules/unistr/u16-strmbtouc-tests: Likewise.
32785         * modules/unistr/u16-strncat-tests: Likewise.
32786         * modules/unistr/u16-strncmp-tests: Likewise.
32787         * modules/unistr/u16-strncpy-tests: Likewise.
32788         * modules/unistr/u16-strnlen-tests: Likewise.
32789         * modules/unistr/u16-to-u32-tests: Likewise.
32790         * modules/unistr/u16-to-u8-tests: Likewise.
32791         * modules/unistr/u16-uctomb-tests: Likewise.
32792         * modules/unistr/u32-check-tests: Likewise.
32793         * modules/unistr/u32-chr-tests: Likewise.
32794         * modules/unistr/u32-cmp-tests: Likewise.
32795         * modules/unistr/u32-cmp2-tests: Likewise.
32796         * modules/unistr/u32-cpy-alloc-tests: Likewise.
32797         * modules/unistr/u32-cpy-tests: Likewise.
32798         * modules/unistr/u32-mblen-tests: Likewise.
32799         * modules/unistr/u32-mbsnlen-tests: Likewise.
32800         * modules/unistr/u32-mbtouc-tests: Likewise.
32801         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
32802         * modules/unistr/u32-mbtoucr-tests: Likewise.
32803         * modules/unistr/u32-move-tests: Likewise.
32804         * modules/unistr/u32-next-tests: Likewise.
32805         * modules/unistr/u32-prev-tests: Likewise.
32806         * modules/unistr/u32-set-tests: Likewise.
32807         * modules/unistr/u32-stpcpy-tests: Likewise.
32808         * modules/unistr/u32-stpncpy-tests: Likewise.
32809         * modules/unistr/u32-strcat-tests: Likewise.
32810         * modules/unistr/u32-strcmp-tests: Likewise.
32811         * modules/unistr/u32-strcoll-tests: Likewise.
32812         * modules/unistr/u32-strcpy-tests: Likewise.
32813         * modules/unistr/u32-strdup-tests: Likewise.
32814         * modules/unistr/u32-strlen-tests: Likewise.
32815         * modules/unistr/u32-strmblen-tests: Likewise.
32816         * modules/unistr/u32-strmbtouc-tests: Likewise.
32817         * modules/unistr/u32-strncat-tests: Likewise.
32818         * modules/unistr/u32-strncmp-tests: Likewise.
32819         * modules/unistr/u32-strncpy-tests: Likewise.
32820         * modules/unistr/u32-strnlen-tests: Likewise.
32821         * modules/unistr/u32-to-u16-tests: Likewise.
32822         * modules/unistr/u32-to-u8-tests: Likewise.
32823         * modules/unistr/u32-uctomb-tests: Likewise.
32824         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
32825         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
32826         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
32827         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
32828         * modules/uniwidth/u8-strwidth-tests: Likewise.
32829         * modules/uniwidth/u8-width-tests: Likewise.
32830         * modules/uniwidth/u16-strwidth-tests: Likewise.
32831         * modules/uniwidth/u16-width-tests: Likewise.
32832         * modules/uniwidth/u32-strwidth-tests: Likewise.
32833         * modules/uniwidth/u32-width-tests: Likewise.
32834         * modules/uniwidth/width-tests: Likewise.
32835
32836 2010-05-18  Richard Jones  <rjones@redhat.com>
32837
32838         doc: users.txt: list hivex
32839         * users.txt: Add hivex.
32840
32841 2010-05-18  Richard Jones  <rjones@redhat.com>
32842
32843         doc: users.txt: list febootstrap
32844         * users.txt: Add febootstrap.
32845
32846 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
32847
32848         bootstrap: fix an error when gnulib is not used as a git submodule
32849         * build-aux/bootstrap (gnulib_path): If its length is zero then
32850         assign "gnulib" to it.
32851         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
32852
32853 2010-05-16  Bruno Haible  <bruno@clisp.org>
32854
32855         Avoid autoconf warnings about AM_ICONV.
32856         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
32857         2.64.
32858
32859 2010-05-16  Bruno Haible  <bruno@clisp.org>
32860
32861         absolute-header: Make the macro usable in more situations.
32862         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
32863         from gl_ABSOLUTE_HEADER.
32864         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
32865
32866 2010-05-16  James Youngman  <jay@gnu.org>
32867
32868         doc: update users.txt
32869         * users.txt: Add CSSC.
32870
32871 2010-05-16  Jim Meyering  <meyering@redhat.com>
32872
32873         init.sh: fix an error in the previous change; add more comments
32874         * tests/init.sh: Compare exit code in loop against 9, not 2.
32875         Patch by Bruno Haible.
32876         Make the two tests more similar by adding an empty "then" clause.
32877         Add comments.
32878
32879         init.sh: avoid unnecessary shell re-exec
32880         * tests/init.sh: Improve the re-exec-required check to first test the
32881         current shell.  If it passes the test, do not search for a shell that
32882         does pass, and do not re-exec.  This test is particularly contorted to
32883         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
32884         of $(...) evokes a syntax error and causes immediate shell exit with
32885         status 2.  Bruno Haible reported that the re-exec made it impossible
32886         to single-step through any init.sh-using script.
32887
32888 2010-05-16  Bruno Haible  <bruno@clisp.org>
32889
32890         Fix collision between gnulib's and libintl's printf replacements.
32891         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
32892         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
32893         (printf): When using GNU C, map the __printf__ function to rpl_printf
32894         via __asm__. When not using GNU C, define rpl_printf instead of
32895         __printf__.
32896         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
32897         commit.
32898         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
32899         commit.
32900         * m4/asm-underscore.m4: New file.
32901         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32902         * modules/stdio (Files): Add m4/asm-underscore.m4.
32903         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
32904         Reported by Ben Pfaff.
32905
32906 2010-05-16  Bruno Haible  <bruno@clisp.org>
32907
32908         verify: Avoid skipping the test on openSUSE 11.0.
32909         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
32910
32911 2010-05-13  Bruno Haible  <bruno@clisp.org>
32912
32913         Avoid useless warnings from G++.
32914         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
32915         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
32916         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32917
32918 2010-05-11  Jim Meyering  <meyering@redhat.com>
32919
32920         maint.mk: tweak preceding change
32921         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
32922         regexps tighter by anchoring at EOL, and make the new group "shy"
32923         for slightly decreased overhead.
32924
32925 2010-05-11  Eric Blake  <eblake@redhat.com>
32926
32927         maint.mk: gnulib doesn't guarantee NSIG
32928         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
32929
32930 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32931
32932         test-pwrite.c: Remove unused variable declaration.
32933         * tests/test-pwrite.c (main): Remove read_buf declaration.
32934
32935         Remove useless test-pwrite.sh file.
32936         * tests/test-pwrite.sh: Delete file.
32937         * modules/pwrite-tests: Remove references.
32938         Reported by Bruno Haible.
32939
32940 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32941
32942         init.sh: fix a typo
32943         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
32944
32945 2010-05-10  Jim Meyering  <meyering@redhat.com>
32946
32947         maint.mk: avoid using a temporary file in the always-defined-macros check
32948         * top/maint.mk (.re-defmac): Remove rule.
32949         (gl_trap_): Remove definition.
32950         (sc_prohibit_always-defined_macros): Rewrite not to create and
32951         depend on a temporary file.  Instead, depend on GNU grep's ability
32952         to read a list of regular expressions from stdin when given "-f -".
32953
32954 2010-05-09  Bruno Haible  <bruno@clisp.org>
32955
32956         Update to GNU gettext 0.18, part 1.
32957         * m4/gettext.m4: Update to GNU gettext 0.18.
32958         * m4/intl.m4: Likewise.
32959         * m4/po.m4: Likewise.
32960         * modules/gettext (Files): Add m4/fcntl-o.m4.
32961         (configure.ac): Require gettext infrastructure from version 0.18.
32962
32963 2010-05-09  Jim Meyering  <meyering@redhat.com>
32964
32965         init.sh: enable MALLOC_PERTURB_
32966         * tests/init.sh: Enable glibc's malloc-perturbing option.
32967
32968         maint.mk: improve sc_cross_check_PATH_usage_in_tests
32969         With my recent change in init.sh from the two-line form:
32970             -#   : ${srcdir=.}
32971             -#   . "$srcdir/init.sh"; path_prepend_ .
32972             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
32973         I noticed that using the one-line form would cause this test
32974         to fail with a false-positive, or to stop working altogether,
32975         depending on whether help-version changed or all the tests did.
32976         * top/maint.mk (_hv_regex): Remove this definition.
32977         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
32978         (_hv_regex_strong): Use a stronger regex to check for conformance.
32979         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
32980         Give a separate diagnostic for lack of conforming use.
32981
32982         maint.mk: prohibit definition of symbols defined by gnulib
32983         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
32984         definition of symbols defined by gnulib.
32985
32986 2010-05-09  Bruno Haible  <bruno@clisp.org>
32987
32988         acl: Avoid test failure on Cygwin-hosted mingw.
32989         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
32990
32991 2010-05-09  Bruno Haible  <bruno@clisp.org>
32992
32993         error: Use system's fcntl function.
32994         * lib/error.c (fcntl): Undefine.
32995
32996 2010-05-09  Jim Meyering  <meyering@redhat.com>
32997
32998         verify: adjust formatting to be more consistent
32999         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33000         argument-list '('s, and after one comma.
33001
33002 2010-05-09  Bruno Haible  <bruno@clisp.org>
33003
33004         error: More reliable output on mingw.
33005         * lib/error.c: Include <windows.h>.
33006         (is_open): New function.
33007         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33008         defined.
33009
33010 2010-05-09  Bruno Haible  <bruno@clisp.org>
33011
33012         vasnprintf: Fix syntax errors in libintl build on mingw.
33013         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33014         pad_ourselves and prec_ourselves after use.
33015
33016 2010-05-08  Bruno Haible  <bruno@clisp.org>
33017
33018         * lib/config.charset: Update comments for Cygwin 1.7.
33019         * lib/localcharset.c: Likewise.
33020
33021 2010-05-07  Jim Meyering  <meyering@redhat.com>
33022
33023         init.sh: improve comments
33024         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33025         . "${srcdir=.}/init.sh"; path_prepend_ .
33026         Add a note about path_prepend_ and the alternative of using
33027         TESTS_ENVIRONMENT.
33028
33029 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33030
33031         exclude: Unescape hashed patterns in wildcard mode.
33032         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33033         to the hash list.
33034         * tests/test-exclude8.sh: New test case.
33035         * modules/exclude-tests: Add new test.
33036
33037 2010-05-05  Eric Blake  <eblake@redhat.com>
33038
33039         verify: automate tests
33040         * modules/verify-tests: New module.
33041         * tests/test-verify.sh: New file.
33042         * tests/test-verify.c: Guard each negative test with a unique id.
33043         Also avoid warning about unused left hand of comma expressions.
33044
33045 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33046
33047         Further improvements to verify.h, suggested by Eric Blake.
33048         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33049         the GL_* versions, to avoid collision with OpenGL.
33050         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33051         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33052         than testing merely whether it's defined.
33053
33054         Modify verify.h to pacify gcc -Wredundant_decls.
33055         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33056         These use the prefix "GL_" since they're likely to be useful elsewhere.
33057         We may need to break them out into a different .h file.
33058         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33059         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33060         of verify_function__.
33061
33062 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33063
33064         Tests for module pwrite.
33065         * modules/pwrite-tests: New file.
33066         * tests/test-pwrite.sh: New file.
33067         * tests/test-pwrite.c: New file.
33068
33069         New module pwrite.
33070         * lib/unistd.in.h (pwrite): New declaration.
33071         * lib/pwrite.c: New file, from glibc with modifications.
33072         * m4/pwrite.m4: New file.
33073         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33074         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33075         REPLACE_PWRITE.
33076         * modules/pwrite: New file.
33077         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33078         REPLACE_PWRITE.
33079         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33080         * doc/posix-functions/pwrite.texi: Mention the new module.
33081
33082 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33083
33084         pread: Update documentation.
33085         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33086
33087 2010-05-04  Eric Blake  <eblake@redhat.com>
33088
33089         docs: update cygwin progress
33090         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33091         this bug.
33092         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33093         Added in cygwin 1.7.2.
33094         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33095         Likewise.
33096         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33097         Likewise.
33098         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33099         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33100         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33101         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33102         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33103         Mention nproc module.
33104         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33105         bug in cygwin 1.7.5 addition.
33106         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33107         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33108         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33109         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33110         1.7.5.
33111         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33112         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33113         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33114         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33115         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33116         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33117         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33118         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33119         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33120         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33121         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33122         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33123         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33124         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33125         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33126         Likewise.
33127         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33128         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33129         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33130         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33131         Likewise.
33132         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33133         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33134         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33135         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33136         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33137         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33138         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33139         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33140         Likewise.
33141         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33142         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33143         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33144         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33145         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33146         Likewise.
33147         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33148         Likewise.
33149         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33150         Likewise.
33151         * doc/glibc-functions/xdrrec_endofrecord.texi
33152         (xdrrec_endofrecord): Likewise.
33153         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33154         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33155         Likewise.
33156         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33157         Likewise.
33158
33159 2010-05-04  Jim Meyering  <meyering@redhat.com>
33160
33161         gendocs.sh: make its "-s FILE" option more useful
33162         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33163         $PACKAGE to reflect the probably-different basename of "FILE".
33164
33165 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33166
33167         bootstrap: don't ignore download_po_files failure
33168         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33169         failure.
33170
33171 2010-05-03  Jim Meyering  <meyering@redhat.com>
33172
33173         maint.mk: allow to pass options to gendocs.sh
33174         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33175         (gendocs_options_): New overridable variable.
33176
33177         gnu-web-doc-update: don't ignore configure or build failure
33178         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33179
33180         announce-gen: backslash-escape '@'s in --help output
33181         * build-aux/announce-gen: Fix syntax errors.
33182
33183         maint.mk, announce-gen: allow project-specific announcement mail headers
33184         * top/maint.mk (translation_project_): Define default.
33185         (announcement_Cc_, announcement_mail_headers_): Likewise.
33186         (announcement): Invoke announce-gen with new --mail-headers option.
33187         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33188
33189         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33190         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33191         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33192         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33193         line in the "err2" output file when running "make check" in verbose
33194         mode (i.e., with set -x enabled).
33195
33196 2010-05-03  Bruno Haible  <bruno@clisp.org>
33197
33198         wctob: Fix for weird platforms.
33199         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33200         argument value.
33201
33202 2010-05-03  Jim Meyering  <meyering@redhat.com>
33203
33204         maint.mk: prohibit unwarranted use of <strings.h>
33205         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33206         strings.h in a file that does not also use strcasecmp, strncasecmp,
33207         ffs or ffsll.
33208
33209         maint.mk: remove obsolete comments
33210         * top/maint.mk: Remove stale, commented-out rules.
33211
33212 2010-05-02  Bruno Haible  <bruno@clisp.org>
33213
33214         wcwidth: Declare also when it's aliased.
33215         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33216         macro.
33217
33218 2010-05-02  Bruno Haible  <bruno@clisp.org>
33219
33220         Fix regression from 2010-04-25.
33221         * gnulib-tool (func_modules_transitive_closure): Check the status of
33222         all modules, not only of the tests that are of the form foo-tests where
33223         foo is a module.
33224
33225 2010-05-02  Bruno Haible  <bruno@clisp.org>
33226
33227         wctob: Work around nasty Cygwin 1.7.2 bug.
33228         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33229         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33230
33231 2010-05-01  Bruno Haible  <bruno@clisp.org>
33232
33233         fpurge: Sharper test.
33234         * tests/test-fpurge.c (main): Add one more ftell check.
33235         * modules/fpurge-tests (Depends-on): Add ftell.
33236         Suggested by Eric Blake.
33237
33238 2010-05-01  Bruno Haible  <bruno@clisp.org>
33239
33240         ftello: Another test.
33241         * tests/test-ftello3.c: New file.
33242         * modules/ftello-tests (Files): Add it.
33243         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33244         MOSTLYCLEANFILES.
33245
33246         ftell: Another test.
33247         * tests/test-ftell3.c: New file.
33248         * modules/ftell-tests (Files): Add it.
33249         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33250         MOSTLYCLEANFILES.
33251
33252 2010-05-01  Bruno Haible  <bruno@clisp.org>
33253
33254         ftell, ftello: Work around Solaris bug.
33255         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33256         * lib/ftello.c: Include stdio-impl.h.
33257         (ftello): On Solaris, when _IOWRT is set, compute the result without
33258         looking at _IOREAD.
33259         * modules/ftello (Files): Add lib/stdio-impl.h.
33260         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33261         * doc/posix-functions/ftello.texi: Likewise.
33262         Reported by Eric Blake.
33263
33264 2010-05-01  Bruno Haible  <bruno@clisp.org>
33265
33266         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33267         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33268         the _IOWRT flag is also set.
33269
33270 2010-05-01  Bruno Haible  <bruno@clisp.org>
33271
33272         Fix doc about a HP-UX stdio bug.
33273         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33274         * doc/posix-functions/ftello.texi: Likewise.
33275
33276 2010-05-01  Bruno Haible  <bruno@clisp.org>
33277
33278         lseek test: Fix failure on Solaris.
33279         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33280         output.
33281
33282 2010-04-30  Jim Meyering  <meyering@redhat.com>
33283
33284         bootstrap: don't ignore failure to generate po*/Makevars
33285         * build-aux/bootstrap (with_gettext): Don't ignore failure
33286         to create po/Makevars or runtime-po/Makevars.
33287
33288 2010-04-29  Eric Blake  <eblake@redhat.com>
33289
33290         headers: relax license to LGPLv2+
33291         * modules/fcntl-h (License): Relax license.
33292         * modules/getopt-posix (License): Likewise.
33293         * modules/locale (License): Likewise.
33294         * modules/math (License): Likewise.
33295         * modules/pty (License): Likewise.
33296         * modules/sched (License): Likewise.
33297         * modules/search (License): Likewise.
33298         * modules/spawn (License): Likewise.
33299         * modules/stdarg (License): Likewise.
33300         * modules/sysexits (License): Likewise.
33301
33302 2010-04-29  Jim Meyering  <meyering@redhat.com>
33303
33304         inttypes: relax license to LGPLv2+
33305         * modules/inttypes (License): Relax license.
33306
33307 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33308
33309         * top/maint.mk (indent): Run twice to produce idempotent results.
33310
33311 2010-04-28  Bruno Haible  <bruno@clisp.org>
33312
33313         getdate: Generate getdate.c in the source directory.
33314         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33315         MOSTLYCLEANFILES.
33316         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33317
33318 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33319
33320         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33321         is not declared as a const *; avoid warnings in that case.
33322
33323 2010-04-28  Eric Blake  <eblake@redhat.com>
33324
33325         canonicalize-lgpl: avoid compiler warning
33326         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33327         declaration' / 'extraneous semicolon' warning with some compilers.
33328         Reported by Andreas Gruenbacher.
33329
33330 2010-04-28  Jim Meyering  <meyering@redhat.com>
33331
33332         init.sh: ensure a more reliable exit status when exiting via trap
33333         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33334         Inspired by patches from Dmitry V. Levin.
33335         Also trap on signal 3 (SIGQUIT).
33336
33337 2010-04-27  Bruno Haible  <bruno@clisp.org>
33338
33339         Update doc about utimes().
33340         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33341         'utimens' module.
33342         Reported by Andreas Gruenbacher <agruen@suse.de>.
33343
33344 2010-04-27  Eric Blake  <eblake@redhat.com>
33345
33346         full-read, full-write: relax license
33347         * modules/full-read (License): Drop to LGPLv2+.
33348         * modules/full-write (License): Likewise.
33349         * modules/safe-read (License): Likewise.
33350         * modules/safe-write (License): Likewise.
33351
33352         pthread: mention library for linking
33353         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33354
33355 2010-04-27  Jim Meyering  <meyering@redhat.com>
33356
33357         maint.mk: fix a bug introduced in last change
33358         * top/maint.mk (gl_assured_headers_): Now that all names are on
33359         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33360         is not anchored to end of word, it should be adequate.
33361
33362         maint.mk: avoid side-effect in latest syntax-check
33363         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33364         to run commands via $(shell...), and hence to incur cost only when
33365         the new rule is actually run.
33366
33367         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33368         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33369         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33370         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33371         (gl_assured_headers_, az_, AZ_): Define.
33372         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33373
33374 2010-04-26  Jim Meyering  <jim@meyering.net>
33375             Bruno Haible  <bruno@clisp.org>
33376
33377         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33378         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33379         Prompted by an exchange with Gilles Espinasse.
33380
33381 2010-04-26  Jim Meyering  <meyering@redhat.com>
33382
33383         git-version-gen: aesthetic tweak
33384         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33385         so that the command remains on a single line.
33386
33387 2010-04-26  Eric Blake  <eblake@redhat.com>
33388
33389         git-version-gen: allow use on EBCDIC hosts
33390         * build-aux/git-version-gen (dirty): Use literal rather than tying
33391         ourselves to ascii.
33392         Reported by Steve Goetze.
33393
33394 2010-04-25  Bruno Haible  <bruno@clisp.org>
33395
33396         netdb: Add support for GNULIB_POSIXCHECK.
33397         * lib/netdb.in.h: Include warn-on-use.h.
33398         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33399         functions are used when GNULIB_POSIXCHECK is defined and the
33400         getaddrinfo module is not in use.
33401         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33402         freeaddrinfo, gai_strerror, getnameinfo are declared.
33403         * modules/netdb (Depends-on): Add warn-on-use.
33404         (Makefile.am): Include warn-on-use.h in netdb.h.
33405
33406 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33407
33408         build: avoid "make check" failure without .git/ directory
33409         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33410         there is no .git/ directory.
33411
33412 2010-04-25  Bruno Haible  <bruno@clisp.org>
33413
33414         ptsname: Fix misuse of ttyname_r.
33415         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33416         of errno.
33417
33418 2010-04-25  Bruno Haible  <bruno@clisp.org>
33419
33420         ttyname_r: Make it work on Solaris 10.
33421         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33422         if the system function has the POSIX declaration. Test whether the
33423         function fails if the buffer is less than 128 bytes large.
33424         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33425         system's ttyname_r function. Provide a reasonably large buffer.
33426         * modules/ttyname_r (Depends-on): Add extensions.
33427         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33428
33429 2010-04-25  Bruno Haible  <bruno@clisp.org>
33430
33431         Use the 'extensions' module for some more functions on Solaris.
33432         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33433         module.
33434         * doc/posix-functions/ctime_r.texi: Likewise.
33435         * doc/posix-functions/getgrgid_r.texi: Likewise.
33436         * doc/posix-functions/getgrnam_r.texi: Likewise.
33437         * doc/posix-functions/getpwnam_r.texi: Likewise.
33438         * doc/posix-functions/getpwuid_r.texi: Likewise.
33439         * doc/posix-functions/readdir_r.texi: Likewise.
33440         * doc/posix-functions/sigwait.texi: Likewise.
33441         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33442         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33443
33444 2010-04-25  Bruno Haible  <bruno@clisp.org>
33445
33446         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33447         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33448         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33449         * lib/ttyname_r.c: Include <limits.h>.
33450         (ttyname_r): Define using the system's ttyname_r function, if it exists
33451         and not on Solaris.
33452         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33453         set.
33454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33455         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33456         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33457         Reported by Simon Josefsson.
33458
33459 2010-04-25  Bruno Haible  <bruno@clisp.org>
33460
33461         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33462         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33463         * doc/posix-functions/ctime_r.texi: Likewise.
33464         * doc/posix-functions/getgrgid_r.texi: Likewise.
33465         * doc/posix-functions/getgrnam_r.texi: Likewise.
33466         * doc/posix-functions/getlogin_r.texi: Likewise.
33467         * doc/posix-functions/getpwnam_r.texi: Likewise.
33468         * doc/posix-functions/getpwuid_r.texi: Likewise.
33469         * doc/posix-functions/readdir_r.texi: Likewise.
33470         * doc/posix-functions/sigwait.texi: Likewise.
33471         * doc/posix-functions/ttyname_r.texi: Likewise.
33472         Reported by Simon Josefsson.
33473
33474 2010-04-25  Bruno Haible  <bruno@clisp.org>
33475
33476         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33477         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33478         also to --create-testdir.
33479         (func_acceptable): Don't consider the status of *-tests modules here.
33480         (func_modules_transitive_closure): Consider it here, before including a
33481         test module.
33482         (func_import, func_create_testdir): Set inc_all_direct_tests,
33483         inc_all_indirect_tests.
33484         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33485         --create-testdir and --create-megatestdir.
33486
33487 2010-04-25  Bruno Haible  <bruno@clisp.org>
33488
33489         gnulib-tool: Add --without-*-tests options.
33490         * gnulib-tool (func_usage): Document the --without-*-tests options.
33491         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33492         excl_unportable_tests): New variables.
33493         Fail if they are specified with --import or --update.
33494         (func_acceptable): Respect the excl_*_tests variables.
33495         (func_import): Set the excl_*_tests variables to empty.
33496
33497 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33498             Bruno Haible  <bruno@clisp.org>
33499
33500         Work around a MacOS X 10.4 bug with openpty.
33501         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33502         * tests/test-openpty.c (main): Close the master side explicitly.
33503
33504 2010-04-25  Bruno Haible  <bruno@clisp.org>
33505
33506         strnlen: Fix a C++ test error on MacOS X and Solaris.
33507         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33508         the function is not declared.
33509         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33510         Simon Josefsson.
33511
33512 2010-04-24  Bruno Haible  <bruno@clisp.org>
33513
33514         Avoid a gcc warning.
33515         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33516         of correct type for %08lx directive.
33517         Reported by Eric Blake.
33518
33519 2010-04-24  Bruno Haible  <bruno@clisp.org>
33520
33521         vasnprintf: Correct errno value in case of out-of-memory.
33522         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33523         or sprintf. Use the errno value from SNPRINTF or sprintf.
33524         Reported by Ian Beckwith <ianb@erislabs.net>.
33525
33526 2010-04-24  Bruno Haible  <bruno@clisp.org>
33527
33528         ansi-c++-opt: Find correct compiler when cross-compiling.
33529         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33530         AC_CHECK_PROGS.
33531         Reported by Simon Josefsson.
33532
33533 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33534
33535         vc-list-files: Add support for subversion
33536         * build-aux/vc-list-files: Use "svn list" to generate the list of
33537         files controlled by subversion.
33538
33539 2010-04-23  Jim Meyering  <meyering@redhat.com>
33540
33541         vc-list-files tests: convert to use init.sh
33542         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33543         path_prepend_.
33544         Use Exit, not exit.
33545         Use skip_ rather than open coding it.
33546         Remove trap set-up and compare definitions.
33547         * tests/test-vc-list-files-git.sh: Likewise.
33548         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33549
33550 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33551
33552         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33553         backup files.
33554
33555 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33556
33557         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33558
33559 2010-04-20  Eric Blake  <eblake@redhat.com>
33560
33561         tests: be robust to ignored SIGPIPE
33562         * tests/test-select-in.sh: Consume all output.
33563         * tests/test-lseek.sh: Check correct exit status, while avoiding
33564         EPIPE.
33565
33566 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33567             Bruno Haible  <bruno@clisp.org>
33568
33569         visibility: Don't use -fvisibility if it leads to a warning.
33570         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33571         yes, don't pretend that visibility works if it leads to a warning.
33572         Reported by Mike Gran <spk121@yahoo.com>.
33573
33574 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33575
33576         * build-aux/bootstrap: Use "git -h" for testing for supported options
33577         instead of "git --help".  The short-form option only shows a summary,
33578         and doesn't layout the full man page.  Grep for the full option name
33579         in the summary, too.
33580
33581 2010-04-19  Bruno Haible  <bruno@clisp.org>
33582
33583         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33584         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33585         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33586         mention of RELOCATABLE_STRIP.
33587         Reported by Sylvain Beucler <beuc@beuc.net>.
33588
33589 2010-04-19  Bruno Haible  <bruno@clisp.org>
33590
33591         * lib/diffseq.h: Fix typo in comment.
33592         Reported by Eric Blake.
33593
33594 2010-04-19  Bruno Haible  <bruno@clisp.org>
33595
33596         ioctl: Move autoconf macro to a .m4 file.
33597         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33598         * modules/ioctl (Files): Add it.
33599         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33600         Reported by Ian Beckwith <ianb@erislabs.net>.
33601
33602 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33603             Bruno Haible  <bruno@clisp.org>
33604
33605         diffseq: Accommodate use-case with abstract arrays.
33606         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33607         is not defined.
33608         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33609         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33610
33611 2010-04-18  Bruno Haible  <bruno@clisp.org>
33612
33613         * doc/posix-headers/stdbool.texi: More precise wording.
33614
33615 2010-04-17  Jim Meyering  <meyering@redhat.com>
33616
33617         maint.mk: use gnu-style indentation in an embedded perl script
33618         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33619         Rename variable: s/two/last_two_bytes/
33620
33621 2010-04-16  Eric Blake  <eblake@redhat.com>
33622
33623         test-stdbool: skip test that fails with Solaris CC
33624         * tests/test-stdbool.c (f): Skip test that causes compilation
33625         error under buggy C++ compiler.
33626         * lib/stdbool.in.h: Document the limitation.
33627         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33628
33629         setenv: allow compilation with C++
33630         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33631         register keyword.
33632
33633         stdint: allow test to pass with C++
33634         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33635
33636         getopt: allow compilation with C++
33637         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33638         struct.
33639         * lib/getopt.c (_getopt_internal_r): Use correct type.
33640         Reported by Dagobert Michelson, via Joel E. Denny.
33641
33642 2010-04-16  Bruno Haible  <bruno@clisp.org>
33643
33644         Override netdb.h always.
33645         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33646         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33647         Reported by Ludovic Courtès <ludo@gnu.org>.
33648
33649 2010-04-15  Bruno Haible  <bruno@clisp.org>
33650
33651         openpty: Fix mistake from 2010-03-21.
33652         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33653         Reported by Simon Josefsson.
33654
33655 2010-04-15  Eric Blake  <eblake@redhat.com>
33656
33657         test-forkpty: fix expected signature
33658         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33659         Reported by Simon Josefsson.
33660
33661 2010-04-15  Jim Meyering  <meyering@redhat.com>
33662
33663         maint.mk: texinfo_suffix_re_: correct the default regexp
33664         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33665
33666         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33667         make it configurable via texinfo_suffix_re_.
33668
33669 2010-04-14  Eric Blake  <eblake@redhat.com>
33670
33671         strtok_r: relax license to LGPLv2+
33672         * modules/strtok_r (License): Relax license.
33673         Reported by Matthias Bolte.
33674
33675 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33676
33677         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33678         version 1.4.4 by default instead of requiring the libgcrypt
33679         version used during build.  This makes it possible to use the
33680         application with older but still binary compatible libgcrypt
33681         versions.
33682
33683 2010-04-13  Eric Blake  <eblake@redhat.com>
33684
33685         getopt-gnu: match recent glibc fixes and posix ruling
33686         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33687         '+' handling, when requesting extensions.
33688         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33689         'W;' handling.
33690         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33691         * doc/posix-functions/getopt.texi (getopt): Document this.
33692         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33693         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33694         Likewise.
33695
33696         getopt: merge bug fixes from glibc
33697         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33698         diagnostics.  Honor '+:' correctly.  Reject ';'.
33699
33700         getopt-posix: detect MacOS bug
33701         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33702         optind when missing a required argument.
33703         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33704         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33705         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33706         Likewise.
33707
33708         getopt-posix: avoid spurious failure on Solaris
33709         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33710         an indicator that setting optind=1 is sufficient for reset.
33711
33712         getopt-posix: avoid spurious failure on FreeBSD
33713         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33714         in POSIX mode, since the m4 test uses it.
33715
33716         gnulib-tool: silence warning on BSD sh
33717         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33718
33719 2010-04-13  Jim Meyering  <meyering@redhat.com>
33720
33721         doc: users.txt: GNU patch now uses gnulib
33722         * users.txt: Add patch.
33723
33724 2010-04-12  Jim Meyering  <meyering@redhat.com>
33725
33726         maint.mk: generate more concise timing data for syntax-check rules
33727         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33728         " done" from each line that reports a syntax-check test duration.
33729
33730 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33731
33732         git-version-gen: use "git update-index..." rather than "git status"
33733         * build-aux/git-version-gen: Use git update-index --refresh, not
33734         "git status".  With some versions of git, "git status" would fail
33735         to update the index and result in an unwarranted "-dirty" suffix.
33736
33737 2010-04-11  Jim Meyering  <meyering@redhat.com>
33738
33739         openat: correct formatting (no semantic change)
33740         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33741         Suggested by Bruno Haible.
33742
33743 2010-04-11  Bruno Haible  <bruno@clisp.org>
33744
33745         Stricter declaration checking in testdirs.
33746         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33747         If for_tests is true, augment AM_CPPFLAGS to define
33748         GNULIB_STRICT_CHECKING.
33749         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33750         GNULIB_STRICT_CHECKING is defined, verify that the function is
33751         declared.
33752
33753 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33754             Bruno Haible  <bruno@clisp.org>
33755
33756         libunistring: Improve configure output.
33757         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33758         Don't say "consider installing GNU libunistring" when checking again
33759         with libiconv.
33760
33761 2010-04-11  Bruno Haible  <bruno@clisp.org>
33762
33763         libunistring: Correct value of $LTLIBUNISTRING.
33764         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33765         correct the value of $LTLIBUNISTRING.
33766
33767 2010-04-11  Bruno Haible  <bruno@clisp.org>
33768
33769         havelib: Add static libraries to LIBS in the right order.
33770         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
33771         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
33772
33773 2010-04-11  Bruno Haible  <bruno@clisp.org>
33774
33775         libunistring: Detect libunistring also when it depends on libiconv.
33776         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
33777         the second AC_LIB_HAVE_LINKFLAGS invocation.
33778
33779 2010-04-11  James Youngman  <jay@gnu.org>
33780
33781         close-stream: declare local scalars to be "const"
33782         * lib/close-stream.c (close_stream): Make boolean variables const
33783         to document the fact that we set but do not change them.
33784
33785 2010-04-11  Bruno Haible  <bruno@clisp.org>
33786
33787         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
33788
33789 2010-04-11  Jim Meyering  <meyering@redhat.com>
33790
33791         maint.mk: don't include dist-check.mk
33792         * top/maint.mk: Remove bogus include directive.
33793
33794         maint.mk: improve empty-line-at-EOF check
33795         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
33796         solution, rather than tail+Perl-based one.  The latter would read
33797         a few kilobytes from the end of each file, and did not handle empty
33798         files properly.
33799
33800         maint.mk: print the elapsed time for each syntax-check rule
33801         * top/maint.mk (sc_m_rules_): Save start time in a file.
33802         (sc_z_rules_): New rules: remove temp file and print elapsed time.
33803         (local-check): Interpose the .z rules
33804
33805 2010-04-11  Jim Meyering  <meyering@redhat.com>
33806
33807         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
33808         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
33809         empty file with one that ends in an empty line.
33810
33811 2010-04-10  Bruno Haible  <bruno@clisp.org>
33812
33813         mkdir: Make it work on mingw64.
33814         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
33815         * lib/mkdir.c: Update comment.
33816         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
33817
33818 2010-04-10  Bruno Haible  <bruno@clisp.org>
33819
33820         Don't override improved macro from newer autoconf.
33821         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
33822         autoconf >= 2.62.
33823         Reported by Joel E. Denny <jdenny@clemson.edu>.
33824
33825 2010-04-10  Jim Meyering  <meyering@redhat.com>
33826
33827         maint.mk: new syntax-check rule: prohibit empty lines at end of file
33828         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
33829
33830         maint.mk: correct a diagnostic
33831         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
33832         in diagnostic; now use $prohibit.
33833
33834 2010-04-10  Bruno Haible  <address@hidden>
33835
33836         fchownat: Fix a C++ test error on Solaris 8.
33837         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
33838         the function does not exist.
33839
33840 2010-04-10  Bruno Haible  <bruno@clisp.org>
33841
33842         vasnprintf: Add more tests.
33843         * tests/test-vasnprintf-posix.c: Include <errno.h>.
33844         (test_function): Test converting an invalid wide string.
33845
33846         vasnprintf: Correct handling of unconvertible wide string arguments.
33847         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
33848         VASNPRINTF.
33849         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
33850         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
33851         smaller than the expected maximum need for the directive. Set errno to
33852         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
33853         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
33854         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
33855         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
33856         * modules/vasnprintf (Files): Add m4/printf.m4.
33857         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33858
33859 2010-04-10  Bruno Haible  <bruno@clisp.org>
33860
33861         vasnprintf: Fix crash in %ls directive.
33862         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
33863         string is passed as argument to %ls, with no precision and no width.
33864         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33865
33866 2010-04-10  Bruno Haible  <bruno@clisp.org>
33867
33868         vasnprintf: Fix multiple test failures on mingw.
33869         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
33870         _snprintf, or snwprintf, not _snwprintf.
33871
33872 2010-04-10  Bruno Haible  <bruno@clisp.org>
33873
33874         write: Fix a C++ test error on mingw.
33875         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
33876
33877 2010-04-10  Bruno Haible  <bruno@clisp.org>
33878
33879         vasnprintf test: Reduce code duplication.
33880         * tests/test-vasnprintf.c (test_function): New function, extracted from
33881         test_vasnprintf.
33882         (test_vasnprintf, test_asnprintf): Invoke it.
33883
33884 2010-04-10  Bruno Haible  <bruno@clisp.org>
33885
33886         strnlen: Fix warning in C++ mode on MacOS X.
33887         * lib/string.in.h (strnlen): Use the modern idiom.
33888         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
33889         defining strnlen as a macro already in <config.h>.
33890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33891         REPLACE_STRNLEN.
33892         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
33893         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33894
33895 2010-04-08  James Youngman  <jay@gnu.org>
33896
33897         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
33898         the example.
33899
33900 2010-04-09  Jim Meyering  <meyering@redhat.com>
33901
33902         maint.mk: print better diagnostic when there is no $(_hv_file)
33903         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
33904         announce that when $(_hv_file) (aka help-version) does not exist.
33905
33906         init.sh: run tr in the "C" locale to avoid multibyte interpretation
33907         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
33908         not try to interpret its random input bytes.  Jarno Rajahalme reported
33909         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
33910         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
33911         (mktempd_): Likewise, just in case.
33912
33913         ftruncate: add two years to projected module removal date: 2012
33914         * m4/ftruncate.m4: Adjust comments.
33915
33916         ftruncate: mark module as obsolete; even MinGW provides it, now
33917         * modules/ftruncate (Status): Obsolete.
33918         (Notice): Say that.
33919         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
33920         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
33921
33922 2010-04-08  Bruno Haible  <bruno@clisp.org>
33923
33924         Fix side effects from tests-related modules.
33925         * modules/dprintf-posix (Comment): New section.
33926         * modules/fprintf-posix (Comment): Likewise.
33927         * modules/obstack-printf-posix (Comment): Likewise.
33928         * modules/printf-posix (Comment): Likewise.
33929         * modules/snprintf-posix (Comment): Likewise.
33930         * modules/sprintf-posix (Comment): Likewise.
33931         * modules/vasnprintf-posix (Comment): Likewise.
33932         * modules/vasprintf-posix (Comment): Likewise.
33933         * modules/vdprintf-posix (Comment): Likewise.
33934         * modules/vfprintf-posix (Comment): Likewise.
33935         * modules/vprintf-posix (Comment): Likewise.
33936         * modules/vsnprintf-posix (Comment): Likewise.
33937         * modules/vsprintf-posix (Comment): Likewise.
33938         * modules/xprintf-posix (Comment): Likewise.
33939         * modules/xvasprintf-posix (Comment): Likewise.
33940         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
33941         * modules/floorf-tests (Depends-on): Likewise.
33942         * modules/round-tests (Depends-on): Likewise.
33943         * modules/roundf-tests (Depends-on): Likewise.
33944         * modules/trunc-tests (Depends-on): Likewise.
33945         * modules/truncf-tests (Depends-on): Likewise.
33946         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
33947         'fprintf-posix' module is not present.
33948         * tests/test-floorf2.c (check): Likewise.
33949         * tests/test-trunc2.c (check): Likewise.
33950         * tests/test-truncf2.c (check): Likewise.
33951         * tests/test-round2.c (equal): Likewise.
33952         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33953
33954 2010-04-07  Karl Berry  <karl@gnu.org>
33955
33956         * config/srclist.txt,
33957         * config/srclistvars.sh,
33958         * config/srclist-update: doc fixes.
33959
33960 2010-04-07  Jim Meyering  <meyering@redhat.com>
33961
33962         maint.mk: add a PATH crosschecking syntax-check rule
33963         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
33964         Useful if you use a test like the one in help-version (coreutils,
33965         diffutils, grep, gzip) that ensures $(VERSION) matches what is
33966         printed by prog --version.
33967
33968 2010-04-06  Bruno Haible  <bruno@clisp.org>
33969
33970         Fix link error on mingw.
33971         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
33972         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
33973
33974 2010-04-06  Bruno Haible  <bruno@clisp.org>
33975
33976         Assume rmdir exists.
33977         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
33978
33979 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
33980
33981         doc: update users.txt
33982         * users.txt: Add gcal.
33983
33984 2010-04-06  Jim Meyering  <meyering@redhat.com>
33985
33986         init.sh: simply unset TMPDIR rather than risking env -i
33987         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
33988         although it probably works fine on all Unix-based systems, some
33989         systems (Cygwin?) cannot tolerate a totally cleared environment.
33990         Suggestion from Eric Blake.
33991
33992 2010-04-06  Jim Meyering  <meyering@redhat.com>
33993
33994         init.sh: portability fix: use env's POSIX-specified -i option not -u
33995         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
33996         than unportable env -u.  Solaris 5.11's env lacks support for -u.
33997
33998 2010-04-05  Bruno Haible  <bruno@clisp.org>
33999
34000         btowc: Work around Cygwin 1.7.2 bug.
34001         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34002         does not map NUL to 0.
34003         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34004
34005 2010-04-05  Bruno Haible  <bruno@clisp.org>
34006
34007         Make the multithread modules work on Cygwin 1.7.2.
34008         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34009         imported symbols can be declared weak, so that it returns "no" on
34010         Cygwin 1.7.2.
34011
34012 2010-04-05  Bruno Haible  <bruno@clisp.org>
34013
34014         Use the module 'strncat'.
34015         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34016
34017         Tests for module 'strncat'.
34018         * modules/strncat-tests: New file.
34019         * tests/test-strncat.c: New file.
34020
34021         New module 'strncat'.
34022         * lib/string.in.h (strncat): New declaration.
34023         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34024         * m4/strncat.m4: New file, based on m4/memchr.m4.
34025         * modules/strncat: New file.
34026         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34027         is declared.
34028         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34029         REPLACE_STRNCAT.
34030         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34031         REPLACE_STRNCAT.
34032         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34033         module.
34034         * tests/test-string-c++.cc: Check signature of strncat.
34035
34036 2010-04-05  Jim Meyering  <meyering@redhat.com>
34037
34038         xstrtoumax-tests: convert to use init.sh
34039         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34040         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34041         Use Exit, not exit.
34042         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34043
34044         xstrtoimax-tests: convert to use init.sh
34045         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34046         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34047         Use Exit, not exit.
34048         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34049
34050 2010-04-05  Bruno Haible  <bruno@clisp.org>
34051
34052         sys_socket: Avoid #define replacements in C++ mode.
34053         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34054         warning to the function if possible, rather than #defining the symbol
34055         to a dysfunctional alias.
34056
34057 2010-04-05  Bruno Haible  <bruno@clisp.org>
34058
34059         fseeko: Fix C++ test error on mingw.
34060         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34061         gl_FUNC_FSEEKO.
34062         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34063         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34064         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34065         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34066
34067 2010-04-05  Bruno Haible  <bruno@clisp.org>
34068
34069         duplocale: Improve test output.
34070         * tests/test-duplocale.c (main): Print reason for skipped test.
34071
34072 2010-04-05  Bruno Haible  <bruno@clisp.org>
34073
34074         Assume rmdir exists.
34075         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34076         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34077
34078 2010-04-05  Bruno Haible  <bruno@clisp.org>
34079
34080         Fix link error on Solaris 8 with cc.
34081         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34082
34083 2010-04-05  Bruno Haible  <bruno@clisp.org>
34084
34085         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34086         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34087
34088 2010-04-05  Bruno Haible  <bruno@clisp.org>
34089
34090         vasprintf: Update documentation.
34091         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34092
34093 2010-04-05  Bruno Haible  <bruno@clisp.org>
34094
34095         ptsname: Improve test.
34096         * tests/test-ptsname.c (main): Also try the various master names of BSD
34097         systems.
34098
34099 2010-04-05  Bruno Haible  <bruno@clisp.org>
34100
34101         memchr: Avoid a possible C++ test error.
34102         * lib/string.in.h (memchr): Provide declaration if function is missing.
34103         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34104         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34105         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34106         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34107
34108 2010-04-05  Bruno Haible  <bruno@clisp.org>
34109
34110         strtok_r: Improve idiom.
34111         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34112         AC_LIBOBJ is used.
34113
34114 2010-04-05  Bruno Haible  <bruno@clisp.org>
34115
34116         strdup: Improve idiom.
34117         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34118         AC_LIBOBJ is used.
34119         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34120         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34121         when AC_LIBOBJ is used.
34122
34123 2010-04-05  Bruno Haible  <bruno@clisp.org>
34124
34125         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34126         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34127         don't set REPLACE_MBSINIT to 1.
34128         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34129         don't set REPLACE_MBRTOWC to 1.
34130         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34131         exist, don't set REPLACE_MBSRTOWCS to 1.
34132         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34133         exist, don't set REPLACE_MBSNRTOWCS to 1.
34134         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34135         don't set REPLACE_WCRTOMB to 1.
34136         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34137         exist, don't set REPLACE_WCSRTOMBS to 1.
34138         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34139         exist, don't set REPLACE_WCSNRTOMBS to 1.
34140
34141 2010-04-05  Bruno Haible  <bruno@clisp.org>
34142
34143         ldexpl: Improve idiom.
34144         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34145         make sure to set HAVE_DECL_LDEXPL to 0.
34146
34147 2010-04-05  Jim Meyering  <meyering@redhat.com>
34148
34149         xstrtol-tests: convert to use init.sh
34150         * modules/xstrtol-tests (Files): Add tests/init.sh.
34151         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34152         Use Exit, not exit.
34153         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34154
34155         atexit-tests: convert to use init.sh
34156         * modules/atexit-tests (Files): Add tests/init.sh.
34157         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34158         Use Exit, not exit.
34159         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34160
34161         init.sh: fix typo
34162         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34163
34164         init.sh: make it easier for a test script to write to the tty, ...
34165         when using automake's parallel-tests mode.
34166         * tests/init.sh (stderr_fileno_): Define overridable variable.
34167         (warn_): New function, to use it.
34168         (fail_, skip_, framework_failure_): Use warn_.
34169
34170 2010-04-04  Bruno Haible  <bruno@clisp.org>
34171
34172         btowc: Avoid warning.
34173         * lib/btowc.c: Include <stdlib.h>.
34174         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34175
34176 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34177             Bruno Haible  <bruno@clisp.org>
34178
34179         wchar: Port to NetBSD 1.5.
34180         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34181         * lib/wctype.in.h (WEOF): Likewise.
34182
34183 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34184             Bruno Haible  <bruno@clisp.org>
34185
34186         Port extended stdio to NetBSD 1.5.
34187         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34188         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34189         older.
34190
34191 2010-04-04  Bruno Haible  <bruno@clisp.org>
34192
34193         string: Remove unused substitution.
34194         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34195         HAVE_DECL_STRERROR.
34196         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34197
34198 2010-04-04  Bruno Haible  <bruno@clisp.org>
34199
34200         strtod: Avoid a possible C++ test error.
34201         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34202         set REPLACE_STRTOD.
34203
34204 2010-04-04  Bruno Haible  <bruno@clisp.org>
34205
34206         strerror: Update documentation.
34207         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34208
34209 2010-04-04  Bruno Haible  <bruno@clisp.org>
34210
34211         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34212         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34213         _GL_CXXALIAS_SYS_CAST.
34214
34215 2010-04-04  Bruno Haible  <bruno@clisp.org>
34216
34217         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34218         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34219         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34220         REPLACE_FREXPL to 1.
34221         * doc/posix-functions/frexpl.texi: Update documentation.
34222
34223 2010-04-04  Bruno Haible  <bruno@clisp.org>
34224
34225         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34226         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34227
34228 2010-04-04  Bruno Haible  <bruno@clisp.org>
34229
34230         Implement nanosleep for native Windows.
34231         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34232
34233 2010-04-04  Bruno Haible  <bruno@clisp.org>
34234
34235         math: Fix some C++ test errors on Solaris 8.
34236         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34237
34238 2010-04-04  Bruno Haible  <bruno@clisp.org>
34239
34240         math: Fix some C++ test errors on Cygwin.
34241         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34242         truncl): Provide declaration if the system does not have it.
34243         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34244         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34245         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34246         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34247         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34248         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34249         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34250         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34251         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34252         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34253         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34254         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34255         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34256         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34257         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34258         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34260         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34261         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34262         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34263         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34264         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34265
34266 2010-04-04  Bruno Haible  <bruno@clisp.org>
34267
34268         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34269         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34270         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34271         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34272         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34273         * m4/isinf.m4 (gl_ISINF): Likewise.
34274         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34275
34276 2010-04-04  Bruno Haible  <bruno@clisp.org>
34277
34278         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34279         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34280
34281 2010-04-04  Bruno Haible  <bruno@clisp.org>
34282
34283         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34284         * modules/tmpfile (configure.ac): Update.
34285
34286         tmpfile: Fix C++ test error on mingw.
34287         * lib/stdio.in.h (tmpfile): New declaration.
34288         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34289         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34290         * modules/tmpfile (Depends-on): Add stdio.
34291         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34292         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34293         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34294         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34295         REPLACE_TMPFILE.
34296         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34297
34298 2010-04-04  Bruno Haible  <bruno@clisp.org>
34299
34300         ioctl: Fix C++ test error on mingw.
34301         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34302         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34303         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34304
34305 2010-04-03  Bruno Haible  <bruno@clisp.org>
34306
34307         wcwidth: Fix C++ test error on mingw.
34308         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34309         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34310         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34311
34312 2010-04-03  Bruno Haible  <bruno@clisp.org>
34313
34314         nanosleep: Fix C++ test error on mingw.
34315         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34316         * lib/time.in.h (nanosleep): Use modern idiom.
34317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34318         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34319         REPLACE_NANOSLEEP to 1.
34320         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34321         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34322
34323 2010-04-03  Bruno Haible  <bruno@clisp.org>
34324
34325         strptime: Fix C++ test error on mingw.
34326         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34327         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34328         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34329         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34330         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34331         not REPLACE_STRPTIME.
34332         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34333         REPLACE_STRPTIME.
34334
34335 2010-04-03  Bruno Haible  <bruno@clisp.org>
34336
34337         timegm: Fix C++ test error on mingw.
34338         * lib/time.in.h (timegm): Use modern idiom.
34339         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34340         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34341         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34342         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34343
34344 2010-04-03  Bruno Haible  <bruno@clisp.org>
34345
34346         timegm: Assume declaration if function exists.
34347         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34348         if it exists. Don't clobber ac_cv_func_timegm.
34349
34350 2010-04-03  Bruno Haible  <bruno@clisp.org>
34351
34352         time_r: Fix C++ test error on mingw.
34353         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34354         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34355         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34356         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34357         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34358
34359 2010-04-03  Bruno Haible  <bruno@clisp.org>
34360
34361         time_r: Minor updates.
34362         * modules/time_r (Description): Mention the provided functions.
34363         * lib/time_r.c: Don't include <string.h>.
34364         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34365         * doc/posix-functions/localtime_r.texi: Likewise.
34366
34367 2010-04-03  Bruno Haible  <bruno@clisp.org>
34368
34369         time: Fix regression introduced on 2010-03-08.
34370         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34371         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34372
34373 2010-04-03  Jim Meyering  <meyering@redhat.com>
34374
34375         maint.mk: don't silently disable project-specific syntax-check rules
34376         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34377         that they need to convert their project-specific syntax-check rules
34378         to use the new _sc_search_regexp.
34379
34380 2010-04-03  Bruno Haible  <bruno@clisp.org>
34381
34382         fchdir: Fix regression introduced on 2010-03-08.
34383         * lib/unistd.in.h (fchdir): Fix declaration.
34384         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34386         REPLACE_FCHDIR.
34387         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34388         REPLACE_FCHDIR.
34389
34390 2010-04-03  Bruno Haible  <bruno@clisp.org>
34391
34392         getpagesize: Fix C++ test error on mingw.
34393         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34394         system does not declare the function.
34395         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34396         declared.
34397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34398         HAVE_DECL_GETPAGESIZE.
34399         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34400
34401 2010-04-03  Bruno Haible  <bruno@clisp.org>
34402
34403         stdio: Make C++ tests work on mingw.
34404         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34405         does not declare the function.
34406
34407 2010-04-03  Bruno Haible  <bruno@clisp.org>
34408
34409         ftello: Fix C++ test error on mingw.
34410         * lib/stdio.in.h (ftello): Use modern idiom.
34411         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34412         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34413         is missing and that it needs to be replaced.
34414         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34416         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34417
34418 2010-04-03  Bruno Haible  <bruno@clisp.org>
34419
34420         fseeko: Fix C++ test error on mingw.
34421         * lib/stdio.in.h (fseeko): Use modern idiom.
34422         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34423         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34424         is missing and that it needs to be replaced.
34425         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34427         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34428
34429 2010-04-03  Bruno Haible  <bruno@clisp.org>
34430
34431         mkstemp: Fix C++ test error on mingw.
34432         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34433         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34434         function is missing and that it needs to be replaced.
34435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34436         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34437
34438 2010-04-03  Bruno Haible  <bruno@clisp.org>
34439
34440         stpncpy: Fix C++ test error on mingw.
34441         * lib/string.in.h (stpncpy): Use modern idiom.
34442         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34443         function is missing and that it needs to be replaced.
34444         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34445         REPLACE_STPNCPY.
34446         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34447
34448 2010-04-03  Bruno Haible  <bruno@clisp.org>
34449
34450         sys_stat: Fix C++ test error on mingw.
34451         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34452         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34453
34454 2010-04-03  Bruno Haible  <bruno@clisp.org>
34455
34456         pty: Update doc.
34457         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34458
34459 2010-04-03  Bruno Haible  <bruno@clisp.org>
34460
34461         unistd: Fix C++ test error on mingw.
34462         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34463
34464 2010-04-03  Bruno Haible  <bruno@clisp.org>
34465
34466         Update doc regarding mingw.
34467         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34468         * doc/glibc-functions/login_tty.texi: Likewise.
34469         * doc/glibc-functions/forkpty.texi: Likewise.
34470
34471 2010-04-03  Bruno Haible  <bruno@clisp.org>
34472
34473         stdlib: Avoid compilation failure of c-strtold on mingw.
34474         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34475
34476 2010-04-03  Bruno Haible  <bruno@clisp.org>
34477
34478         locale: Make C++ tests work on Cygwin and mingw.
34479         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34480         cannot provide the function.
34481         Reported by Simon Josefsson.
34482
34483 2010-04-03  Bruno Haible  <bruno@clisp.org>
34484
34485         localename: Port to MacOS X 10.6.
34486         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34487         memory layout of the locales in MacOS X 10.6 as well.
34488         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34489
34490 2010-04-02  Bruno Haible  <bruno@clisp.org>
34491
34492         gnulib-tool: Ensure that long-running tests are executed last.
34493         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34494         running tests after the one for the other tests.
34495
34496 2010-04-02  Bruno Haible  <bruno@clisp.org>
34497
34498         gnulib-tool: Ensure the tests in the main directory are executed first.
34499         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34500         start with the current directory.
34501
34502 2010-04-02  Bruno Haible  <bruno@clisp.org>
34503
34504         Tests for module 'havelib', moved here from GNU gettext.
34505         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34506         modifications.
34507         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34508         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34509         with modifications.
34510         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34511         modifications.
34512         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34513         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34514         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34515         with modifications.
34516         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34517         with modifications.
34518         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34519         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34520         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34521         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34522         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34523         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34524         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34525         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34526         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34527         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34528         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34529         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34530         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34531         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34532         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34533         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34534         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34535         with modifications.
34536         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34537         with modifications.
34538         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34539         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34540         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34541         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34542         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34543         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34544         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34545         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34546         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34547         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34548         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34549         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34550         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34551         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34552         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34553         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34554         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34555         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34556         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34557         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34558         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34559         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34560         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34561         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34562         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34563         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34564         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34565         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34566         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34567         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34568         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34569         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34570         * tests/havelib/rpathx/rpathx.c: New file, from
34571         gettext/autoconf-lib-link.
34572         * tests/havelib/rpathx/Makefile.am: New file, from
34573         gettext/autoconf-lib-link.
34574         * tests/havelib/rpathx/configure.ac: New file, from
34575         gettext/autoconf-lib-link with modifications.
34576         * tests/havelib/rpathy/rpathy.c: New file, from
34577         gettext/autoconf-lib-link.
34578         * tests/havelib/rpathy/Makefile.am: New file, from
34579         gettext/autoconf-lib-link.
34580         * tests/havelib/rpathy/configure.ac: New file, from
34581         gettext/autoconf-lib-link with modifications.
34582         * tests/havelib/rpathz/rpathz.c: New file, from
34583         gettext/autoconf-lib-link.
34584         * tests/havelib/rpathz/Makefile.am: New file, from
34585         gettext/autoconf-lib-link.
34586         * tests/havelib/rpathz/configure.ac: New file, from
34587         gettext/autoconf-lib-link with modifications.
34588         * tests/havelib/rpathlx/usex.c: New file, from
34589         gettext/autoconf-lib-link.
34590         * tests/havelib/rpathlx/Makefile.am: New file, from
34591         gettext/autoconf-lib-link.
34592         * tests/havelib/rpathlx/configure.ac: New file, from
34593         gettext/autoconf-lib-link with modifications.
34594         * tests/havelib/rpathly/usey.c: New file, from
34595         gettext/autoconf-lib-link.
34596         * tests/havelib/rpathly/Makefile.am: New file, from
34597         gettext/autoconf-lib-link.
34598         * tests/havelib/rpathly/configure.ac: New file, from
34599         gettext/autoconf-lib-link with modifications.
34600         * tests/havelib/rpathlz/usez.c: New file, from
34601         gettext/autoconf-lib-link.
34602         * tests/havelib/rpathlz/Makefile.am: New file, from
34603         gettext/autoconf-lib-link.
34604         * tests/havelib/rpathlz/configure.ac: New file, from
34605         gettext/autoconf-lib-link with modifications.
34606         * tests/havelib/rpathlyx/usey.c: New file, from
34607         gettext/autoconf-lib-link.
34608         * tests/havelib/rpathlyx/Makefile.am: New file, from
34609         gettext/autoconf-lib-link.
34610         * tests/havelib/rpathlyx/configure.ac: New file, from
34611         gettext/autoconf-lib-link with modifications.
34612         * tests/havelib/rpathlzyx/usez.c: New file, from
34613         gettext/autoconf-lib-link.
34614         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34615         gettext/autoconf-lib-link.
34616         * tests/havelib/rpathlzyx/configure.ac: New file, from
34617         gettext/autoconf-lib-link with modifications.
34618         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34619         with modifications.
34620
34621 2010-04-02  Bruno Haible  <bruno@clisp.org>
34622
34623         gnulib-tool: Create distributed built sources also for the tests.
34624         * gnulib-tool (func_create_testdir): Also generate distributed built
34625         sources in the tests directory.
34626
34627 2010-04-02  Bruno Haible  <bruno@clisp.org>
34628
34629         gnulib-tool: Obey user's environment variables.
34630         * gnulib-tool (func_create_testdir): When creating built sources,
34631         respect the environment variables for autoconf, automake, etc. given by
34632         the user.
34633
34634 2010-04-02  Bruno Haible  <bruno@clisp.org>
34635
34636         gnulib-tool: Provide the value of --m4-base to modules.
34637         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34638         of gl_m4_base.
34639
34640 2010-04-02  Eric Blake  <eblake@redhat.com>
34641
34642         maint.mk: fix some fallout
34643         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34644         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34645
34646 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34647
34648         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34649         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34650         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34651         (sc_cast_of_x_alloc_return_value): Likewise.
34652         (sc_cast_of_alloca_return_value): Likewise.
34653         (sc_space_tab): Likewise.
34654         (sc_prohibit_atoi_atof): Likewise.
34655         (sc_prohibit_magic_number_exit): Likewise.
34656         (sc_error_exit_success): Likewise.
34657         (sc_file_system): Likewise.
34658         (sc_prohibit_have_config_h): Likewise.
34659         (sc_require_config_h): Likewise.
34660         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34661         (sc_obsolete_symbols): Likewise.
34662         (sc_changelog): Likewise.
34663         (sc_program_name): Likewise.
34664         (sc_the_the): Likewise.
34665         (sc_trailing_blank): Likewise.
34666         (sc_two_space_separator_in_usage): Likewise.
34667         (sc_useless_cpp_parens): Likewise.
34668         (sc_GPL_version): Likewise.
34669         (sc_GFDL_version): Likewise.
34670         (sc_texinfo_acronym): Likewise.
34671         (sc_prohibit_cvs_keyword): Likewise.
34672         (sc_prohibit_stat_st_blocks): Likewise.
34673         (sc_prohibit_S_IS_definition): Likewise.
34674         (sc_redundant_const): Likewise.
34675         (sc_makefile_TAB_only_indentation): Likewise.
34676         (sc_m4_quote_check): Likewise.
34677         (sc_makefile_path_separator_check): Likewise.
34678         (sc_copyright_check): Likewise.
34679         (sc_Wundef_boolean): Likewise.
34680         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34681
34682         maint.mk: match 0 or more whitespace-before-function-call '('
34683         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34684         that have zero or two-and-more spaces between the function name
34685         and the open parenthesis.
34686         (sc_error_message_warn_fatal): Likewise.
34687         (sc_error_message_uppercase): Likewise.
34688         (sc_error_message_period): Likewise.
34689
34690 2010-03-31  Eric Blake  <eblake@redhat.com>
34691
34692         maint.mk: check for [ as well as test
34693         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34694         Based on a libvirt report by Matthias Bolte.
34695
34696         gnumakefile: don't squelch _version output
34697         * top/GNUmakefile (_version): Create one-shot dependency rather
34698         than using $(shell) when version must be regenerated.
34699         (_autoreconf): Run verbosely, by default.
34700
34701         sys_time: avoid compiler warnings
34702         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34703         unconditional, fixing regression from 2010-03-29.
34704         Reported by Simon Josefsson.
34705
34706 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34707
34708         maint.mk: s/_header_without_use/_sc_header_without_use/
34709         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34710         (sc_prohibit_assert_without_use): Use the new name.
34711         (sc_prohibit_close_stream_without_use): Likewise.
34712         (sc_prohibit_getopt_without_use): Likewise.
34713         (sc_prohibit_quotearg_without_use): Likewise.
34714         (sc_prohibit_quote_without_use): Likewise.
34715         (sc_prohibit_long_options_without_use): Likewise.
34716         (sc_prohibit_inttostr_without_use): Likewise.
34717         (sc_prohibit_ignore_value_without_use): Likewise.
34718         (sc_prohibit_error_without_use): Likewise.
34719         (sc_prohibit_xalloc_without_use): Likewise.
34720         (sc_prohibit_hash_without_use): Likewise.
34721         (sc_prohibit_hash_pjw_without_use): Likewise.
34722         (sc_prohibit_safe_read_without_use): Likewise.
34723         (sc_prohibit_argmatch_without_use): Likewise.
34724         (sc_prohibit_canonicalize_without_use): Likewise.
34725         (sc_prohibit_root_dev_ino_without_use): Likewise.
34726         (sc_prohibit_openat_without_use): Likewise.
34727         (sc_prohibit_c_ctype_without_use): Likewise.
34728         (sc_prohibit_signal_without_use): Likewise.
34729         (sc_prohibit_intprops_without_use): Likewise.
34730
34731 2010-03-30  Eric Blake  <eblake@redhat.com>
34732
34733         maint: improve module indicators
34734         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34735         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34736         columns, and avoid extra macro expansion.
34737
34738         fdopendir: work around FreeBSD bug
34739         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34740         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34741         * modules/dirent (Makefile.am): Substitute it.
34742         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34743         declaration.
34744         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34745         fix.
34746         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34747
34748 2010-03-29  Bruno Haible  <bruno@clisp.org>
34749
34750         Emit #pragma system_header after the inclusion guard, not before.
34751         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34752         guard that spans the entire file, not before. This enables an
34753         optimization in GCC's preprocessor.
34754         * lib/ctype.in.h: Likewise.
34755         * lib/dirent.in.h: Likewise.
34756         * lib/errno.in.h: Likewise.
34757         * lib/float.in.h: Likewise.
34758         * lib/getopt.in.h: Likewise.
34759         * lib/iconv.in.h: Likewise.
34760         * lib/langinfo.in.h: Likewise.
34761         * lib/locale.in.h: Likewise.
34762         * lib/math.in.h: Likewise.
34763         * lib/netdb.in.h: Likewise.
34764         * lib/netinet_in.in.h: Likewise.
34765         * lib/pty.in.h: Likewise.
34766         * lib/sched.in.h: Likewise.
34767         * lib/se-selinux.in.h: Likewise.
34768         * lib/search.in.h: Likewise.
34769         * lib/spawn.in.h: Likewise.
34770         * lib/stdarg.in.h: Likewise.
34771         * lib/stdint.in.h: Likewise.
34772         * lib/string.in.h: Likewise.
34773         * lib/strings.in.h: Likewise.
34774         * lib/sys_file.in.h: Likewise.
34775         * lib/sys_ioctl.in.h: Likewise.
34776         * lib/sys_time.in.h: Likewise.
34777         * lib/sys_times.in.h: Likewise.
34778         * lib/sys_utsname.in.h: Likewise.
34779         * lib/sys_wait.in.h: Likewise.
34780         * lib/sysexits.in.h: Likewise.
34781         * lib/wctype.in.h: Likewise.
34782
34783 2010-03-28  James Youngman  <jay@gnu.org>
34784
34785         save-cwd: don't leak a file descriptor when the caller execs.
34786         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
34787         saved file descriptor.
34788         * modules/save-cwd (Depends-on): Depend on cloexec.
34789
34790 2010-03-29  Bruno Haible  <bruno@clisp.org>
34791
34792         Remove vestiges of fts-lgpl module.
34793         * lib/fts_.h: Assume GNULIB_FTS is 1.
34794         * lib/fts.c: Likewise.
34795         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34796
34797 2010-03-28  Bruno Haible  <bruno@clisp.org>
34798
34799         Fix definition of tests witness macro.
34800         * gnulib-tool (func_import): Fix definition of witness macro.
34801
34802 2010-03-28  Bruno Haible  <bruno@clisp.org>
34803
34804         Fix ioctl's protoype on glibc systems.
34805         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
34806         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
34807         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
34808         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
34809         signature. If not, arrange to replace the ioctl function.
34810         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34811         REPLACE_IOCTL.
34812         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
34813         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
34814         Reported by Ludovic Courtès <ludo@gnu.org>.
34815
34816 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
34817
34818         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
34819         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
34820         made it so grep -r --include=GLOB* ... did not work.
34821
34822 2010-03-26  Jim Meyering  <meyering@redhat.com>
34823             Eric Blake  <eblake@redhat.com>
34824
34825         maint.mk: prohibit use of test's -o and -a operators
34826         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
34827
34828 2010-03-28  Bruno Haible  <bruno@clisp.org>
34829
34830         Remove unused GNULIB_XYZ macro definitions.
34831         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
34832         invocation.
34833
34834 2010-03-28  Bruno Haible  <bruno@clisp.org>
34835
34836         Mark privileged tests modules.
34837         * modules/idpriv-drop-tests (Status): New section.
34838         * modules/idpriv-droptemp-tests (Status): New section.
34839
34840 2010-03-28  Bruno Haible  <bruno@clisp.org>
34841
34842         Split C++ tests into separate tests modules.
34843         * modules/dirent-c++-tests: New file, extracted from
34844         modules/dirent-tests.
34845         * modules/dirent-tests: Depend on it.
34846         * modules/fcntl-h-c++-tests: New file, extracted from
34847         modules/fcntl-h-tests.
34848         * modules/fcntl-h-tests: Depend on it.
34849         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
34850         * modules/glob-tests: Depend on it.
34851         * modules/iconv-h-c++-tests: New file, extracted from
34852         modules/iconv-h-tests.
34853         * modules/iconv-h-tests: Depend on it.
34854         * modules/langinfo-c++-tests: New file, extracted from
34855         modules/langinfo-tests.
34856         * modules/langinfo-tests: Depend on it.
34857         * modules/locale-c++-tests: New file, extracted from
34858         modules/locale-tests.
34859         * modules/locale-tests: Depend on it.
34860         * modules/math-c++-tests: New file, extracted from modules/math-tests.
34861         * modules/math-tests: Depend on it.
34862         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
34863         * modules/pty-tests: Depend on it.
34864         * modules/search-c++-tests: New file, extracted from
34865         modules/search-tests.
34866         * modules/search-tests: Depend on it.
34867         * modules/signal-c++-tests: New file, extracted from
34868         modules/signal-tests.
34869         * modules/signal-tests: Depend on it.
34870         * modules/spawn-c++-tests: New file, extracted from
34871         modules/spawn-tests.
34872         * modules/spawn-tests: Depend on it.
34873         * modules/stdio-c++-tests: New file, extracted from
34874         modules/stdio-tests.
34875         * modules/stdio-tests: Depend on it.
34876         * modules/stdlib-c++-tests: New file, extracted from
34877         modules/stdlib-tests.
34878         * modules/stdlib-tests: Depend on it.
34879         * modules/string-c++-tests: New file, extracted from
34880         modules/string-tests.
34881         * modules/string-tests: Depend on it.
34882         * modules/sys_ioctl-c++-tests: New file, extracted from
34883         modules/sys_ioctl-tests.
34884         * modules/sys_ioctl-tests: Depend on it.
34885         * modules/sys_select-c++-tests: New file, extracted from
34886         modules/sys_select-tests.
34887         * modules/sys_select-tests: Depend on it.
34888         * modules/sys_socket-c++-tests: New file, extracted from
34889         modules/sys_socket-tests.
34890         * modules/sys_socket-tests: Depend on it.
34891         * modules/sys_stat-c++-tests: New file, extracted from
34892         modules/sys_stat-tests.
34893         * modules/sys_stat-tests: Depend on it.
34894         * modules/sys_time-c++-tests: New file, extracted from
34895         modules/sys_time-tests.
34896         * modules/sys_time-tests: Depend on it.
34897         * modules/time-c++-tests: New file, extracted from modules/time-tests.
34898         * modules/time-tests: Depend on it.
34899         * modules/unistd-c++-tests: New file, extracted from
34900         modules/unistd-tests.
34901         * modules/unistd-tests: Depend on it.
34902         * modules/wchar-c++-tests: New file, extracted from
34903         modules/wchar-tests.
34904         * modules/wchar-tests: Depend on it.
34905         * modules/wctype-c++-tests: New file, extracted from
34906         modules/wctype-tests.
34907         * modules/wctype-tests: Depend on it.
34908         Reported by Simon Josefsson.
34909
34910 2010-03-28  Bruno Haible  <bruno@clisp.org>
34911
34912         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
34913         * gnulib-tool (func_exists_module): New function, extracted from
34914         func_verify_module.
34915         (func_verify_module): Use it.
34916         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
34917         'foo' only if 'foo' exists.
34918         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
34919         module.
34920
34921 2010-03-28  Bruno Haible  <bruno@clisp.org>
34922
34923         gnulib-tool: Add support for special categories of tests.
34924         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
34925         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
34926         (func_usage): Document them.
34927         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
34928         inc_unportable_tests, inc_all_tests): New variables.
34929         (func_acceptable): Consider these variables.
34930         (func_modules_transitive_closure): Make it work when the 'Status' field
34931         consists of multiple words.
34932         (func_import): Store and restore the values of inc_cxx_tests,
34933         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34934         inc_all_tests in gnulib-comp.m4.
34935         (func_create_testdir): Set inc_all_tests to true.
34936         * doc/gnulib.texi (Extra tests modules): New section.
34937         Suggested by Jim Meyering.
34938
34939 2010-03-28  Bruno Haible  <bruno@clisp.org>
34940
34941         ansi-c++-opt: Allow turning off the C++ build by default.
34942         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
34943         gl_CXX_CHOICE_DEFAULT_NO is defined.
34944         Requested by Eric Blake.
34945
34946 2010-03-28  Bruno Haible  <bruno@clisp.org>
34947
34948         unistd: Avoid #define replacements in C++ mode.
34949         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34950         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34951         setsockopt, shutdown, select): In C++, attach a warning to the function
34952         if possible, rather than #defining the symbol to a dysfunctional alias.
34953         Reported by John W. Eaton <jwe@gnu.org>.
34954
34955 2010-03-28  Bruno Haible  <bruno@clisp.org>
34956
34957         Fix link errors on mingw.
34958         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
34959         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
34960         $(LIBSOCKET).
34961         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
34962         $(LIBSOCKET).
34963
34964 2010-03-28  Bruno Haible  <bruno@clisp.org>
34965             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34966
34967         lib-ignore: Determine different options for different compilers.
34968         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
34969         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
34970         Add comments.
34971         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
34972         * NEWS: Mention the change.
34973
34974 2010-03-27  Bruno Haible  <bruno@clisp.org>
34975
34976         Remove unused GNULIB_XYZ macro definitions.
34977         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34978         * modules/fseek (configure.ac): Likewise.
34979         * modules/ioctl (configure.ac): Likewise.
34980         * modules/open (configure.ac): Likewise.
34981         * modules/stdlib-safer (configure.ac): Likewise.
34982
34983 2010-03-27  Bruno Haible  <bruno@clisp.org>
34984
34985         Add a remark about certain modules.
34986         * modules/malloc (Comment): New section.
34987         * modules/realloc (Comment): Likewise.
34988         * modules/sigpipe (Comment): Likewise.
34989
34990 2010-03-27  Bruno Haible  <bruno@clisp.org>
34991
34992         Resolve conflict between the two kinds of module indicators.
34993         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
34994         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
34995         * modules/canonicalize (configure.ac): Invoke
34996         gl_MODULE_INDICATOR_FOR_TESTS.
34997         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
34998         GNULIB_XYZ.
34999         * tests/test-dirent-c++.cc: Likewise.
35000         * tests/test-dirent-safer.c: Likewise.
35001         * tests/test-dup2.c: Likewise.
35002         * tests/test-fchdir.c: Likewise.
35003         * tests/test-fcntl-h-c++.cc: Likewise.
35004         * tests/test-getopt.c: Likewise.
35005         * tests/test-getopt.h: Likewise.
35006         * tests/test-langinfo-c++.cc: Likewise.
35007         * tests/test-locale-c++.cc: Likewise.
35008         * tests/test-math-c++.cc: Likewise.
35009         * tests/test-pty-c++.cc: Likewise.
35010         * tests/test-search-c++.cc: Likewise.
35011         * tests/test-signal-c++.cc: Likewise.
35012         * tests/test-spawn-c++.cc: Likewise.
35013         * tests/test-stdio-c++.cc: Likewise.
35014         * tests/test-stdlib-c++.cc: Likewise.
35015         * tests/test-string-c++.cc: Likewise.
35016         * tests/test-sys_ioctl-c++.cc: Likewise.
35017         * tests/test-sys_select-c++.cc: Likewise.
35018         * tests/test-sys_socket-c++.cc: Likewise.
35019         * tests/test-sys_stat-c++.cc: Likewise.
35020         * tests/test-sys_time-c++.cc: Likewise.
35021         * tests/test-time-c++.cc: Likewise.
35022         * tests/test-unistd-c++.cc: Likewise.
35023         * tests/test-wchar-c++.cc: Likewise.
35024         * tests/uninorm/test-u8-nfc.c: Likewise.
35025         * tests/uninorm/test-u8-nfd.c: Likewise.
35026         * tests/uninorm/test-u8-nfkc.c: Likewise.
35027         * tests/uninorm/test-u8-nfkd.c: Likewise.
35028         * tests/uninorm/test-u16-nfc.c: Likewise.
35029         * tests/uninorm/test-u16-nfd.c: Likewise.
35030         * tests/uninorm/test-u16-nfkc.c: Likewise.
35031         * tests/uninorm/test-u16-nfkd.c: Likewise.
35032         * tests/uninorm/test-u32-nfc.c: Likewise.
35033         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35034         * tests/uninorm/test-u32-nfd.c: Likewise.
35035         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35036         * tests/uninorm/test-u32-nfkc.c: Likewise.
35037         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35038         * tests/uninorm/test-u32-nfkd.c: Likewise.
35039         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35040         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35041
35042 2010-03-27  Bruno Haible  <bruno@clisp.org>
35043
35044         Distinguish two kinds of module indicators.
35045         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35046         gl_MODULE_INDICATOR.
35047         (gl_MODULE_INDICATOR): New macro.
35048         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35049         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35050         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35051         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35052         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35053         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35054         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35055         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35056         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35057         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35058         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35059         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35060         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35061         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35062         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35063         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35064         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35065         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35066         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35067         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35068         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35069         * modules/cloexec (configure.ac): Likewise.
35070         * modules/getopt-gnu (configure.ac): Likewise.
35071         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35072         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35073         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35074         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35075
35076 2010-03-27  Bruno Haible  <bruno@clisp.org>
35077
35078         New module description field 'Comment'.
35079         * gnulib-tool: New option --extract-comment.
35080         (func_usage): Document it.
35081         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35082         (func_get_comment): New function.
35083         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35084
35085 2010-03-27  Bruno Haible  <bruno@clisp.org>
35086
35087         Addendum to 2010-02-07 commit.
35088         * gnulib-tool (func_usage): Document --extract-applicability option.
35089
35090 2010-03-27  Bruno Haible  <bruno@clisp.org>
35091
35092         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35093         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35094         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35095         rather than link errors.
35096
35097 2010-03-27  Bruno Haible  <bruno@clisp.org>
35098
35099         Avoid side effects from tests-related modules on the compilation of lib.
35100         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35101         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35102         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35103         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35104         macro.
35105         (func_import): Define a witness macro. Assign it a value that depends
35106         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35107         tests-related modules.
35108         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35109         Reported by Jim Meyering.
35110
35111 2010-03-27  Bruno Haible  <bruno@clisp.org>
35112
35113         Factorize common .m4 code.
35114         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35115         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35116         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35117         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35118         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35119         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35120         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35121         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35122         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35123         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35124         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35125         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35126         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35127         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35128         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35129         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35130         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35131         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35132         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35133         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35134         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35135         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35136         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35137         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35138         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35139         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35140         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35141         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35142         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35143         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35144         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35145         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35146
35147 2010-03-27  Bruno Haible  <bruno@clisp.org>
35148
35149         Fix a compilation error on Cygwin with g++ >= 4.3.
35150         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35151         if it is undefined or if we alias it to chmod.
35152         (lstat): Don't warn about the use of this function if it is undefined
35153         or if we alias it to stat.
35154         Reported by Simon Josefsson.
35155
35156 2010-03-27  Bruno Haible  <bruno@clisp.org>
35157
35158         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35159         * modules/getlogin (configure.ac): Update.
35160
35161         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35162         * modules/getlogin_r (configure.ac): Update.
35163
35164         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35165         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35166         * modules/inet_ntop (configure.ac): Update.
35167
35168         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35169         * modules/inet_pton (configure.ac): Update.
35170
35171         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35172         * modules/mbslen (configure.ac): Update.
35173
35174         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35175         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35176         * modules/forkpty (configure.ac): Update.
35177         * modules/openpty (configure.ac): Update.
35178
35179 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35180
35181         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35182         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35183
35184 2010-03-25  Eric Blake  <eblake@redhat.com>
35185
35186         maint: use pragma consistently across replacement headers
35187         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35188         * lib/dirent.in.h (system_header): Likewise.
35189         * lib/errno.in.h (system_header): Likewise.
35190         * lib/float.in.h (system_header): Likewise.
35191         * lib/getopt.in.h (system_header): Likewise.
35192         * lib/iconv.in.h (system_header): Likewise.
35193         * lib/inttypes.in.h (system_header): Likewise.
35194         * lib/langinfo.in.h (system_header): Likewise.
35195         * lib/locale.in.h (system_header): Likewise.
35196         * lib/math.in.h (system_header): Likewise.
35197         * lib/netdb.in.h (system_header): Likewise.
35198         * lib/netinet_in.in.h (system_header): Likewise.
35199         * lib/pty.in.h (system_header): Likewise.
35200         * lib/sched.in.h (system_header): Likewise.
35201         * lib/se-selinux.in.h (system_header): Likewise.
35202         * lib/search.in.h (system_header): Likewise.
35203         * lib/spawn.in.h (system_header): Likewise.
35204         * lib/stdarg.in.h (system_header): Likewise.
35205         * lib/stdint.in.h (system_header): Likewise.
35206         * lib/string.in.h (system_header): Likewise.
35207         * lib/strings.in.h (system_header): Likewise.
35208         * lib/sys_file.in.h (system_header): Likewise.
35209         * lib/sys_ioctl.in.h (system_header): Likewise.
35210         * lib/sys_socket.in.h (system_header): Likewise.
35211         * lib/sys_times.in.h (system_header): Likewise.
35212         * lib/sys_utsname.in.h (system_header): Likewise.
35213         * lib/sys_wait.in.h (system_header): Likewise.
35214         * lib/sysexits.in.h (system_header): Likewise.
35215         * lib/unistd.in.h (system_header): Likewise.
35216         * lib/wctype.in.h (system_header): Likewise.
35217
35218         arpa/inet: fix mingw compilation warning
35219         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35220         Reported by Matthew Bolte.
35221
35222 2010-03-25  Bruno Haible  <bruno@clisp.org>
35223
35224         Avoid collision between gnulib wrapper and libintl wrapper.
35225         * lib/printf.c (printf): Don't define if a printf wrapper is already
35226         defined in intl/printf.c.
35227         Reported by Michel Boaventura <michel@michelboaventura.com>.
35228
35229 2010-03-25  Bruno Haible  <bruno@clisp.org>
35230
35231         Use ANSI C.
35232         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35233
35234 2010-03-25  Bruno Haible  <bruno@clisp.org>
35235
35236         Minor formatting changes.
35237         * lib/acosl.c: Insert space before function argument list.
35238         * lib/argz.c: Likewise.
35239         * lib/asinl.c: Likewise.
35240         * lib/expl.c: Likewise.
35241         * lib/gen-uni-tables.c: Likewise.
35242         * lib/gettext.h: Likewise.
35243         * lib/glthread/lock.h: Likewise.
35244         * lib/tanl.c: Likewise.
35245         * lib/uniname/uniname.c: Likewise.
35246         * tests/test-idpriv-drop.c: Likewise.
35247         * tests/test-idpriv-droptemp.c: Likewise.
35248         * tests/test-lock.c: Likewise.
35249         * tests/test-tls.c: Likewise.
35250         * lib/argp-help.c: Insert space before function-like macro argument
35251         list.
35252         * lib/memcmp.c: Likewise.
35253         * tests/test-base64.c: Likewise.
35254         * lib/localename.c: Insert space before sizeof's argument list.
35255         * lib/safe-alloc.h: Likewise.
35256         * lib/file-set.h: Insert space before macro argument list.
35257         * tests/test-argp.c: Likewise.
35258         * lib/argp-namefrob.h: Insert space before function parameter list.
35259         * lib/getaddrinfo.c: Likewise.
35260         * lib/netdb.in.h: Likewise.
35261         * lib/parse-duration.h: Likewise.
35262         * lib/parse-duration.c: Likewise.
35263         * lib/poll.c: Likewise.
35264         * lib/select.c: Likewise.
35265         * lib/trim.h: Likewise.
35266         * tests/test-usleep.c: Likewise.
35267         * lib/ldexpl.c: Insert space before function parameter list and before
35268         function argument list.
35269         * lib/logl.c: Likewise.
35270         * lib/sqrtl.c: Likewise.
35271         * lib/trim.c: Likewise.
35272         * lib/cosl.c: Use GNU style indentation. Insert space before function
35273         argument list.
35274         * lib/sinl.c: Likewise.
35275         * lib/tsearch.c: Insert space after 'for'.
35276         Reported by Jim Meyering.
35277
35278 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35279
35280         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35281         config header before grepping, as it's not present before
35282         autoreconf/configure are run.  Reported by Simon Josefsson.
35283
35284 2010-03-23  Bruno Haible  <bruno@clisp.org>
35285
35286         pt_chown: Make it work with automake < 1.11.
35287         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35288         Reported by Simon Josefsson.
35289
35290 2010-03-23  Bruno Haible  <bruno@clisp.org>
35291
35292         pt_chown: Don't depend on GPLed modules.
35293         * lib/pt_chown.c: Don't include idpriv.h.
35294         (main): Don't drop privileges.
35295         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35296         Reported by Simon Josefsson.
35297
35298 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35299
35300         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35301         suggestions from karl@freefriends.org (Karl Berry).
35302
35303 2010-03-22  Eric Blake  <eblake@redhat.com>
35304
35305         gethostname: further tweaks
35306         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35307         are overriding gethostname.
35308         Suggested by Bruno Haible.
35309
35310 2010-03-21  Bruno Haible  <bruno@clisp.org>
35311
35312         Fix comments.
35313         * lib/forkpty.c (rpl_forkpty): Fix comment.
35314         * lib/openpty.c (rpl_openpty): Likewise.
35315         Reported by Eric Blake.
35316
35317 2010-03-22  Eric Blake  <eblake@redhat.com>
35318
35319         gethostname: fix build on mingw
35320         * lib/unistd.in.h (includes): Work around fact that mingw
35321         <winsock2.h> re-includes <unistd.h>, by avoiding any
35322         redeclarations if we are being included by <winsock2.h>.
35323         Reported by Matthias Bolte.
35324
35325 2010-03-21  Bruno Haible  <bruno@clisp.org>
35326
35327         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35328         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35329         modifications.
35330         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35331         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35332         provide the replacement.
35333         * modules/forkpty (Depends-on): Add openpty, login_tty.
35334         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35335         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35336         * doc/glibc-functions/forkpty.texi: More supported platforms.
35337         * config/srclist.txt: Add forkpty.c (commented).
35338
35339 2010-03-21  Bruno Haible  <bruno@clisp.org>
35340
35341         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35342         (Makefile.am): Verify that PTY_LIB is defined.
35343
35344         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35345
35346 2010-03-21  Bruno Haible  <bruno@clisp.org>
35347
35348         Tests for module 'login_tty'.
35349         * modules/login_tty-tests: New file.
35350         * tests/test-login_tty.c: New file.
35351
35352         New module 'login_tty'.
35353         * lib/login_tty.c: New file.
35354         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35355         * modules/login_tty: New file.
35356         * doc/glibc-functions/login_tty.texi: Mention the new module.
35357
35358 2010-03-21  Bruno Haible  <bruno@clisp.org>
35359
35360         login_tty: Documentation.
35361         * doc/glibc-functions/login_tty.texi: New file.
35362         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35363
35364 2010-03-21  Bruno Haible  <bruno@clisp.org>
35365
35366         pty: Consistent macro naming.
35367         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35368         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35369         * modules/pty (configure.ac): Update.
35370
35371 2010-03-21  Bruno Haible  <bruno@clisp.org>
35372
35373         Tests for openpty: Make stricter.
35374         * tests/test-openpty.c (main): Add test of canonical processing and
35375         erase.
35376         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35377
35378         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35379         * lib/openpty.c (openpty): New replacement function.
35380         * lib/pty.in.h: Include <termios.h>.
35381         (openpty): Update declaration. Add comments.
35382         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35383         is not declared, arrange to provide the replacement. Check for _getpty
35384         and posix_openpt.
35385         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35386         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35387         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35388         * modules/pty-tests (test_pty_c___LDADD): New variable.
35389         * doc/glibc-functions/openpty.texi: More supported platforms.
35390
35391 2010-03-21  Bruno Haible  <bruno@clisp.org>
35392
35393         setenv: Tweaks.
35394         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35395         the test program.
35396         * doc/posix-functions/setenv.texi: Update platforms list.
35397
35398 2010-03-21  Bruno Haible  <bruno@clisp.org>
35399
35400         New module 'unlockpt'.
35401         * lib/unlockpt.c: New file, from glibc with modifications.
35402         * m4/unlockpt.m4: New file.
35403         * modules/unlockpt: New file.
35404         * lib/stdlib.in.h (unlockpt): New declaration.
35405         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35406         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35407         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35408         HAVE_UNLOCKPT.
35409         * doc/posix-functions/unlockpt.texi: Mention the new module.
35410         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35411         * config/srclist.txt: Add unlockpt.c (commented).
35412
35413 2010-03-21  Jim Meyering  <meyering@redhat.com>
35414
35415         maint.mk: prohibit inclusion of "intprops.h" without use
35416         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35417
35418 2010-03-21  Bruno Haible  <bruno@clisp.org>
35419
35420         New module 'grantpt'.
35421         * lib/grantpt.c: New file, from glibc with modifications.
35422         * m4/grantpt.m4: New file.
35423         * modules/grantpt: New file.
35424         * lib/stdlib.in.h (grantpt): New declaration.
35425         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35426         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35427         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35428         HAVE_GRANTPT.
35429         * doc/posix-functions/grantpt.texi: Mention the new module.
35430         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35431         * config/srclist.txt: Add grantpt.c (commented).
35432
35433 2010-03-21  Bruno Haible  <bruno@clisp.org>
35434
35435         New module 'pt_chown'.
35436         * lib/pt_chown.c: New file, from glibc with modifications.
35437         * lib/pty-private.h: New file, from glibc with modifications.
35438         * modules/pt_chown: New file.
35439         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35440
35441 2010-03-21  Bruno Haible  <bruno@clisp.org>
35442
35443         Tests for module 'ptsname'.
35444         * modules/ptsname-tests: New file.
35445         * tests/test-ptsname.c: New file.
35446
35447         New module 'ptsname'.
35448         * lib/ptsname.c: New file, from glibc with modifications.
35449         * m4/ptsname.m4: New file.
35450         * modules/ptsname: New file.
35451         * lib/stdlib.in.h (ptsname): New declaration.
35452         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35453         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35454         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35455         HAVE_PTSNAME.
35456         * doc/posix-functions/ptsname.texi: Mention the new module.
35457         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35458         * config/srclist.txt: Add ptsname.c (commented).
35459
35460 2010-03-21  Bruno Haible  <bruno@clisp.org>
35461
35462         Tests for module 'ttyname_r'.
35463         * modules/ttyname_r-tests: New file.
35464         * tests/test-ttyname_r.c: New file.
35465
35466         New module 'ttyname_r'.
35467         * lib/ttyname_r.c: New file.
35468         * m4/ttyname_r.m4: New file.
35469         * modules/ttyname_r: New file.
35470         * lib/unistd.in.h (ttyname_r): New declaration.
35471         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35472         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35473         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35474         HAVE_TTYNAME_R.
35475         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35476         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35477
35478 2010-03-20  Bruno Haible  <bruno@clisp.org>
35479
35480         signal: Undefine macro definitions in C++ mode.
35481         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35482         sigfillset): Undefine macro definitions from the system header in C++
35483         mode.
35484         Reported by John W. Eaton <jwe@gnu.org>.
35485
35486 2010-03-20  Bruno Haible  <bruno@clisp.org>
35487
35488         Ensure no #include statements inside extern "C" { ... }.
35489         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35490         contain #include statements.
35491         * lib/time.in.h: Likewise.
35492
35493 2010-03-20  Bruno Haible  <bruno@clisp.org>
35494
35495         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35496         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35497         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35498         Reported by John W. Eaton <jwe@gnu.org>.
35499
35500 2010-03-20  Bruno Haible  <bruno@clisp.org>
35501
35502         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35503         Reported by Jim Meyering.
35504
35505 2010-03-20  Bruno Haible  <bruno@clisp.org>
35506
35507         pipe: Set errno upon failure.
35508         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35509         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35510         errno value in error message.
35511
35512 2010-03-20  Bruno Haible  <bruno@clisp.org>
35513             Jim Meyering  <meyering@redhat.com>
35514
35515         lchown: Avoid "unused variable" warning.
35516         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35517
35518 2010-03-20  Bruno Haible  <bruno@clisp.org>
35519
35520         Work around unlink() bug on MacOS X 10.5.6.
35521         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35522         attempting to unlink a parent directory.
35523         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35524         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35525         activate for the replacement function.
35526         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35527
35528 2010-03-20  Bruno Haible  <bruno@clisp.org>
35529
35530         Fix link errors on Solaris 8.
35531         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35532         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35533
35534 2010-03-19  Jim Meyering  <meyering@redhat.com>
35535
35536         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35537         The _LIBC implementation of build_range_exp correctly honors the
35538         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35539         However, the non-_LIBC implementation would ignore that syntax-bit
35540         flag and return REG_ERANGE unconditionally.
35541         This change makes it honor that flag.
35542         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35543         Make two pointer parameters "const".
35544         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35545         (parse_bracket_exp): Update caller.
35546
35547         regex.m4: correct the reversed range endpoint ([b-a]) test
35548         * m4/regex.m4: When requiring that [b-a] evoke failure,
35549         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35550         test pass once again for x86-based systems.
35551
35552 2010-03-19  Bruno Haible  <bruno@clisp.org>
35553
35554         scandir: Fix link error on Solaris 8.
35555         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35556         macros.
35557
35558 2010-03-19  Bruno Haible  <bruno@clisp.org>
35559
35560         getusershell: Fix documentation.
35561         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35562         module.
35563         * doc/glibc-functions/setusershell.texi: Likewise.
35564
35565         getusershell: Provide declaration, missing on Solaris 9.
35566         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35567         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35568         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35569         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35571         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35572         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35573         HAVE_GETUSERSHELL.
35574         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35575
35576 2010-03-19  Bruno Haible  <bruno@clisp.org>
35577
35578         wctype: Provide iswblank function.
35579         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35580         exists and is fine.
35581         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35582         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35583         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35584         * doc/posix-functions/iswblank.texi: Update.
35585
35586 2010-03-19  Bruno Haible  <bruno@clisp.org>
35587
35588         Tests of module 'pty' in C++ mode.
35589         * modules/pty-tests: New file.
35590         * tests/test-pty-c++.cc: New file.
35591         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35592
35593 2010-03-19  Eric Blake  <eblake@redhat.com>
35594
35595         logb: fix documentation
35596         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35597         1.5 declaration bug.
35598
35599         forkpty, openpty: prefer glibc's const-safe prototype
35600         * lib/forkpty.c (rpl_forkpty): New file.
35601         * lib/openpty.c (rpl_openpty): Likewise.
35602         * modules/forkpty (Files): Distribute it.
35603         * modules/openpty (Files): Likewise.
35604         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35605         check...
35606         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35607         replacement for for non-const BSD signature.
35608         * modules/pty (Makefile.am): Substitute witnesses.
35609         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35610         * tests/test-forkpty.c: Update signature check.
35611         * tests/test-openpty.c: Likewise.
35612         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35613         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35614
35615         forkpty, openpty: split functions into new modules
35616         * modules/pty (Makefile.am): Substitute new witnesses.
35617         (Libraries): Move library detection...
35618         * modules/forkpty: ...into new module.
35619         * modules/openpty: Another new module.
35620         * modules/pty-tests: Rename and split...
35621         * modules/forkpty-tests: ...to this...
35622         * modules/openpty-tests: ...and this.
35623         * tests/test-pty.c: Rename and split...
35624         * tests/test-forkpty.c: ...to this...
35625         * tests/test-openpty.c: ...and this.
35626         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35627         (gl_PTY): Split library searching...
35628         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35629         (gl_FORKPTY, gl_OPENPTY): New macros.
35630         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35631         * NEWS: Mention the split.
35632         * MODULES.html.sh (Misc): Document the modules.
35633         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35634         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35635
35636         pty: improve replacement header
35637         * lib/pty.in.h: New file.
35638         * modules/pty (Files): Ship it.
35639         (Makefile.am): Always build replacement.
35640         * m4/pty.m4: Rename...
35641         * m4/pty_h.m4: ...to this.
35642         (gl_PTY): Modernize setting of witness macros; update check of
35643         forkpty to take proper advantage of cache.
35644         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35645
35646         getopt: avoid compiler warning
35647         * lib/getopt.c (attribute_hidden): Remove unused macro.
35648
35649 2010-03-18  Bruno Haible  <bruno@clisp.org>
35650
35651         Fix link errors on Solaris 8.
35652         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35653         * modules/search-tests (test_search_c___LDADD): Likewise.
35654         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35655         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35656         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35657         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35658         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35659         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35660         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35661
35662 2010-03-18  Bruno Haible  <bruno@clisp.org>
35663
35664         Fix bug introduced on 2010-03-14.
35665         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35666         (gl_SPAWN_H): Require it.
35667         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35668         Reported by Simon Josefsson.
35669
35670 2010-03-18  Bruno Haible  <bruno@clisp.org>
35671
35672         Fix typo introduced on 2009-12-31.
35673         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35674         posix_spawn_file_actions_adddup2.
35675
35676 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35677         and Eric Blake  <eblake@redhat.com>
35678
35679         test-vc-list-files-git: make more robust
35680         * tests/test-vc-list-files-git.sh: Unset problematic environment
35681         variables.  Chain commands together.
35682
35683 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35684
35685         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35686         `AC_CHECK_DECL' invocation.
35687
35688 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35689
35690         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35691         appears before executable statements. Suggested by Petr Sumbera
35692         <Petr.Sumbera@Sun.COM>.
35693
35694 2010-03-14  Bruno Haible  <bruno@clisp.org>
35695
35696         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35697         portability problems. Instead use a simpler test.
35698         (main): Check that invalid arguments are rejected only on Linux.
35699
35700 2010-03-14  Bruno Haible  <bruno@clisp.org>
35701
35702         Fix bug introduced on 2009-12-31.
35703         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35704         gl_PREREQ_SYS_H_WINSOCK2 always.
35705         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35706         SYS_SOCKET_H variable.
35707         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35708         Update comments.
35709         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35710         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35711         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35712         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35713         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35714
35715 2010-03-14  Bruno Haible  <bruno@clisp.org>
35716
35717         Fix values returned by sinl, cosl.
35718         * lib/trigl.h: Add specification comments.
35719         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35720         that combines the values from the precomputed table with the values of
35721         the Chebyshev polynomials.
35722
35723 2010-03-14  Bruno Haible  <bruno@clisp.org>
35724
35725         Fix compilation error when modules 'posix_spawn[p]' are not used.
35726         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35727         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35728
35729 2010-03-14  Bruno Haible  <bruno@clisp.org>
35730
35731         Fix compilation error on mingw when module 'time_r' is not used.
35732         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35733         is 1.
35734         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35735         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35736         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35737         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35738
35739 2010-03-14  Bruno Haible  <bruno@clisp.org>
35740
35741         Fix compilation error with Sun C.
35742         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35743         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35744         instead of GCC specific ULONG_LONG_MAX.
35745         * lib/xstrtoll.c: Likewise.
35746         * lib/xstrtoull.c: Likewise.
35747
35748 2010-03-13  Bruno Haible  <bruno@clisp.org>
35749
35750         Allow the user to disable C++ code and tests.
35751         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35752         (gl_PROG_ANSI_CXX): Require it.
35753
35754 2010-03-13  Bruno Haible  <bruno@clisp.org>
35755
35756         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35757         cases.
35758
35759 2010-03-13  Bruno Haible  <bruno@clisp.org>
35760
35761         Test that gnulib does not break the standard C++ headers.
35762         * tests/test-locale-c++2.cc: New file.
35763         * modules/locale-tests (Files): Add it.
35764         (Makefile.am): Compile it for test-locale-c++.
35765         * tests/test-math-c++2.cc: New file.
35766         * modules/math-tests (Files): Add it.
35767         (Makefile.am): Compile it for test-math-c++.
35768         * tests/test-signal-c++2.cc: New file.
35769         * modules/signal-tests (Files): Add it.
35770         (Makefile.am): Compile it for test-signal-c++.
35771         * tests/test-stdio-c++2.cc: New file.
35772         * modules/stdio-tests (Files): Add it.
35773         (Makefile.am): Compile it for test-stdio-c++.
35774         * tests/test-stdlib-c++2.cc: New file.
35775         * modules/stdlib-tests (Files): Add it.
35776         (Makefile.am): Compile it for test-stdlib-c++.
35777         * tests/test-string-c++2.cc: New file.
35778         * modules/string-tests (Files): Add it.
35779         (Makefile.am): Compile it for test-string-c++.
35780         * tests/test-time-c++2.cc: New file.
35781         * modules/time-tests (Files): Add it.
35782         (Makefile.am): Compile it for test-time-c++.
35783         Reported by John W. Eaton <jwe@gnu.org>.
35784
35785 2010-03-13  Bruno Haible  <bruno@clisp.org>
35786
35787         * gnulib-tool (func_usage): Clarify which options are available for
35788         --create-testdir and --create-megatestdir.
35789
35790 2010-03-13  Bruno Haible  <bruno@clisp.org>
35791
35792         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
35793         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
35794         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
35795         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
35796         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
35797         when appropriate.
35798         Reported by Jim Meyering.
35799
35800 2010-03-12  Simon Josefsson  <simon@josefsson.org>
35801
35802         * gnulib-tool (func_import): Explain origin of code.
35803
35804 2010-03-12  Bruno Haible  <bruno@clisp.org>
35805
35806         Fix problem with automake's definition of CXXLINK.
35807         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
35808         Reported by Simon Josefsson and Ludovic Courtès.
35809
35810 2010-03-12  Bruno Haible  <bruno@clisp.org>
35811
35812         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
35813         stable releases.
35814
35815 2010-03-11  Bruno Haible  <bruno@clisp.org>
35816
35817         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
35818         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
35819         whether the system provides one variant or multiple variants of the
35820         function.
35821         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
35822         C++ compilers.
35823         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
35824         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
35825         Reported by Jim Meyering.
35826
35827 2010-03-09  Simon Josefsson  <simon@josefsson.org>
35828
35829         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
35830
35831 2010-03-08  Bruno Haible  <bruno@clisp.org>
35832
35833         gnulib-tool: Add support for --libtool in --create-testdir.
35834         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
35835         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
35836
35837 2010-03-08  Eric Blake  <eblake@redhat.com>
35838
35839         gnulib-tool.texi: mention possibility of git submodule
35840         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
35841         submodules.
35842         * doc/.gitignore: Ignore another generated file.
35843
35844 2010-03-08  Karl Berry  <karl@gnu.org>
35845
35846         * doc/gnulib-tool.texi (VCS Issues): Mention third option
35847         of committing gnulib files while skipping others.
35848
35849 2010-03-07  Bruno Haible  <bruno@clisp.org>
35850
35851         Tests of module 'wctype' in C++ mode.
35852         * tests/test-wctype-c++.cc: New file.
35853         * modules/wctype-tests (Files): Add it and tests/signature.h.
35854         (Depends-on): Add ansi-c++-opt.
35855         (Makefile.am): Arrange to compile and run test-wctype-c++.
35856
35857         Tests of module 'wchar' in C++ mode.
35858         * tests/test-wchar-c++.cc: New file.
35859         * modules/wchar-tests (Files): Add it and tests/signature.h.
35860         (Depends-on): Add ansi-c++-opt.
35861         (Makefile.am): Arrange to compile and run test-wchar-c++.
35862         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
35863         gl_MODULE_INDICATOR.
35864
35865         Tests of module 'unistd' in C++ mode.
35866         * tests/test-unistd-c++.cc: New file.
35867         * modules/unistd-tests (Files): Add it and tests/signature.h.
35868         (Depends-on): Add ansi-c++-opt.
35869         (Makefile.am): Arrange to compile and run test-unistd-c++.
35870         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
35871         gl_MODULE_INDICATOR.
35872
35873         Tests of module 'time' in C++ mode.
35874         * tests/test-time-c++.cc: New file.
35875         * modules/time-tests (Files): Add it and tests/signature.h.
35876         (Depends-on): Add ansi-c++-opt.
35877         (Makefile.am): Arrange to compile and run test-time-c++.
35878         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35879
35880         Tests of module 'sys_time' in C++ mode.
35881         * tests/test-sys_time-c++.cc: New file.
35882         * modules/sys_time-tests (Files): Add it and tests/signature.h.
35883         (Depends-on): Add ansi-c++-opt.
35884         (Makefile.am): Arrange to compile and run test-sys_time-c++.
35885         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
35886         gl_MODULE_INDICATOR.
35887
35888         Tests of module 'sys_stat' in C++ mode.
35889         * tests/test-sys_stat-c++.cc: New file.
35890         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
35891         (Depends-on): Add ansi-c++-opt.
35892         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
35893         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
35894         gl_MODULE_INDICATOR.
35895
35896         Tests of module 'sys_socket' in C++ mode.
35897         * tests/test-sys_socket-c++.cc: New file.
35898         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
35899         (Depends-on): Add ansi-c++-opt.
35900         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
35901         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
35902         gl_MODULE_INDICATOR.
35903
35904         Tests of module 'sys_select' in C++ mode.
35905         * tests/test-sys_select-c++.cc: New file.
35906         * modules/sys_select-tests (Files): Add it and tests/signature.h.
35907         (Depends-on): Add ansi-c++-opt.
35908         (Makefile.am): Arrange to compile and run test-sys_select-c++.
35909         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
35910         gl_MODULE_INDICATOR.
35911
35912         Tests of module 'sys_ioctl' in C++ mode.
35913         * tests/test-sys_ioctl-c++.cc: New file.
35914         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
35915         (Depends-on): Add ansi-c++-opt.
35916         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
35917         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
35918         gl_MODULE_INDICATOR.
35919
35920         Tests of module 'string' in C++ mode.
35921         * tests/test-string-c++.cc: New file.
35922         * modules/string-tests (Files): Add it and tests/signature.h.
35923         (Depends-on): Add ansi-c++-opt.
35924         (Makefile.am): Arrange to compile and run test-string-c++.
35925         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
35926         gl_MODULE_INDICATOR.
35927
35928         Tests of module 'stdlib' in C++ mode.
35929         * tests/test-stdlib-c++.cc: New file.
35930         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35931         (Depends-on): Add ansi-c++-opt.
35932         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35933         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35934         gl_MODULE_INDICATOR.
35935
35936         Tests of module 'stdio' in C++ mode.
35937         * tests/test-stdio-c++.cc: New file.
35938         * modules/stdio-tests (Files): Add it and tests/signature.h.
35939         (Depends-on): Add ansi-c++-opt.
35940         (Makefile.am): Arrange to compile and run test-stdio-c++.
35941         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
35942         gl_MODULE_INDICATOR.
35943
35944         Tests of module 'spawn' in C++ mode.
35945         * tests/test-spawn-c++.cc: New file.
35946         * modules/spawn-tests (Files): Add it and tests/signature.h.
35947         (Depends-on): Add ansi-c++-opt.
35948         (Makefile.am): Arrange to compile and run test-spawn-c++.
35949         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
35950         gl_MODULE_INDICATOR.
35951
35952         Tests of module 'signal' in C++ mode.
35953         * tests/test-signal-c++.cc: New file.
35954         * modules/signal-tests (Files): Add it and tests/signature.h.
35955         (Depends-on): Add ansi-c++-opt.
35956         (Makefile.am): Arrange to compile and run test-signal-c++.
35957         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
35958         gl_MODULE_INDICATOR.
35959
35960         Tests of module 'search' in C++ mode.
35961         * tests/test-search-c++.cc: New file.
35962         * modules/search-tests (Files): Add it and tests/signature.h.
35963         (Depends-on): Add ansi-c++-opt.
35964         (Makefile.am): Arrange to compile and run test-search-c++.
35965         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
35966         gl_MODULE_INDICATOR.
35967
35968         Tests of module 'math' in C++ mode.
35969         * tests/test-math-c++.cc: New file.
35970         * modules/math-tests (Files): Add it and tests/signature.h.
35971         (Depends-on): Add ansi-c++-opt.
35972         (Makefile.am): Arrange to compile and run test-math-c++.
35973         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35974
35975         Tests of module 'locale' in C++ mode.
35976         * tests/test-locale-c++.cc: New file.
35977         * modules/locale-tests (Files): Add it and tests/signature.h.
35978         (Depends-on): Add ansi-c++-opt.
35979         (Makefile.am): Arrange to compile and run test-locale-c++.
35980         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
35981         gl_MODULE_INDICATOR.
35982
35983         Tests of module 'langinfo' in C++ mode.
35984         * tests/test-langinfo-c++.cc: New file.
35985         * modules/langinfo-tests (Files): Add it and tests/signature.h.
35986         (Depends-on): Add ansi-c++-opt.
35987         (Makefile.am): Arrange to compile and run test-langinfo-c++.
35988         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
35989         gl_MODULE_INDICATOR.
35990
35991         Tests of module 'iconv-h' in C++ mode.
35992         * tests/test-iconv-h-c++.cc: New file.
35993         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
35994         (Depends-on): Add ansi-c++-opt.
35995         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
35996
35997         Tests of module 'glob' in C++ mode.
35998         * tests/test-glob-c++.cc: New file.
35999         * modules/glob-tests (Files): Add it.
36000         (Depends-on): Add ansi-c++-opt.
36001         (Makefile.am): Arrange to compile and run test-glob-c++.
36002
36003         Tests of module 'fcntl-h' in C++ mode.
36004         * tests/test-fcntl-h-c++.cc: New file.
36005         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36006         (Depends-on): Add ansi-c++-opt.
36007         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36008         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36009         gl_MODULE_INDICATOR.
36010
36011         Tests of module 'dirent' in C++ mode.
36012         * tests/test-dirent-c++.cc: New file.
36013         * modules/dirent-tests (Files): Add it and tests/signature.h.
36014         (Depends-on): Add ansi-c++-opt.
36015         (Makefile.am): Arrange to compile and run test-dirent-c++.
36016         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36017         gl_MODULE_INDICATOR.
36018
36019         New module 'ansi-c++-opt'.
36020         * modules/ansi-c++-opt: New file.
36021         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36022
36023         Document C++ namespace mode.
36024         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36025
36026         wctype: Avoid #define replacements in C++ mode.
36027         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36028         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36029         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36030         In C++, define a namespaced alias symbol.
36031         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36032         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36033         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36034         rule.
36035
36036         wchar: Avoid #define replacements in C++ mode.
36037         * lib/wchar.in.h: Include c++defs.h.
36038         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36039         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36040         symbol.
36041         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36042         * modules/wchar (Depends-on): Add c++defs.
36043         (Makefile.am): Update wchar.h rule.
36044
36045         unistd: Avoid #define replacements in C++ mode.
36046         * lib/unistd.in.h: Include c++defs.h.
36047         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36048         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36049         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36050         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36051         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36052         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36053         symbol.
36054         (environ): Update.
36055         * modules/unistd (Depends-on): Add c++defs.
36056         (Makefile.am): Update unistd.h rule.
36057
36058         time: Avoid #define replacements in C++ mode.
36059         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36060         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36061         define a namespaced alias symbol.
36062         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36063         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36064         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36065         * modules/time (Depends-on): Add c++defs, warn-on-use.
36066         (Makefile.am): Update time.h rule.
36067         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36068         * modules/nanosleep (configure.ac): Likewise.
36069         * modules/strptime (configure.ac): Likewise.
36070         * modules/timegm (configure.ac): Likewise.
36071
36072         sys_time: Avoid #define replacements in C++ mode.
36073         * lib/sys_time.in.h: Include c++defs.h.
36074         (gettimeofday): In C++, define a namespaced alias symbol.
36075         * modules/sys_time (Depends-on): Add c++defs.
36076         (Makefile.am): Update sys/time.h rule.
36077
36078         sys_stat: Avoid #define replacements in C++ mode.
36079         * lib/sys_stat.in.h: Include c++defs.h.
36080         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36081         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36082         namespaced alias symbol.
36083         In C++, define a namespaced alias symbol.
36084         * modules/sys_stat (Depends-on): Add c++defs.
36085         (Makefile.am): Update sys/stat.h rule.
36086
36087         sys_socket: Avoid #define replacements in C++ mode.
36088         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36089         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36090         definitions also when the system has a <sys/socket.h>.
36091         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36092         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36093         In C++, define a namespaced alias symbol.
36094         * modules/sys_socket (Depends-on): Add c++defs.
36095         (Makefile.am): Update sys/socket.h rule.
36096
36097         sys_select: Avoid #define replacements in C++ mode.
36098         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36099         definitions also when the system has a <sys/select.h>.
36100         (select): In C++, define a namespaced alias symbol.
36101         * modules/sys_select (Depends-on): Add c++defs.
36102         (Makefile.am): Update sys/select.h rule.
36103
36104         sys_ioctl: Avoid #define replacements in C++ mode.
36105         * lib/sys_ioctl.in.h: Include c++defs.h.
36106         (ioctl): In C++, define a namespaced alias symbol.
36107         * modules/sys_ioctl (Depends-on): Add c++defs.
36108         (Makefile.am): Update sys/ioctl.h rule.
36109
36110         string: Avoid #define replacements in C++ mode.
36111         * lib/string.in.h: Include c++defs.h.
36112         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36113         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36114         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36115         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36116         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36117         * modules/string (Depends-on): Add c++defs.
36118         (Makefile.am): Update string.h rule.
36119
36120         stdlib: Avoid #define replacements in C++ mode.
36121         * lib/stdlib.in.h: Include c++defs.h.
36122         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36123         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36124         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36125         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36126         symbol.
36127         * modules/stdlib (Depends-on): Add c++defs.
36128         (Makefile.am): Update stdlib.h rule.
36129
36130         stdio: Avoid #define replacements in C++ mode.
36131         * lib/stdio.in.h: Include c++defs.h.
36132         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36133         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36134         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36135         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36136         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36137         namespaced alias symbol.
36138         * modules/stdio (Depends-on): Add c++defs.
36139         (Makefile.am): Update stdio.h rule.
36140
36141         spawn: Avoid #define replacements in C++ mode.
36142         * lib/spawn.in.h: Include c++defs.h.
36143         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36144         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36145         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36146         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36147         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36148         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36149         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36150         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36151         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36152         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36153         In C++, define a namespaced alias symbol.
36154         * modules/spawn (Depends-on): Add c++defs.
36155         (Makefile.am): Update spawn.h rule.
36156
36157         signal: Avoid #define replacements in C++ mode.
36158         * lib/signal.in.h: Include c++defs.h.
36159         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36160         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36161         namespaced alias symbol.
36162         * modules/signal (Depends-on): Add c++defs.
36163         (Makefile.am): Update signal.h rule.
36164
36165         search: Avoid #define replacements in C++ mode.
36166         * lib/search.in.h: Include c++defs.h.
36167         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36168         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36169         symbol.
36170         * modules/search (Depends-on): Add c++defs.
36171         (Makefile.am): Update search.h rule.
36172
36173         math: Avoid #define replacements in C++ mode.
36174         * lib/math.in.h: Include c++defs.h.
36175         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36176         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36177         trunc, truncl): In C++, define a namespaced alias symbol.
36178         * modules/math (Depends-on): Add c++defs.
36179         (Makefile.am): Update math.h rule.
36180
36181         locale: Avoid #define replacements in C++ mode.
36182         * lib/locale.in.h: Include c++defs.h.
36183         (duplocale): In C++, define a namespaced alias symbol.
36184         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36185         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36186         * modules/locale (Depends-on): Add c++defs.
36187         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36188
36189         langinfo: Avoid #define replacements in C++ mode.
36190         * lib/langinfo.in.h: Include c++defs.h.
36191         (nl_langinfo): In C++, define a namespaced alias symbol.
36192         * modules/langinfo (Depends-on): Add c++defs.
36193         (Makefile.am): Update langinfo.h rule.
36194
36195         iconv-h: Avoid #define replacements in C++ mode.
36196         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36197         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36198         symbol.
36199         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36200         whenever iconv is present.
36201         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36202         (Makefile.am): Update iconv.h rule.
36203
36204         glob: Avoid #define replacements in C++ mode.
36205         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36206         (_gl_glob_errfunc_fn): New type.
36207         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36208         symbol.
36209         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36210         (Makefile.am): Update glob.h rule.
36211
36212         fcntl-h: Avoid #define replacements in C++ mode.
36213         * lib/fcntl.in.h: Include c++defs.h.
36214         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36215         * modules/fcntl-h (Depends-on): Add c++defs.
36216         (Makefile.am): Update fcntl.h rule.
36217
36218         dirent: Avoid #define replacements in C++ mode.
36219         * lib/dirent.in.h: Include c++defs.h.
36220         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36221         namespaced alias symbol.
36222         (dirfd): Update declaration.
36223         * modules/dirent (Depends-on): Add c++defs.
36224         (Makefile.am): Update dirent.h rule.
36225
36226         ctype: Make it usable in C++ code.
36227         * lib/ctype.in.h: Include c++defs.h.
36228         (isblank): Declare as extern "C".
36229         * modules/ctype (Depends-on): Add c++defs.
36230         (Makefile.am): Update ctype.h rule.
36231
36232         New module 'c++defs'.
36233         * modules/c++defs: New file.
36234         * build-aux/c++defs.h: New file.
36235         Reported by John W. Eaton <jwe@gnu.org>.
36236
36237 2010-03-07  Bruno Haible  <bruno@clisp.org>
36238
36239         logb: Provide missing declaration for Cygwin.
36240         * lib/math.in.h (logb): New declaration.
36241         * m4/logb.m4: New file.
36242         * modules/logb (Files): Add m4/logb.m4.
36243         (Depends-on): Add math.
36244         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36245         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36246         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36247         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36248         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36249
36250 2010-03-07  Bruno Haible  <bruno@clisp.org>
36251
36252         Fix test-cond link error.
36253         * tests/test-cond.c: Include <stdio.h>.
36254
36255 2010-03-07  Bruno Haible  <bruno@clisp.org>
36256
36257         Fix test-dirent-safer link error.
36258         * modules/dirent-safer-tests (Makefile.am): Define
36259         test_dirent_safer_LDADD.
36260
36261 2010-03-07  Bruno Haible  <bruno@clisp.org>
36262
36263         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36264         among default module list.
36265
36266 2010-03-07  Bruno Haible  <bruno@clisp.org>
36267
36268         Fix link error on platforms with GNU libiconv.
36269         * modules/unistr/u8-strcoll-tests (Makefile): Define
36270         test_u8_strcoll_LDADD.
36271         * modules/unistr/u16-strcoll-tests (Makefile): Define
36272         test_u16_strcoll_LDADD.
36273         * modules/unistr/u32-strcoll-tests (Makefile): Define
36274         test_u32_strcoll_LDADD.
36275
36276 2010-03-07  Bruno Haible  <bruno@clisp.org>
36277
36278         Use POSIX declarations for socket functions.
36279         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36280         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36281         rpl_sendto): Change declaration to match POSIX.
36282         * lib/connect.c (rpl_connect): Likewise.
36283         * lib/accept.c (rpl_accept): Likewise.
36284         * lib/bind.c (rpl_bind): Likewise.
36285         * lib/getpeername.c (rpl_getpeername): Likewise.
36286         * lib/getsockname.c (rpl_getsockname): Likewise.
36287         * lib/recv.c (rpl_recv): Likewise.
36288         * lib/send.c (rpl_send): Likewise.
36289         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36290         * lib/sendto.c (rpl_sendto): Likewise.
36291
36292 2010-03-06  Bruno Haible  <bruno@clisp.org>
36293
36294         Clarify access, euidaccess, faccessat.
36295         * doc/posix-functions/faccessat.texi: Mention security problem under
36296         "Other problems", not "Portability problems".
36297         * doc/posix-functions/access.texi: Likewise. Mention a related security
36298         problem.
36299         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36300         * lib/euidaccess.c: Add comments about platforms.
36301         * lib/unistd.in.h (access, euidaccess): Add warnings.
36302
36303 2010-03-07  Bruno Haible  <bruno@clisp.org>
36304
36305         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36306         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36307         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36308         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36309         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36310         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36311         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36312         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36313         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36314         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36315         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36316         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36317         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36318         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36319         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36320         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36321         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36322         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36323         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36324         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36325         Likewise.
36326         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36327         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36328         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36329         Likewise.
36330         * tests/test-spawn.c (main): Make it work when
36331         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36332
36333 2010-03-07  Bruno Haible  <bruno@clisp.org>
36334
36335         Fix incorrect Makefile.am generation in German locale.
36336         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36337         Execute sed command with character range in C locale.
36338
36339 2010-03-06  Bruno Haible  <bruno@clisp.org>
36340
36341         Tests for module 'iconv-h'.
36342         * modules/iconv-h-tests: New file.
36343         * tests/test-iconv-h.c: New file.
36344
36345         New module 'iconv-h'.
36346         * modules/iconv-h: New file.
36347         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36348         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36349         (configure.ac): Remove gl_ICONV_H.
36350         (Makefile.am): Remove rule for iconv.h.
36351
36352 2010-03-06  Bruno Haible  <bruno@clisp.org>
36353
36354         More consistent naming of *.m4 files.
36355         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36356         * modules/wctype (Files): Update.
36357
36358         More consistent naming of *.m4 files.
36359         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36360         * modules/wchar (Files): Update.
36361
36362 2010-03-06  Jim Meyering  <meyering@redhat.com>
36363
36364         euidaccess: relax license to LGPLv2+
36365         * modules/euidaccess (License): Relax to LGPLv2+.
36366
36367 2010-03-06  Bruno Haible  <bruno@clisp.org>
36368
36369         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36370         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36371         (Makefile.am): Augment lib_SOURCES instead.
36372
36373 2010-03-04  Jim Meyering  <meyering@redhat.com>
36374
36375         utime: remove obsolete module
36376         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36377         unnecessary for years, and has been marked as obsolete for 10 months.
36378         * modules/utime: Remove file.
36379         * lib/utime.c: Remove file.
36380         * m4/utime.m4: Remove file.
36381         * m4/utimes-null.m4: Remove file.
36382         * doc/posix-functions/utime.texi (utime): Remove reference to
36383         the module.  Move the sole "fixed by gnulib" item into the
36384         "problems not fixed by Gnulib" list.
36385         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36386
36387 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36388
36389         * modules/exit (License): Relax license to LGPLv2+.
36390         (Status): Mark as obsolete.
36391         * NEWS: Mention deprecated 'exit' module.
36392         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36393         of now obsolete 'exit'.
36394
36395 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36396
36397         fts-lgpl: remove unused module
36398         * modules/fts-lgpl: Remove.
36399         * MODULES.html.sh (func_all_modules): Adjust.
36400         * check-module (find_included_lib_files): Adjust.
36401         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36402
36403 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36404
36405         copy-acl: enhance Solaris ACL error handling
36406         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36407         * lib/set-mode-acl.c (qset_acl): Likewise.
36408
36409 2010-03-02  Bruno Haible  <bruno@clisp.org>
36410
36411         spawn: Don't override the system defined values on FreeBSD 8.
36412         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36413         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36414         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36415         if HAVE_POSIX_SPAWN is 1.
36416         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36417
36418 2010-03-01  Bruno Haible  <bruno@clisp.org>
36419
36420         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36421         regarding Automake.
36422
36423 2010-02-25  Bruno Haible  <bruno@clisp.org>
36424
36425         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36426         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36427         setting, not afterwards.
36428         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36429
36430 2010-02-24  Eric Blake  <eblake@redhat.com>
36431
36432         bootstrap, git-version-gen: use timestamp
36433         * build-aux/git-version-gen (scriptversion): Force UTC.
36434         * build-aux/bootstrap (scriptversion): New variable.
36435
36436         bootstrap: allow older git
36437         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36438         older than 1.6.4.  Requested by the libvirt project.
36439
36440 2010-02-23  Eric Blake  <eblake@redhat.com>
36441
36442         warn-on-use: work with old autoconf
36443         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36444         AS_VAR semantics of autoconf 2.60.
36445         Reported by Bruno Haible.
36446
36447         bootstrap: improve some comments
36448         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36449         clarification comments.
36450
36451         gettimeofday: provide correct function
36452         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36453         when replacement is declared, otherwise provide gettimeofday.
36454         Reported by Michael Goffioul.
36455
36456 2010-02-23  Jim Meyering  <meyering@redhat.com>
36457
36458         lib-ignore: relax license to "unlimited", not LGPLv2+
36459         * modules/lib-ignore (License): Relax to "unlimited".
36460
36461 2010-02-23  Jim Meyering  <meyering@redhat.com>
36462
36463         lib-ignore: relax license to LGPLv2+
36464         * modules/lib-ignore (License): Relax to LGPLv2+.
36465
36466 2010-02-22  Eric Blake  <eblake@redhat.com>
36467
36468         lseek: avoid bash 3.2 broken pipe bug
36469         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36470         warning from bash 3.2.
36471         Reported by Ben Pfaff, with analysis from Bruno Haible.
36472
36473         bootstrap: support non-FSF copyright holder
36474         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36475         bootstrap.conf override of COPYRIGHT_HOLDER.
36476         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36477
36478         bootstrap: interoperate with gettext 0.14.1
36479         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36480
36481         bootstrap: allow for alternate submodule location
36482         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36483         hardcoding submodule location.
36484         (gnulib_mk): Allow direct use of Makefile.am.
36485
36486         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36487         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36488         rather than reconfiguring where the submodule points.
36489
36490         gettimeofday: restore support for platforms that lack function
36491         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36492         replacement if function is missing.
36493         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36494         * modules/sys_time (Makefile.am): Substitute it.
36495         * lib/sys_time.in.h (gettimeofday): Check it.
36496         Reported by Michael Goffioul.
36497
36498 2010-02-21  Bruno Haible  <bruno@clisp.org>
36499
36500         * lib/stdio.in.h (obstack_printf): Fix typo.
36501
36502 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36503
36504         vc-list-files: use bzr ls's -R option
36505         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36506         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36507
36508 2010-02-21  Jim Meyering  <meyering@redhat.com>
36509
36510         init.sh: fix EXEEXT shims to work also for names like test-prog
36511         * tests/init.sh: Re-exec a better shell, when needed.
36512         If the current shell lacks support for posix $(...), an init.sh-using
36513         test will now try to find a shell that supports that.  If EXEEXT is
36514         nonempty, we also require support for hyphen-in-alias-name and shell
36515         substitutions like ${var#glob}.  Failure to find such a shell results
36516         in a skipped test.
36517
36518 2010-02-21  Bruno Haible  <bruno@clisp.org>
36519
36520         Really work around around "broken pipe" error message from bash 3.2.
36521         * gnulib-tool (func_reset_sigpipe): Remove function.
36522         (echo): In bash 3.2, define to a function that uses printf.
36523         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36524
36525 2010-02-20  Bruno Haible  <bruno@clisp.org>
36526
36527         Restore support for automake 1.9.6 with autoconf 2.61.
36528         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36529         Reported by James Youngman <jay@gnu.org>.
36530
36531 2010-02-20  Bruno Haible  <bruno@clisp.org>
36532
36533         Improve *printf warning condition.
36534         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36535         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36536         and the function is overridden due to SIGPIPE emulation.
36537
36538 2010-02-20  Bruno Haible  <bruno@clisp.org>
36539
36540         * lib/stdio.in.h: Tweak comments.
36541
36542 2010-02-19  Bruno Haible  <bruno@clisp.org>
36543
36544         Make it easier to find modules. New gnulib-tool option '--find'.
36545         * gnulib-tool: New option --find.
36546         (func_usage): Document it.
36547         (func_sanitize_modulelist): New function, extracted from
36548         func_all_modules.
36549         (func_all_modules): Invoke it.
36550         * doc/gnulib-tool.texi (Which modules?): New node.
36551
36552 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36553
36554         * lib/sys_select.in.h: Provide select replacement even if
36555         sys/select.h exists on a system, for Interix.
36556
36557 2010-02-18  Jim Meyering  <meyering@redhat.com>
36558
36559         init.sh: don't use $(...) just yet
36560         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36561         to accommodate e.g., Solaris' /bin/sh.
36562
36563 2010-02-17  Bruno Haible  <bruno@clisp.org>
36564
36565         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36566         Reported by Ludovic Courtès <ludo@gnu.org>.
36567
36568 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36569
36570         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36571         linking with -lintl.
36572
36573 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36574
36575         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36576         if not provided by the system's netdb.h.  Reported by
36577         ludo@gnu.org (Ludovic Courtès).
36578
36579 2010-02-15  Jim Meyering  <meyering@redhat.com>
36580
36581         init.sh: improve portability and efficiency
36582         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36583         "dummy" in a for loop.
36584         Use '!', not '^' to select the complement of a character set used
36585         in a "case" statement.
36586         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36587         Suggestions from Eric Blake.
36588
36589         init.sh: automatically accommodate programs with the .exe suffix
36590         Automatically arrange for an invocation of "prog" to execute the
36591         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36592         may use the simpler "prog", yet still work when built on a system
36593         that requires specifying the added suffix.
36594         Do this by constructing a function named "prog" that invokes
36595         "prog.exe" for each .exe file in selected directories.
36596         * tests/init.sh (find_exe_basenames_): New function.
36597         (create_exe_shim_functions_): New function.
36598         (path_prepend_): Use it.
36599
36600         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36601         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36602         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36603
36604 2010-02-14  Jim Meyering  <meyering@redhat.com>
36605
36606         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36607         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36608         (sc_prohibit_hash_pjw_without_use): New rule.
36609
36610         maint.mk: allow the default upload destination dir to be overridden
36611         * top/maint.mk (upload_dest_dir_): Define with a default that
36612         preserves the status quo.
36613         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36614         Reported by Peter Simons.
36615
36616         maint.mk: prohibit inclusion of "hash.h" without_use
36617         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36618
36619 2010-02-10  Jim Meyering  <meyering@redhat.com>
36620
36621         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36622         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36623
36624 2010-02-09  Eric Blake  <ebb9@byu.net>
36625         and Bruno Haible  <bruno@clisp.org>
36626
36627         obstack-printf-posix: ensure declaration
36628         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36629         extracted from gl_FUNC_OBSTACK_PRINTF.
36630         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36631         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36632         Likewise.
36633         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36634         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36635         0.
36636
36637 2010-02-08  Bruno Haible  <bruno@clisp.org>
36638
36639         gnulib-tool: Fix typo in 2010-02-07 commit.
36640         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36641         Reported by Eric Blake.
36642
36643 2010-02-07  Bruno Haible  <bruno@clisp.org>
36644
36645         gnulib-tool: Fix up caching patches.
36646         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36647         option --no-cache. Use associative arrays when supported by the shell.
36648         (sed_comments): New variable.
36649         (modcache): Renamed from do_cache.
36650         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36651         abbreviate unnecessarily.
36652         (have_associative): New variable.
36653         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36654         way also for ksh and zsh.
36655         (func_init_sed_convert_to_cache_statements): New function, extracted
36656         from func_cache_lookup_module. Add support for associative arrays.
36657         Don't set the c_MODULE_cached variable here. Ignore all lines before
36658         the first field header. Remove only the final newline, not all trailing
36659         newlines. Support empty fields correctly. Limit the use of 'eval' to
36660         assignments.
36661         (func_get_description, func_get_status, func_get_notice,
36662         func_get_applicability, func_get_filelist, func_get_dependencies,
36663         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36664         func_get_automake_snippet, func_get_include_directive,
36665         func_get_link_directive, func_get_license, func_get_maintainer):
36666         Update documentation. List the unoptimized code first. Add support for
36667         associative arrays. Limit the use of 'eval' to assignments.
36668         (func_get_applicability): Undo stylistic pessimisations.
36669         (func_get_automake_snippet, func_get_include_directive): Reduce code
36670         duplication.
36671         (func_modules_transitive_closure, func_modules_add_dummy,
36672         func_modules_notice, func_modules_to_filelist, func_add_file,
36673         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36674         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36675         func_create_testdir, func_create_megatestdir): Update documentation.
36676
36677 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36678
36679         * gnulib-tool (func_cache_lookup_module): Store the module name
36680         belonging to the cache variable; error out if two different
36681         module names map to the same cache variable name.
36682
36683 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36684
36685         gnulib-tool: Make caching optional.
36686         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36687         Update matching short versions of --no-changelog.
36688         (func_usage): Update.
36689         (sed_extract_cache_prog): Renamed from ...
36690         (sed_extract_prog): ... this; revert to old extraction script.
36691         (func_get_description, func_get_status)
36692         (func_get_notice, func_get_applicability, func_get_filelist)
36693         (func_get_dependencies, func_get_autoconf_early_snippet)
36694         (func_get_autoconf_snippet, func_get_automake_snippet)
36695         (func_get_include_directive, func_get_link_directive)
36696         (func_get_license, func_get_maintainer): If $do_cache is false,
36697         use old, non-caching extraction scripts.
36698         Suggestion by Bruno Haible.
36699
36700 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36701
36702         gnulib-tool: cache module metainformation.
36703         * gnulib-tool (sed_extract_prog): Match newline before each
36704         header, and rewrite header to a shell variable suffix.
36705         (func_cache_var, func_cache_lookup_module): New functions,
36706         to turn a module name into a cache variable prefix, and to
36707         look up and cache module metainformation.
36708         (func_get_description, func_get_status)
36709         (func_get_notice, func_get_applicability, func_get_filelist)
36710         (func_get_dependencies, func_get_autoconf_early_snippet)
36711         (func_get_autoconf_snippet, func_get_automake_snippet)
36712         (func_get_include_directive, func_get_link_directive)
36713         (func_get_license, func_get_maintainer): Use
36714         func_cache_lookup_module.
36715
36716 2010-02-07  Bruno Haible  <bruno@clisp.org>
36717
36718         fnctl: Fix missing dependency.
36719         * modules/fcntl (Depends-on): Add getdtablesize.
36720         Reported by John W. Eaton <jwe@gnu.org>.
36721
36722 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36723
36724         Argp: fix recognition of short alias options.
36725
36726         * lib/argp-parse.c (convert_options): Fix improper use of
36727         `|' between character values.
36728         * tests/test-argp.c (group1_option): New alias option
36729         --read (-r).
36730         (group1_parser): Special handling for 'r'.
36731         (test15): New test case.
36732         (test_fun): Add test15.
36733         * tests/test-argp-2.sh: Update expected --help and --usage
36734         outputs.
36735
36736 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36737
36738         * tests/test-argp.c: Fix indentation.
36739
36740 2010-02-04  Eric Blake  <ebb9@byu.net>
36741
36742         gettimeofday: expose type of second argument
36743         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36744         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36745         * tests/test-gettimeofday.c: Use it to silence warning.
36746         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36747         the issue.
36748
36749 2010-02-03  Jim Meyering  <meyering@redhat.com>
36750
36751         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36752         * lib/regcomp.c (TYPE_SIGNED): Define.
36753         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36754
36755         regcomp.c: avoid a new -Wshadow warning
36756         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36757
36758 2010-02-01  Jim Meyering  <meyering@redhat.com>
36759
36760         removing useless parentheses in cpp #define directives
36761         For motivation, see commit c0221df4, "define STREQ(a,b)
36762         consistently, removing useless parentheses"
36763         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36764         * lib/mountlist.c (MNT_IGNORE): Likewise.
36765         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
36766
36767 2010-02-01  Eric Blake  <ebb9@byu.net>
36768
36769         sys_time: use link-warning
36770         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
36771         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
36772         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
36773         * modules/sys_time (Depends-on): Add warn-on-use.
36774         (Makefile.am): Always build replacement.
36775         (configure.ac): Update substitutions.
36776         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
36777         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
36778         bother with SYS_TIME_H.
36779         * modules/gettimeofday (configure.ac): Declare indicator.
36780         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
36781         in use.
36782
36783         closein-tests: silence compiler warning
36784         * tests/test-closein.c (main): Ignore fread result.
36785         * modules/closein-tests (Depends-on): Add ignore-value.
36786
36787         tests: silence warning about system return
36788         * tests/test-areadlink-with-size.c (main): Ignore system result.
36789         * tests/test-areadlink.c (main): Likewise.
36790         * tests/test-areadlinkat-with-size.c (main): Likewise.
36791         * tests/test-areadlinkat.c (main): Likewise.
36792         * tests/test-canonicalize-lgpl.c (main): Likewise.
36793         * tests/test-canonicalize.c (main): Likewise.
36794         * tests/test-chown.c (main): Likewise.
36795         * tests/test-fchownat.c (main): Likewise.
36796         * tests/test-fdutimensat.c (main): Likewise.
36797         * tests/test-fstatat.c (main): Likewise.
36798         * tests/test-futimens.c (main): Likewise.
36799         * tests/test-lchown.c (main): Likewise.
36800         * tests/test-link.c (main): Likewise.
36801         * tests/test-linkat.c (main): Likewise.
36802         * tests/test-lstat.c (main): Likewise.
36803         * tests/test-mkdir.c (main): Likewise.
36804         * tests/test-mkdirat.c (main): Likewise.
36805         * tests/test-mkfifo.c (main): Likewise.
36806         * tests/test-mkfifoat.c (main): Likewise.
36807         * tests/test-mknod.c (main): Likewise.
36808         * tests/test-readlink.c (main): Likewise.
36809         * tests/test-remove.c (main): Likewise.
36810         * tests/test-rename.c (main): Likewise.
36811         * tests/test-renameat.c (main): Likewise.
36812         * tests/test-rmdir.c (main): Likewise.
36813         * tests/test-symlink.c (main): Likewise.
36814         * tests/test-symlinkat.c (main): Likewise.
36815         * tests/test-unlink.c (main): Likewise.
36816         * tests/test-unlinkat.c (main): Likewise.
36817         * tests/test-utimens.c (main): Likewise.
36818         * tests/test-utimensat.c (main): Likewise.
36819         * modules/areadlink-tests (Depends-on): Add ignore-value.
36820         * modules/areadlink-with-size-tests (Depends-on): Likewise.
36821         * modules/areadlinkat-tests (Depends-on): Likewise.
36822         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
36823         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36824         * modules/canonicalize-tests (Depends-on): Likewise.
36825         * modules/chown-tests (Depends-on): Likewise.
36826         * modules/fdutimensat-tests (Depends-on): Likewise.
36827         * modules/futimens-tests (Depends-on): Likewise.
36828         * modules/lchown-tests (Depends-on): Likewise.
36829         * modules/link-tests (Depends-on): Likewise.
36830         * modules/linkat-tests (Depends-on): Likewise.
36831         * modules/lstat-tests (Depends-on): Likewise.
36832         * modules/mkdir-tests (Depends-on): Likewise.
36833         * modules/mkfifo-tests (Depends-on): Likewise.
36834         * modules/mkfifoat-tests (Depends-on): Likewise.
36835         * modules/mknod-tests (Depends-on): Likewise.
36836         * modules/openat-tests (Depends-on): Likewise.
36837         * modules/readlink-tests (Depends-on): Likewise.
36838         * modules/remove-tests (Depends-on): Likewise.
36839         * modules/rename-tests (Depends-on): Likewise.
36840         * modules/renameat-tests (Depends-on): Likewise.
36841         * modules/rmdir-tests (Depends-on): Likewise.
36842         * modules/symlink-tests (Depends-on): Likewise.
36843         * modules/symlinkat-tests (Depends-on): Likewise.
36844         * modules/unlink-tests (Depends-on): Likewise.
36845         * modules/utimens-tests (Depends-on): Likewise.
36846         * modules/utimensat-tests (Depends-on): Likewise.
36847
36848 2010-01-31  Bruno Haible  <bruno@clisp.org>
36849
36850         Perform the same test for many <math.h> functions.
36851         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
36852         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
36853         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
36854         of gl_MATHFUNC.
36855         * modules/acos (configure.ac): Likewise.
36856         * modules/asin (configure.ac): Likewise.
36857         * modules/atan (configure.ac): Likewise.
36858         * modules/atan2 (configure.ac): Likewise.
36859         * modules/cbrt (configure.ac): Likewise.
36860         * modules/copysign (configure.ac): Likewise.
36861         * modules/cos (configure.ac): Likewise.
36862         * modules/cosh (configure.ac): Likewise.
36863         * modules/erf (configure.ac): Likewise.
36864         * modules/erfc (configure.ac): Likewise.
36865         * modules/exp (configure.ac): Likewise.
36866         * modules/fmod (configure.ac): Likewise.
36867         * modules/hypot (configure.ac): Likewise.
36868         * modules/j0 (configure.ac): Likewise.
36869         * modules/j1 (configure.ac): Likewise.
36870         * modules/jn (configure.ac): Likewise.
36871         * modules/lgamma (configure.ac): Likewise.
36872         * modules/log (configure.ac): Likewise.
36873         * modules/log10 (configure.ac): Likewise.
36874         * modules/log1p (configure.ac): Likewise.
36875         * modules/pow (configure.ac): Likewise.
36876         * modules/remainder (configure.ac): Likewise.
36877         * modules/sin (configure.ac): Likewise.
36878         * modules/sinh (configure.ac): Likewise.
36879         * modules/tan (configure.ac): Likewise.
36880         * modules/tanh (configure.ac): Likewise.
36881         * modules/y0 (configure.ac): Likewise.
36882         * modules/y1 (configure.ac): Likewise.
36883         * modules/yn (configure.ac): Likewise.
36884         Suggested by Paolo Bonzini.
36885
36886 2010-01-31  Bruno Haible  <bruno@clisp.org>
36887
36888         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
36889
36890 2010-01-31  Bruno Haible  <bruno@clisp.org>
36891
36892         Work around getdelim() bug on FreeBSD 8.0.
36893         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
36894         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
36895         not work.
36896         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
36897         is 1.
36898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
36899         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
36900         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
36901         a non-zero size.
36902         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
36903
36904 2010-01-31  Bruno Haible  <bruno@clisp.org>
36905
36906         Work around getline() bug on FreeBSD 8.0.
36907         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
36908         and a non-zero size.
36909         * tests/test-getline.c (main): Likewise.
36910         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
36911         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
36912
36913 2010-01-28  Eric Blake  <ebb9@byu.net>
36914
36915         regex: fix build failure
36916         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
36917         platforms.
36918
36919 2010-01-28  Jim Meyering  <meyering@redhat.com>
36920
36921         regex: do not ignore memory allocation failure
36922         * lib/regex_internal.c (create_cd_newstate): Detect
36923         re_node_set_init_copy failure.   Extracted from glibc commit
36924         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36925
36926         regex: sync more white-space changes from libc
36927         * lib/regex_internal.c: White-space only changes.
36928         * lib/regexec.c: Likewise.
36929
36930         regex: add many uses of __attribute_warn_unused_result__
36931         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36932         * lib/regexec.c: Likewise.
36933         Extracted from a messy glibc commit.
36934
36935         regcomp.c: spelling and merge-artifact from glibc
36936         * lib/regcomp.c: Merge remainder of glibc's
36937         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36938
36939         regcomp.c: sync white-space changes from glibc
36940         * lib/regcomp.c: Merge to accommodate white space
36941         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36942
36943         regcomp.c: do not ignore internal return values
36944         * lib/regcomp.c: Do not ignore internal return values.
36945         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
36946         but without its white-space changes and spelling fixes.
36947
36948         regex_internal.h: define __attribute_warn_unused_result__
36949         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
36950
36951         maint: add a syntax-check rule to check for vulnerable Makefile.in
36952         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
36953
36954 2010-01-27  Jim Meyering  <meyering@redhat.com>
36955
36956         ncftpput-ftp: clean up spaces
36957         * build-aux/ncftpput-ftp: Make Copyright line consistent.
36958         Remove trailing blanks.
36959
36960 2010-01-27  Simon Josefsson  <simon@josefsson.org>
36961
36962         * build-aux/git-version-gen: Fix copyright statement.
36963         * build-aux/gnupload: Likewise.
36964         * tests/test-arcfour.c: Likewise.
36965         * tests/test-arctwo.c: Likewise.
36966         * tests/test-count-one-bits.c: Likewise.
36967         * tests/test-crc.c: Likewise.
36968         * tests/test-des.c: Likewise.
36969         * tests/test-gc-arcfour.c: Likewise.
36970         * tests/test-gc-arctwo.c: Likewise.
36971         * tests/test-gc-des.c: Likewise.
36972         * tests/test-gc-hmac-md5.c: Likewise.
36973         * tests/test-gc-hmac-sha1.c: Likewise.
36974         * tests/test-gc-md2.c: Likewise.
36975         * tests/test-gc-md4.c: Likewise.
36976         * tests/test-gc-md5.c: Likewise.
36977         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36978         * tests/test-gc-rijndael.c: Likewise.
36979         * tests/test-gc-sha1.c: Likewise.
36980         * tests/test-gc.c: Likewise.
36981         * tests/test-gethostname.c: Likewise.
36982         * tests/test-gettimeofday.c: Likewise.
36983         * tests/test-hash.c: Likewise.
36984         * tests/test-hmac-md5.c: Likewise.
36985         * tests/test-hmac-sha1.c: Likewise.
36986         * tests/test-md2.c: Likewise.
36987         * tests/test-md4.c: Likewise.
36988         * tests/test-md5.c: Likewise.
36989         * tests/test-memchr.c: Likewise.
36990         * tests/test-memchr2.c: Likewise.
36991         * tests/test-memcmp.c: Likewise.
36992         * tests/test-memmem.c: Likewise.
36993         * tests/test-memrchr.c: Likewise.
36994         * tests/test-rawmemchr.c: Likewise.
36995         * tests/test-read-file.c: Likewise.
36996         * tests/test-rijndael.c: Likewise.
36997         * tests/test-sockets.c: Likewise.
36998         * tests/test-strchrnul.c: Likewise.
36999         * tests/test-strstr.c: Likewise.
37000         * tests/test-strtod.c: Likewise.
37001         * build-aux/ncftpput-ftp: Likewise.
37002
37003 2010-01-26  Eric Blake  <ebb9@byu.net>
37004
37005         ignore-value: update recommended header name
37006         * modules/ignore-value (Include): Only use <> for headers that
37007         exist in glibc.
37008
37009 2010-01-26  Jim Meyering  <meyering@redhat.com>
37010
37011         test-userspec.c: avoid compiler warnings
37012         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37013         and "initialization discards qualifiers..." warnings.
37014         Put the first "uid" in its own scope, and make char* members "const".
37015
37016 2010-01-25  Bruno Haible  <bruno@clisp.org>
37017
37018         gnulib-tool: Make warning diagnostics consistent.
37019         * gnulib-tool (func_warning): New function.
37020         Use it everywhere where gnulib-tool produces output to stderr and it is
37021         not a fatal error.
37022
37023 2010-01-25  Bruno Haible  <bruno@clisp.org>
37024
37025         Fix test dependencies.
37026         * modules/xstrtol-tests (Depends-on): Add inttypes.
37027         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37028
37029 2010-01-25 Pádraig Brady <P@draigBrady.com>
37030
37031         syntax-check: detect incorrect boolean macro values in config.h
37032         * modules/maintainer-makefile (configure.ac): Parameterize the location
37033         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37034         The logic is from Eric Blake and the location indicated by Jim Meyering.
37035         Note the more natural CONFIG_HEADER name is prohibited by automake
37036         for backwards compatibility reasons.
37037         * top/maint.mk (sc_Wundef_boolean): New rule.
37038
37039 2010-01-25  Jim Meyering  <meyering@redhat.com>
37040
37041         bootstrap: detect MacOS 10.6's shasum, too
37042         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37043         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37044
37045 2010-01-23  Jim Meyering  <meyering@redhat.com>
37046
37047         xstrtoll: new module
37048         * modules/xstrtoll: New file.
37049         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37050         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37051         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37052         ./configure fails if you use this module and lack "long long".
37053         * modules/xstrtoll-tests: New module.
37054         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37055         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37056         new init.sh-based test framework.
37057
37058 2010-01-24  Bruno Haible  <bruno@clisp.org>
37059
37060         Tests for module 'yn'.
37061         * modules/yn-tests: New file.
37062         * tests/test-yn.c: New file.
37063
37064         Tests for module 'y1'.
37065         * modules/y1-tests: New file.
37066         * tests/test-y1.c: New file.
37067
37068         Tests for module 'y0'.
37069         * modules/y0-tests: New file.
37070         * tests/test-y0.c: New file.
37071
37072         Tests for module 'tanh'.
37073         * modules/tanh-tests: New file.
37074         * tests/test-tanh.c: New file.
37075
37076         Tests for module 'tan'.
37077         * modules/tan-tests: New file.
37078         * tests/test-tan.c: New file.
37079
37080         Tests for module 'sqrt'.
37081         * modules/sqrt-tests: New file.
37082         * tests/test-sqrt.c: New file.
37083
37084         Tests for module 'sinh'.
37085         * modules/sinh-tests: New file.
37086         * tests/test-sinh.c: New file.
37087
37088         Tests for module 'sin'.
37089         * modules/sin-tests: New file.
37090         * tests/test-sin.c: New file.
37091
37092         Tests for module 'rint'.
37093         * modules/rint-tests: New file.
37094         * tests/test-rint.c: New file.
37095
37096         Tests for module 'remainder'.
37097         * modules/remainder-tests: New file.
37098         * tests/test-remainder.c: New file.
37099
37100         Tests for module 'pow'.
37101         * modules/pow-tests: New file.
37102         * tests/test-pow.c: New file.
37103
37104         Tests for module 'nextafter'.
37105         * modules/nextafter-tests: New file.
37106         * tests/test-nextafter.c: New file.
37107
37108         Tests for module 'modf'.
37109         * modules/modf-tests: New file.
37110         * tests/test-modf.c: New file.
37111
37112         Tests for module 'logb'.
37113         * modules/logb-tests: New file.
37114         * tests/test-logb.c: New file.
37115
37116         Tests for module 'log1p'.
37117         * modules/log1p-tests: New file.
37118         * tests/test-log1p.c: New file.
37119
37120         Tests for module 'log10'.
37121         * modules/log10-tests: New file.
37122         * tests/test-log10.c: New file.
37123
37124         Tests for module 'log'.
37125         * modules/log-tests: New file.
37126         * tests/test-log.c: New file.
37127
37128         Tests for module 'lgamma'.
37129         * modules/lgamma-tests: New file.
37130         * tests/test-lgamma.c: New file.
37131
37132         Tests for module 'ldexp'.
37133         * modules/ldexp-tests: New file.
37134         * tests/test-ldexp.c: New file.
37135
37136         Tests for module 'jn'.
37137         * modules/jn-tests: New file.
37138         * tests/test-jn.c: New file.
37139
37140         Tests for module 'j1'.
37141         * modules/j1-tests: New file.
37142         * tests/test-j1.c: New file.
37143
37144         Tests for module 'j0'.
37145         * modules/j0-tests: New file.
37146         * tests/test-j0.c: New file.
37147
37148         Tests for module 'hypot'.
37149         * modules/hypot-tests: New file.
37150         * tests/test-hypot.c: New file.
37151
37152         Tests for module 'fmod'.
37153         * modules/fmod-tests: New file.
37154         * tests/test-fmod.c: New file.
37155
37156         Tests for module 'fabs'.
37157         * modules/fabs-tests: New file.
37158         * tests/test-fabs.c: New file.
37159
37160         Tests for module 'exp'.
37161         * modules/exp-tests: New file.
37162         * tests/test-exp.c: New file.
37163
37164         Tests for module 'erfc'.
37165         * modules/erfc-tests: New file.
37166         * tests/test-erfc.c: New file.
37167
37168         Tests for module 'erf'.
37169         * modules/erf-tests: New file.
37170         * tests/test-erf.c: New file.
37171
37172         Tests for module 'cosh'.
37173         * modules/cosh-tests: New file.
37174         * tests/test-cosh.c: New file.
37175
37176         Tests for module 'cos'.
37177         * modules/cos-tests: New file.
37178         * tests/test-cos.c: New file.
37179
37180         Tests for module 'copysign'.
37181         * modules/copysign-tests: New file.
37182         * tests/test-copysign.c: New file.
37183
37184         Tests for module 'cbrt'.
37185         * modules/cbrt-tests: New file.
37186         * tests/test-cbrt.c: New file.
37187
37188         Tests for module 'atan2'.
37189         * modules/atan2-tests: New file.
37190         * tests/test-atan2.c: New file.
37191
37192         Tests for module 'atan'.
37193         * modules/atan-tests: New file.
37194         * tests/test-atan.c: New file.
37195
37196         Tests for module 'asin'.
37197         * modules/asin-tests: New file.
37198         * tests/test-asin.c: New file.
37199
37200         Tests for module 'acos'.
37201         * modules/acos-tests: New file.
37202         * tests/test-acos.c: New file.
37203
37204 2010-01-24  Bruno Haible  <bruno@clisp.org>
37205
37206         Fix tests for common <math.h> functions.
37207         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37208         code snippet that references the function pointer, rather than merely
37209         calling the function. Substitute the FUNC_LIBM variable.
37210         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37211         * modules/acos (configure.ac): Likewise.
37212         * modules/asin (configure.ac): Likewise.
37213         * modules/atan (configure.ac): Likewise.
37214         * modules/atan2 (configure.ac): Likewise.
37215         * modules/cbrt (configure.ac): Likewise.
37216         * modules/copysign (configure.ac): Likewise.
37217         * modules/cos (configure.ac): Likewise.
37218         * modules/cosh (configure.ac): Likewise.
37219         * modules/erf (configure.ac): Likewise.
37220         * modules/erfc (configure.ac): Likewise.
37221         * modules/exp (configure.ac): Likewise.
37222         * modules/fabs (configure.ac): Likewise.
37223         * modules/fmod (configure.ac): Likewise.
37224         * modules/hypot (configure.ac): Likewise.
37225         * modules/j0 (configure.ac): Likewise.
37226         * modules/j1 (configure.ac): Likewise.
37227         * modules/jn (configure.ac): Likewise.
37228         * modules/ldexp (configure.ac): Likewise.
37229         * modules/lgamma (configure.ac): Likewise.
37230         * modules/log (configure.ac): Likewise.
37231         * modules/log10 (configure.ac): Likewise.
37232         * modules/log1p (configure.ac): Likewise.
37233         * modules/logb (configure.ac): Likewise.
37234         * modules/modf (configure.ac): Likewise.
37235         * modules/nextafter (configure.ac): Likewise.
37236         * modules/pow (configure.ac): Likewise.
37237         * modules/remainder (configure.ac): Likewise.
37238         * modules/rint (configure.ac): Likewise.
37239         * modules/sin (configure.ac): Likewise.
37240         * modules/sinh (configure.ac): Likewise.
37241         * modules/tan (configure.ac): Likewise.
37242         * modules/tanh (configure.ac): Likewise.
37243         * modules/y0 (configure.ac): Likewise.
37244         * modules/y1 (configure.ac): Likewise.
37245         * modules/yn (configure.ac): Likewise.
37246
37247 2010-01-24  Bruno Haible  <bruno@clisp.org>
37248
37249         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37250         * tests/test-acosl.c (x): New variable.
37251         (main): Store argument in x and fetch it from x.
37252         * tests/test-asinl.c (x): New variable.
37253         (main): Store argument in x and fetch it from x.
37254         * tests/test-atanl.c (x): New variable.
37255         (main): Store argument in x and fetch it from x.
37256         * tests/test-cosl.c (x): New variable.
37257         (main): Store argument in x and fetch it from x.
37258         * tests/test-expl.c (x): New variable.
37259         (main): Store argument in x and fetch it from x.
37260         * tests/test-logl.c (x): New variable.
37261         (main): Store argument in x and fetch it from x.
37262         * tests/test-sinl.c (x): New variable.
37263         (main): Store argument in x and fetch it from x.
37264         * tests/test-sqrtl.c (x): New variable.
37265         (main): Store argument in x and fetch it from x.
37266         * tests/test-tanl.c (x): New variable.
37267         (main): Store argument in x and fetch it from x.
37268
37269 2010-01-24  Bruno Haible  <bruno@clisp.org>
37270
37271         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37272         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37273         assignments to the initial TESTS_ENVIRONMENT.
37274         * doc/gnulib.texi (Unit test modules): Document it.
37275         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37276         TESTS_ENVIRONMENT.
37277         * modules/btowc-tests (Makefile.am): Likewise.
37278         * modules/c-stack-tests (Makefile.am): Likewise.
37279         * modules/c-strcase-tests (Makefile.am): Likewise.
37280         * modules/copy-file-tests (Makefile.am): Likewise.
37281         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37282         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37283         * modules/mbrtowc-tests (Makefile.am): Likewise.
37284         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37285         * modules/mbscasestr-tests (Makefile.am): Likewise.
37286         * modules/mbschr-tests (Makefile.am): Likewise.
37287         * modules/mbscspn-tests (Makefile.am): Likewise.
37288         * modules/mbsinit-tests (Makefile.am): Likewise.
37289         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37290         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37291         * modules/mbspbrk-tests (Makefile.am): Likewise.
37292         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37293         * modules/mbsrchr-tests (Makefile.am): Likewise.
37294         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37295         * modules/mbsspn-tests (Makefile.am): Likewise.
37296         * modules/mbsstr-tests (Makefile.am): Likewise.
37297         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37298         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37299         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37300         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37301         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37302         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37303         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37304         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37305         * modules/wcrtomb-tests (Makefile.am): Likewise.
37306         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37307         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37308         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37309         assignments from TESTS_ENVIRONMENT.
37310         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37311         augmentation.
37312         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37313         * modules/atexit-tests (Makefile.am): Likewise.
37314         * modules/binary-io-tests (Makefile.am): Likewise.
37315         * modules/closein-tests (Makefile.am): Likewise.
37316         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37317         * modules/exclude-tests (Makefile.am): Likewise.
37318         * modules/fflush-tests (Makefile.am): Likewise.
37319         * modules/fpending-tests (Makefile.am): Likewise.
37320         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37321         * modules/freadahead-tests (Makefile.am): Likewise.
37322         * modules/freadptr-tests (Makefile.am): Likewise.
37323         * modules/freadseek-tests (Makefile.am): Likewise.
37324         * modules/fseek-tests (Makefile.am): Likewise.
37325         * modules/fseeko-tests (Makefile.am): Likewise.
37326         * modules/ftell-tests (Makefile.am): Likewise.
37327         * modules/ftello-tests (Makefile.am): Likewise.
37328         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37329         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37330         * modules/lseek-tests (Makefile.am): Likewise.
37331         * modules/parse-duration-tests (Makefile.am): Likewise.
37332         * modules/perror-tests (Makefile.am): Likewise.
37333         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37334         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37335         * modules/pipe-tests (Makefile.am): Likewise.
37336         * modules/pread-tests (Makefile.am): Likewise.
37337         * modules/printf-posix-tests (Makefile.am): Likewise.
37338         * modules/select-tests (Makefile.am): Likewise.
37339         * modules/sigpipe-tests (Makefile.am): Likewise.
37340         * modules/tsearch-tests (Makefile.am): Likewise.
37341         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37342         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37343         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37344         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37345         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37346         * modules/version-etc-tests (Makefile.am): Likewise.
37347         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37348         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37349         * modules/xalloc-die-tests (Makefile.am): Likewise.
37350         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37351         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37352         * modules/xstrtol-tests (Makefile.am): Likewise.
37353         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37354         * modules/yesno-tests (Makefile.am): Likewise.
37355         Suggested by Jim Meyering.
37356
37357 2010-01-24  Bruno Haible  <bruno@clisp.org>
37358
37359         More documentation.
37360         * doc/gnulib.texi (Writing modules): New chapter.
37361         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37362         the new chapter.
37363
37364 2010-01-24  Jim Meyering  <meyering@redhat.com>
37365
37366         maint.mk: do not prepend "./" after filtering
37367         * top/maint.mk (_prepend_srcdir_prefix): New variable
37368         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37369         "./" when $(srcdir) is ".".
37370
37371         define STREQ(a,b) consistently, removing useless parentheses
37372         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37373         since the only risk is that "a" or "b" contains an unparenthesized
37374         comma, but if either did that, STREQ would have 3 or more arguments.
37375         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37376         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37377         * lib/hash-triple.c (STREQ): Likewise.
37378         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37379         * lib/getugroups.c (STREQ): Likewise.
37380
37381 2010-01-23  Jim Meyering  <meyering@redhat.com>
37382
37383         maint.mk: fix syntax-check in a non-srcdir build directory
37384         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37385         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37386
37387 2010-01-22  Jim Meyering  <meyering@redhat.com>
37388
37389         userspec: add unit tests
37390         * tests/test-userspec.c: New file.
37391         * modules/userspec-tests: Likewise.
37392
37393 2010-01-21  Jim Meyering  <meyering@redhat.com>
37394
37395         maint.mk: handle source file names containing "." robustly
37396         * top/maint.mk (_dot_escaped_srcdir): Define.
37397         (VC_LIST): Use it in LHS of sed substitution.
37398
37399 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37400
37401         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37402         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37403         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37404         from a non-srcdir build.
37405
37406 2010-01-20  Eric Blake  <ebb9@byu.net>
37407
37408         warn-on-use: use instead of link-warning
37409         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37410         * modules/unistd (Depends-on, Makefile.am): Likewise.
37411         * modules/arpa_inet (Depends-on): Replace link-warning with
37412         warn-on-use.
37413         (Makefile.am): Update rules accordingly.
37414         * modules/ctype (Depends-on, Makefile.am): Likewise.
37415         * modules/dirent (Depends-on, Makefile.am): Likewise.
37416         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37417         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37418         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37419         * modules/locale (Depends-on, Makefile.am): Likewise.
37420         * modules/math (Depends-on, Makefile.am): Likewise.
37421         * modules/search (Depends-on, Makefile.am): Likewise.
37422         * modules/signal (Depends-on, Makefile.am): Likewise.
37423         * modules/spawn (Depends-on, Makefile.am): Likewise.
37424         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37425         * modules/string (Depends-on, Makefile.am): Likewise.
37426         * modules/strings (Depends-on, Makefile.am): Likewise.
37427         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37428         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37429         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37430         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37431         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37432         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37433         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37434         * modules/wchar (Depends-on, Makefile.am): Likewise.
37435         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37436         should be poisoned.
37437         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37438         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37439         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37440         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37441         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37442         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37443         * m4/math_h.m4 (gl_MATH_H): Likewise.
37444         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37445         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37446         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37447         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37448         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37449         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37450         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37451         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37452         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37453         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37454         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37455         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37456         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37457         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37458         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37459         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37460         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37461         GL_LINK_WARNING.
37462         * lib/ctype.in.h: Likewise.
37463         * lib/dirent.in.h: Likewise.
37464         * lib/fcntl.in.h: Likewise.
37465         * lib/inttypes.in.h: Likewise.
37466         * lib/langinfo.in.h: Likewise.
37467         * lib/locale.in.h: Likewise.
37468         * lib/math.in.h: Likewise.
37469         * lib/search.in.h: Likewise.
37470         * lib/signal.in.h: Likewise.
37471         * lib/spawn.in.h: Likewise.
37472         * lib/stdio.in.h: Likewise.
37473         * lib/stdlib.in.h: Likewise.
37474         * lib/string.in.h: Likewise.
37475         * lib/strings.in.h: Likewise.
37476         * lib/sys_file.in.h: Likewise.
37477         * lib/sys_ioctl.in.h: Likewise.
37478         * lib/sys_select.in.h: Likewise.
37479         * lib/sys_socket.in.h: Likewise.
37480         * lib/sys_stat.in.h: Likewise.
37481         * lib/sys_times.in.h: Likewise.
37482         * lib/sys_utsname.in.h: Likewise.
37483         * lib/unistd.in.h: Likewise.
37484         * lib/wchar.in.h: Likewise.
37485
37486 2010-01-20  Bruno Haible  <bruno@clisp.org>
37487
37488         Avoid duplicate -lm.
37489         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37490         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37491         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37492         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37493         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37494         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37495         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37496         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37497         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37498         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37499         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37500         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37501         Reported by Paolo Bonzini.
37502
37503 2010-01-19  Bruno Haible  <bruno@clisp.org>
37504
37505         langinfo, nl_langinfo: Relicense under LGPLv2+.
37506         * modules/langinfo (License): Change to LGPLv2+.
37507         * modules/nl_langinfo (License): Likewise.
37508         Patch by David Lutterkort <lutter@redhat.com>.
37509
37510 2010-01-19  Bruno Haible  <bruno@clisp.org>
37511
37512         Avoid compilation error with cc on OSF/1 5.1.
37513         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37514         statement, not before.
37515         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37516
37517 2010-01-18  Bruno Haible  <bruno@clisp.org>
37518
37519         Avoid a link error due to the __printf__ symbol.
37520         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37521         and 2.6.x.
37522         (__format__, __printf__): Remove definitions.
37523         * lib/argp-fmtstream.h: Likewise.
37524         * lib/argp.h: Likewise.
37525         * lib/error.h: Likewise.
37526         * lib/vasnprintf.h: Likewise.
37527         * lib/xprintf.h: Likewise.
37528         * lib/xvasprintf.h: Likewise.
37529         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37530
37531 2010-01-18  Bruno Haible  <bruno@clisp.org>
37532
37533         Tests for module 'tanl'.
37534         * modules/tanl-tests: New file.
37535         * tests/test-tanl.c: New file.
37536
37537         Tests for module 'sqrtl'.
37538         * modules/sqrtl-tests: New file.
37539         * tests/test-sqrtl.c: New file.
37540
37541         Tests for module 'sinl'.
37542         * modules/sinl-tests: New file.
37543         * tests/test-sinl.c: New file.
37544
37545         Tests for module 'logl'.
37546         * modules/logl-tests: New file.
37547         * tests/test-logl.c: New file.
37548
37549         Tests for module 'expl'.
37550         * modules/expl-tests: New file.
37551         * tests/test-expl.c: New file.
37552
37553         Tests for module 'cosl'.
37554         * modules/cosl-tests: New file.
37555         * tests/test-cosl.c: New file.
37556
37557         Tests for module 'atanl'.
37558         * modules/atanl-tests: New file.
37559         * tests/test-atanl.c: New file.
37560
37561         Tests for module 'asinl'.
37562         * modules/asinl-tests: New file.
37563         * tests/test-asinl.c: New file.
37564
37565         Tests for module 'acosl'.
37566         * modules/acosl-tests: New file.
37567         * tests/test-acosl.c: New file.
37568
37569         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37570         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37571         tanl): Use the standard gnulib idiom.
37572         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37573         * lib/sinl.c: Likewise.
37574         * lib/tanl.c: Don't include trigl.c.
37575         (kernel_tanl): Make static.
37576         * lib/sincosl.c: Include trigl.h first.
37577         * lib/trigl.c: Likewise.
37578         * m4/acosl.m4: New file.
37579         * m4/asinl.m4: New file.
37580         * m4/atanl.m4: New file.
37581         * m4/cosl.m4: New file.
37582         * m4/expl.m4: New file.
37583         * m4/logl.m4: New file.
37584         * m4/sinl.m4: New file.
37585         * m4/sqrtl.m4: New file.
37586         * m4/tanl.m4: New file.
37587         * m4/mathl.m4: Remove file.
37588         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37589         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37590         Don't initialize GNULIB_MATHL.
37591         * modules/acosl: New file.
37592         * modules/asinl: New file.
37593         * modules/atanl: New file.
37594         * modules/cosl: New file.
37595         * modules/expl: New file.
37596         * modules/logl: New file.
37597         * modules/sinl: New file.
37598         * modules/sqrtl: New file.
37599         * modules/tanl: New file.
37600         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37601         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37602         substitute GNULIB_MATHL.
37603         * modules/mathl: Rewritten.
37604         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37605         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37606         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37607         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37608         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37609         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37610         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37611         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37612         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37613
37614 2010-01-18  Bruno Haible  <bruno@clisp.org>
37615
37616         sqrt: Make gl_FUNC_SQRT requirable.
37617         * m4/sqrt.m4: New file.
37618         * modules/sqrt (Files): Add it.
37619         (configure.ac): Invoke gl_FUNC_SQRT.
37620
37621 2010-01-18  Bruno Haible  <bruno@clisp.org>
37622
37623         New modules for common <math.h> functions.
37624         * m4/mathfunc.m4: New file.
37625         * modules/acos: New file.
37626         * modules/asin: New file.
37627         * modules/atan: New file.
37628         * modules/atan2: New file.
37629         * modules/cbrt: New file.
37630         * modules/copysign: New file.
37631         * modules/cos: New file.
37632         * modules/cosh: New file.
37633         * modules/erf: New file.
37634         * modules/erfc: New file.
37635         * modules/exp: New file.
37636         * modules/fabs: New file.
37637         * modules/fmod: New file.
37638         * modules/hypot: New file.
37639         * modules/j0: New file.
37640         * modules/j1: New file.
37641         * modules/jn: New file.
37642         * modules/ldexp: New file.
37643         * modules/lgamma: New file.
37644         * modules/log: New file.
37645         * modules/log10: New file.
37646         * modules/log1p: New file.
37647         * modules/logb: New file.
37648         * modules/modf: New file.
37649         * modules/nextafter: New file.
37650         * modules/pow: New file.
37651         * modules/remainder: New file.
37652         * modules/rint: New file.
37653         * modules/sin: New file.
37654         * modules/sinh: New file.
37655         * modules/sqrt: New file.
37656         * modules/tan: New file.
37657         * modules/tanh: New file.
37658         * modules/y0: New file.
37659         * modules/y1: New file.
37660         * modules/yn: New file.
37661         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37662         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37663         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37664         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37665         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37666         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37667         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37668         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37669         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37670         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37671         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37672         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37673         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37674         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37675         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37676         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37677         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37678         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37679         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37680         * doc/posix-functions/log.texi: Mention the 'log' module.
37681         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37682         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37683         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37684         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37685         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37686         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37687         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37688         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37689         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37690         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37691         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37692         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37693         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37694         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37695         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37696         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37697
37698 2010-01-18  Jim Meyering  <meyering@redhat.com>
37699
37700         ignore-value: relax license to LGPLv2+
37701         * modules/ignore-value (License): Relax to LGPLv2+.
37702
37703         getdate: don't leak when TZ contains two or more '"'s
37704         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37705         double quote in TZ after the first one.
37706
37707         readtokens: do not leak internal token_lengths buffer
37708         * lib/readtokens.c (readtokens): Free the local, lengths,
37709         when the supplied "token_lengths" parameter is NULL.
37710
37711 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37712
37713         Fix a couple of missing LIBTHREAD link failures on AIX.
37714         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37715         $(LIBTHREAD).
37716         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37717
37718         Link test-poll against INET_PTON_LIB.
37719         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37720         for inet_pton on Solaris 10.
37721
37722 2010-01-17  Bruno Haible  <bruno@clisp.org>
37723
37724         unistdio/*-sprintf: Fix typo in module description.
37725         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37726         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37727         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37728         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37729         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37730         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37731         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37732         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37733
37734 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37735
37736         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37737         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37738         variables in shell case patterns, for AIX and HP-UX ksh.
37739
37740         Split large sed scripts, for HP-UX sed.
37741         * modules/stdio: Split sed scripts around 50 sed commands,
37742         to avoid HP-UX limit of 99 commands, in the near future.
37743         * modules/string: Likewise.
37744         * modules/unistd: Likewise.
37745
37746         gnulib-tool: avoid writing in the current directory.
37747         * gnulib-tool (func_emit_lib_Makefile_am)
37748         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37749         not in the current directory, so concurrent gnulib-tool
37750         instances do not interfere.
37751
37752 2010-01-16  Jim Meyering  <meyering@redhat.com>
37753
37754         doc: update users.txt
37755         * users.txt: Add grep.
37756         (diffutils, gzip): Update URLs.
37757
37758 2010-01-12  Bruno Haible  <bruno@clisp.org>
37759
37760         posix_spawn: Avoid test failure on Cygwin.
37761         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37762         characters.
37763         Reported by Simon Josefsson.
37764
37765 2010-01-12  Bruno Haible  <bruno@clisp.org>
37766
37767         * tests/test-cond.c (main): When skipping the test, show the reason.
37768
37769 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37770
37771         * lib/striconv.c (str_cd_iconv): Avoid if before free.
37772
37773 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37774
37775         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
37776         VC_LIST_ALWAYS_EXCLUDE_REGEX.
37777
37778 2010-01-12  Eric Blake  <ebb9@byu.net>
37779
37780         build: guarantee AS_VAR_IF
37781         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
37782         (gl_AS_VAR_IF): Move...
37783         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
37784         Reported by Simon Josefsson.
37785
37786 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37787
37788         * lib/stdio.in.h: Fix typo.
37789
37790 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37791
37792         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
37793         libgpg-error.
37794
37795 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37796
37797         * tests/test-xalloc-die.sh: Use $EXEEXT.
37798
37799 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37800             Bruno Haible  <bruno@clisp.org>
37801
37802         getlogin, getlogin_r: Avoid test failure.
37803         * tests/test-getlogin.c: Include <stdio.h>.
37804         (main): Skip the test when the function fails because stdin is not a
37805         tty.
37806         * tests/test-getlogin_r.c: Include <stdio.h>.
37807         (main): Skip the test when the function fails because stdin is not a
37808         tty.
37809
37810 2010-01-11  Eric Blake  <ebb9@byu.net>
37811
37812         tests: avoid more large file warnings
37813         * tests/test-fflush.c: Avoid warning about ftell use.
37814         * tests/test-fseek.c: Avoid warning about fseek use.
37815
37816 2010-01-10  Bruno Haible  <bruno@clisp.org>
37817
37818         nproc: Work better on Linux when /proc and /sys are not mounted.
37819         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
37820         as lower bound when, on glibc/Linux systems,
37821         sysconf (_SC_NPROCESSORS_CONF) returns 1.
37822         Suggested by Pádraig Brady <P@draigbrady.com>.
37823         Reported by Dmitry V. Levin <ldv@altlinux.org>.
37824
37825         nproc: Refactor.
37826         * lib/nproc.c (num_processors_via_affinity_mask): New function,
37827         extracted from num_processors.
37828         (num_processors): Call it.
37829
37830 2010-01-11  Jim Meyering  <meyering@redhat.com>
37831
37832         utimecmp: avoid new warning from upcoming gcc-4.5.0
37833         * lib/utimecmp.c (BILLION): Define using #define rather than an
37834         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
37835
37836 2010-01-11  Eric Blake  <ebb9@byu.net>
37837
37838         math: add portability warnings for classification macros
37839         * modules/math (Depends-on): Add warn-on-use.
37840         (Makefile.am): Provide new substitutions.
37841         * m4/math_h.m4 (gl_MATH_H): Require inline.
37842         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
37843         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
37844         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
37845         implement warnings.
37846
37847         unistd: warn on use of environ without module
37848         * modules/unistd (Depends-on): Add warn-on-use.
37849         (Makefile.am): Provide new substitutions.
37850         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
37851         * lib/unistd.in.h (environ): Wrap with a warning helper function.
37852
37853         stdio: warn on suspicious uses
37854         * modules/stdio (Depends-on): Add warn-on-use.
37855         (Makefile.am): Provide new substitutions.
37856         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
37857         fseeko.
37858         * lib/stdio.in.h (gets): Always warn on use.
37859         (fseek, ftell): Adjust when warnings are issued, and honor
37860         _GL_NO_LARGE_FILES as a way to silence the warning.
37861         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
37862         any warning about large file offsets.
37863         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
37864         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
37865         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
37866         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
37867         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
37868         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
37869         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
37870         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
37871
37872         warn-on-use: new module
37873         * modules/warn-on-use: New file.
37874         * build-aux/warn-on-use.h: Likewise.
37875         * m4/warn-on-use.m4: Likewise.
37876         * MODULES.html.sh (Support for building): Mention it.
37877
37878 2010-01-10  Bruno Haible  <bruno@clisp.org>
37879
37880         Tests for module 'unistr/u32-strdup'.
37881         * modules/unistr/u32-strdup-tests: New file.
37882         * tests/unistr/test-u32-strdup.c: New file.
37883
37884         Tests for module 'unistr/u16-strdup'.
37885         * modules/unistr/u16-strdup-tests: New file.
37886         * tests/unistr/test-u16-strdup.c: New file.
37887
37888         Tests for module 'unistr/u8-strdup'.
37889         * modules/unistr/u8-strdup-tests: New file.
37890         * tests/unistr/test-u8-strdup.c: New file.
37891         * tests/unistr/test-strdup.h: New file.
37892
37893         Tests for module 'unistr/u32-strncmp'.
37894         * modules/unistr/u32-strncmp-tests: New file.
37895         * tests/unistr/test-u32-strncmp.c: New file.
37896
37897         Tests for module 'unistr/u16-strncmp'.
37898         * modules/unistr/u16-strncmp-tests: New file.
37899         * tests/unistr/test-u16-strncmp.c: New file.
37900
37901         Tests for module 'unistr/u8-strncmp'.
37902         * modules/unistr/u8-strncmp-tests: New file.
37903         * tests/unistr/test-u8-strncmp.c: New file.
37904         * tests/unistr/test-strncmp.h: New file.
37905
37906         Tests for module 'unistr/u32-strcoll'.
37907         * modules/unistr/u32-strcoll-tests: New file.
37908         * tests/unistr/test-u32-strcoll.c: New file.
37909
37910         Tests for module 'unistr/u16-strcoll'.
37911         * modules/unistr/u16-strcoll-tests: New file.
37912         * tests/unistr/test-u16-strcoll.c: New file.
37913
37914         Tests for module 'unistr/u8-strcoll'.
37915         * modules/unistr/u8-strcoll-tests: New file.
37916         * tests/unistr/test-u8-strcoll.c: New file.
37917
37918         Tests for module 'unistr/u32-strcmp'.
37919         * modules/unistr/u32-strcmp-tests: New file.
37920         * tests/unistr/test-u32-strcmp.c: New file.
37921         * tests/unistr/test-u32-strcmp.h: New file.
37922
37923         Tests for module 'unistr/u16-strcmp'.
37924         * modules/unistr/u16-strcmp-tests: New file.
37925         * tests/unistr/test-u16-strcmp.c: New file.
37926         * tests/unistr/test-u16-strcmp.h: New file.
37927
37928         Tests for module 'unistr/u8-strcmp'.
37929         * modules/unistr/u8-strcmp-tests: New file.
37930         * tests/unistr/test-u8-strcmp.c: New file.
37931         * tests/unistr/test-u8-strcmp.h: New file.
37932         * tests/unistr/test-strcmp.h: New file.
37933
37934         Tests for module 'unistr/u32-strncat'.
37935         * modules/unistr/u32-strncat-tests: New file.
37936         * tests/unistr/test-u32-strncat.c: New file.
37937
37938         Tests for module 'unistr/u16-strncat'.
37939         * modules/unistr/u16-strncat-tests: New file.
37940         * tests/unistr/test-u16-strncat.c: New file.
37941
37942         Tests for module 'unistr/u8-strncat'.
37943         * modules/unistr/u8-strncat-tests: New file.
37944         * tests/unistr/test-u8-strncat.c: New file.
37945         * tests/unistr/test-strncat.h: New file.
37946
37947         Tests for module 'unistr/u32-strcat'.
37948         * modules/unistr/u32-strcat-tests: New file.
37949         * tests/unistr/test-u32-strcat.c: New file.
37950
37951         Tests for module 'unistr/u16-strcat'.
37952         * modules/unistr/u16-strcat-tests: New file.
37953         * tests/unistr/test-u16-strcat.c: New file.
37954
37955         Tests for module 'unistr/u8-strcat'.
37956         * modules/unistr/u8-strcat-tests: New file.
37957         * tests/unistr/test-u8-strcat.c: New file.
37958         * tests/unistr/test-strcat.h: New file.
37959
37960         Tests for module 'unistr/u32-stpncpy'.
37961         * modules/unistr/u32-stpncpy-tests: New file.
37962         * tests/unistr/test-u32-stpncpy.c: New file.
37963
37964         Tests for module 'unistr/u16-stpncpy'.
37965         * modules/unistr/u16-stpncpy-tests: New file.
37966         * tests/unistr/test-u16-stpncpy.c: New file.
37967
37968         Tests for module 'unistr/u8-stpncpy'.
37969         * modules/unistr/u8-stpncpy-tests: New file.
37970         * tests/unistr/test-u8-stpncpy.c: New file.
37971         * tests/unistr/test-stpncpy.h: New file.
37972
37973         Tests for module 'unistr/u32-strncpy'.
37974         * modules/unistr/u32-strncpy-tests: New file.
37975         * tests/unistr/test-u32-strncpy.c: New file.
37976
37977         Tests for module 'unistr/u16-strncpy'.
37978         * modules/unistr/u16-strncpy-tests: New file.
37979         * tests/unistr/test-u16-strncpy.c: New file.
37980
37981         Tests for module 'unistr/u8-strncpy'.
37982         * modules/unistr/u8-strncpy-tests: New file.
37983         * tests/unistr/test-u8-strncpy.c: New file.
37984         * tests/unistr/test-strncpy.h: New file.
37985
37986         Tests for module 'unistr/u32-stpcpy'.
37987         * modules/unistr/u32-stpcpy-tests: New file.
37988         * tests/unistr/test-u32-stpcpy.c: New file.
37989
37990         Tests for module 'unistr/u16-stpcpy'.
37991         * modules/unistr/u16-stpcpy-tests: New file.
37992         * tests/unistr/test-u16-stpcpy.c: New file.
37993
37994         Tests for module 'unistr/u8-stpcpy'.
37995         * modules/unistr/u8-stpcpy-tests: New file.
37996         * tests/unistr/test-u8-stpcpy.c: New file.
37997         * tests/unistr/test-stpcpy.h: New file.
37998
37999         Tests for module 'unistr/u32-strcpy'.
38000         * modules/unistr/u32-strcpy-tests: New file.
38001         * tests/unistr/test-u32-strcpy.c: New file.
38002
38003         Tests for module 'unistr/u16-strcpy'.
38004         * modules/unistr/u16-strcpy-tests: New file.
38005         * tests/unistr/test-u16-strcpy.c: New file.
38006
38007         Tests for module 'unistr/u8-strcpy'.
38008         * modules/unistr/u8-strcpy-tests: New file.
38009         * tests/unistr/test-u8-strcpy.c: New file.
38010         * tests/unistr/test-strcpy.h: New file.
38011
38012         Tests for module 'unistr/u32-strnlen'.
38013         * modules/unistr/u32-strnlen-tests: New file.
38014         * tests/unistr/test-u32-strnlen.c: New file.
38015
38016         Tests for module 'unistr/u16-strnlen'.
38017         * modules/unistr/u16-strnlen-tests: New file.
38018         * tests/unistr/test-u16-strnlen.c: New file.
38019
38020         Tests for module 'unistr/u8-strnlen'.
38021         * modules/unistr/u8-strnlen-tests: New file.
38022         * tests/unistr/test-u8-strnlen.c: New file.
38023         * tests/unistr/test-strnlen.h: New file.
38024
38025         Tests for module 'unistr/u32-strlen'.
38026         * modules/unistr/u32-strlen-tests: New file.
38027         * tests/unistr/test-u32-strlen.c: New file.
38028
38029         Tests for module 'unistr/u16-strlen'.
38030         * modules/unistr/u16-strlen-tests: New file.
38031         * tests/unistr/test-u16-strlen.c: New file.
38032
38033         Tests for module 'unistr/u8-strlen'.
38034         * modules/unistr/u8-strlen-tests: New file.
38035         * tests/unistr/test-u8-strlen.c: New file.
38036
38037         Tests for module 'unistr/u32-prev'.
38038         * modules/unistr/u32-prev-tests: New file.
38039         * tests/unistr/test-u32-prev.c: New file.
38040
38041         Tests for module 'unistr/u16-prev'.
38042         * modules/unistr/u16-prev-tests: New file.
38043         * tests/unistr/test-u16-prev.c: New file.
38044
38045         Tests for module 'unistr/u8-prev'.
38046         * modules/unistr/u8-prev-tests: New file.
38047         * tests/unistr/test-u8-prev.c: New file.
38048
38049         Tests for module 'unistr/u32-next'.
38050         * modules/unistr/u32-next-tests: New file.
38051         * tests/unistr/test-u32-next.c: New file.
38052
38053         Tests for module 'unistr/u16-next'.
38054         * modules/unistr/u16-next-tests: New file.
38055         * tests/unistr/test-u16-next.c: New file.
38056
38057         Tests for module 'unistr/u8-next'.
38058         * modules/unistr/u8-next-tests: New file.
38059         * tests/unistr/test-u8-next.c: New file.
38060
38061         Tests for module 'unistr/u32-strmbtouc'.
38062         * modules/unistr/u32-strmbtouc-tests: New file.
38063         * tests/unistr/test-u32-strmbtouc.c: New file.
38064
38065         Tests for module 'unistr/u16-strmbtouc'.
38066         * modules/unistr/u16-strmbtouc-tests: New file.
38067         * tests/unistr/test-u16-strmbtouc.c: New file.
38068
38069         Tests for module 'unistr/u8-strmbtouc'.
38070         * modules/unistr/u8-strmbtouc-tests: New file.
38071         * tests/unistr/test-u8-strmbtouc.c: New file.
38072
38073         Tests for module 'unistr/u32-strmblen'.
38074         * modules/unistr/u32-strmblen-tests: New file.
38075         * tests/unistr/test-u32-strmblen.c: New file.
38076
38077         Tests for module 'unistr/u16-strmblen'.
38078         * modules/unistr/u16-strmblen-tests: New file.
38079         * tests/unistr/test-u16-strmblen.c: New file.
38080
38081         Tests for module 'unistr/u8-strmblen'.
38082         * modules/unistr/u8-strmblen-tests: New file.
38083         * tests/unistr/test-u8-strmblen.c: New file.
38084
38085         Tests for module 'unistr/u32-cpy-alloc'.
38086         * modules/unistr/u32-cpy-alloc-tests: New file.
38087         * tests/unistr/test-u32-cpy-alloc.c: New file.
38088
38089         Tests for module 'unistr/u16-cpy-alloc'.
38090         * modules/unistr/u16-cpy-alloc-tests: New file.
38091         * tests/unistr/test-u16-cpy-alloc.c: New file.
38092
38093         Tests for module 'unistr/u8-cpy-alloc'.
38094         * modules/unistr/u8-cpy-alloc-tests: New file.
38095         * tests/unistr/test-u8-cpy-alloc.c: New file.
38096         * tests/unistr/test-cpy-alloc.h: New file.
38097
38098         Tests for module 'unistr/u32-mbsnlen'.
38099         * modules/unistr/u32-mbsnlen-tests: New file.
38100         * tests/unistr/test-u32-mbsnlen.c: New file.
38101
38102         Tests for module 'unistr/u16-mbsnlen'.
38103         * modules/unistr/u16-mbsnlen-tests: New file.
38104         * tests/unistr/test-u16-mbsnlen.c: New file.
38105
38106         Tests for module 'unistr/u8-mbsnlen'.
38107         * modules/unistr/u8-mbsnlen-tests: New file.
38108         * tests/unistr/test-u8-mbsnlen.c: New file.
38109
38110         Tests for module 'unistr/u32-chr'.
38111         * modules/unistr/u32-chr-tests: New file.
38112         * tests/unistr/test-u32-chr.c: New file.
38113
38114         Tests for module 'unistr/u16-chr'.
38115         * modules/unistr/u16-chr-tests: New file.
38116         * tests/unistr/test-u16-chr.c: New file.
38117
38118         Tests for module 'unistr/u8-chr'.
38119         * modules/unistr/u8-chr-tests: New file.
38120         * tests/unistr/test-u8-chr.c: New file.
38121         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38122
38123         Tests for module 'unistr/u32-cmp2'.
38124         * modules/unistr/u32-cmp2-tests: New file.
38125         * tests/unistr/test-u32-cmp2.c: New file.
38126
38127         Tests for module 'unistr/u16-cmp2'.
38128         * modules/unistr/u16-cmp2-tests: New file.
38129         * tests/unistr/test-u16-cmp2.c: New file.
38130
38131         Tests for module 'unistr/u8-cmp2'.
38132         * modules/unistr/u8-cmp2-tests: New file.
38133         * tests/unistr/test-u8-cmp2.c: New file.
38134         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38135
38136         Tests for module 'unistr/u32-cmp'.
38137         * modules/unistr/u32-cmp-tests: New file.
38138         * tests/unistr/test-u32-cmp.c: New file.
38139
38140         Tests for module 'unistr/u16-cmp'.
38141         * modules/unistr/u16-cmp-tests: New file.
38142         * tests/unistr/test-u16-cmp.c: New file.
38143
38144         Tests for module 'unistr/u8-cmp'.
38145         * modules/unistr/u8-cmp-tests: New file.
38146         * tests/unistr/test-u8-cmp.c: New file.
38147         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38148
38149         Tests for module 'unistr/u32-set'.
38150         * modules/unistr/u32-set-tests: New file.
38151         * tests/unistr/test-u32-set.c: New file.
38152
38153         Tests for module 'unistr/u16-set'.
38154         * modules/unistr/u16-set-tests: New file.
38155         * tests/unistr/test-u16-set.c: New file.
38156
38157         Tests for module 'unistr/u8-set'.
38158         * modules/unistr/u8-set-tests: New file.
38159         * tests/unistr/test-u8-set.c: New file.
38160         * tests/unistr/test-set.h: New file.
38161
38162         Tests for module 'unistr/u32-move'.
38163         * modules/unistr/u32-move-tests: New file.
38164         * tests/unistr/test-u32-move.c: New file.
38165
38166         Tests for module 'unistr/u16-move'.
38167         * modules/unistr/u16-move-tests: New file.
38168         * tests/unistr/test-u16-move.c: New file.
38169
38170         Tests for module 'unistr/u8-move'.
38171         * modules/unistr/u8-move-tests: New file.
38172         * tests/unistr/test-u8-move.c: New file.
38173         * tests/unistr/test-move.h: New file.
38174
38175         Tests for module 'unistr/u32-cpy'.
38176         * modules/unistr/u32-cpy-tests: New file.
38177         * tests/unistr/test-u32-cpy.c: New file.
38178
38179         Tests for module 'unistr/u16-cpy'.
38180         * modules/unistr/u16-cpy-tests: New file.
38181         * tests/unistr/test-u16-cpy.c: New file.
38182
38183         Tests for module 'unistr/u8-cpy'.
38184         * modules/unistr/u8-cpy-tests: New file.
38185         * tests/unistr/test-u8-cpy.c: New file.
38186         * tests/unistr/test-cpy.h: New file.
38187
38188 2010-01-09  Bruno Haible  <bruno@clisp.org>
38189
38190         Tests for module 'unistr/u32-uctomb'.
38191         * modules/unistr/u32-uctomb-tests: New file.
38192         * tests/unistr/test-u32-uctomb.c: New file.
38193
38194         Tests for module 'unistr/u16-uctomb'.
38195         * modules/unistr/u16-uctomb-tests: New file.
38196         * tests/unistr/test-u16-uctomb.c: New file.
38197
38198         Tests for module 'unistr/u8-uctomb'.
38199         * modules/unistr/u8-uctomb-tests: New file.
38200         * tests/unistr/test-u8-uctomb.c: New file.
38201
38202         Tests for module 'unistr/u32-mbtoucr'.
38203         * modules/unistr/u32-mbtoucr-tests: New file.
38204         * tests/unistr/test-u32-mbtoucr.c: New file.
38205
38206         Tests for module 'unistr/u16-mbtoucr'.
38207         * modules/unistr/u16-mbtoucr-tests: New file.
38208         * tests/unistr/test-u16-mbtoucr.c: New file.
38209
38210         Tests for module 'unistr/u8-mbtoucr'.
38211         * modules/unistr/u8-mbtoucr-tests: New file.
38212         * tests/unistr/test-u8-mbtoucr.c: New file.
38213
38214         Tests for module 'unistr/u32-mbtouc'.
38215         * modules/unistr/u32-mbtouc-tests: New file.
38216         * tests/unistr/test-u32-mbtouc.c: New file.
38217
38218         Tests for module 'unistr/u16-mbtouc'.
38219         * modules/unistr/u16-mbtouc-tests: New file.
38220         * tests/unistr/test-u16-mbtouc.c: New file.
38221
38222         Tests for module 'unistr/u8-mbtouc'.
38223         * modules/unistr/u8-mbtouc-tests: New file.
38224         * tests/unistr/test-u8-mbtouc.c: New file.
38225
38226         Tests for module 'unistr/u32-mbtouc-unsafe'.
38227         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38228         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38229         * tests/unistr/test-u32-mbtouc.h: New file.
38230
38231         Tests for module 'unistr/u16-mbtouc-unsafe'.
38232         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38233         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38234         * tests/unistr/test-u16-mbtouc.h: New file.
38235
38236         Tests for module 'unistr/u8-mbtouc-unsafe'.
38237         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38238         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38239         * tests/unistr/test-u8-mbtouc.h: New file.
38240
38241         Tests for module 'unistr/u32-mblen'.
38242         * modules/unistr/u32-mblen-tests: New file.
38243         * tests/unistr/test-u32-mblen.c: New file.
38244
38245         Tests for module 'unistr/u16-mblen'.
38246         * modules/unistr/u16-mblen-tests: New file.
38247         * tests/unistr/test-u16-mblen.c: New file.
38248
38249         Tests for module 'unistr/u8-mblen'.
38250         * modules/unistr/u8-mblen-tests: New file.
38251         * tests/unistr/test-u8-mblen.c: New file.
38252
38253         Tests for module 'unistr/u32-to-u16'.
38254         * modules/unistr/u32-to-u16-tests: New file.
38255         * tests/unistr/test-u32-to-u16.c: New file.
38256
38257         Tests for module 'unistr/u32-to-u8'.
38258         * modules/unistr/u32-to-u8-tests: New file.
38259         * tests/unistr/test-u32-to-u8.c: New file.
38260
38261         Tests for module 'unistr/u16-to-u32'.
38262         * modules/unistr/u16-to-u32-tests: New file.
38263         * tests/unistr/test-u16-to-u32.c: New file.
38264
38265         Tests for module 'unistr/u16-to-u8'.
38266         * modules/unistr/u16-to-u8-tests: New file.
38267         * tests/unistr/test-u16-to-u8.c: New file.
38268
38269         Tests for module 'unistr/u8-to-u32'.
38270         * modules/unistr/u8-to-u32-tests: New file.
38271         * tests/unistr/test-u8-to-u32.c: New file.
38272
38273         Tests for module 'unistr/u8-to-u16'.
38274         * modules/unistr/u8-to-u16-tests: New file.
38275         * tests/unistr/test-u8-to-u16.c: New file.
38276
38277         Tests for module 'unistr/u32-check'.
38278         * modules/unistr/u32-check-tests: New file.
38279         * tests/unistr/test-u32-check.c: New file.
38280
38281         Tests for module 'unistr/u16-check'.
38282         * modules/unistr/u16-check-tests: New file.
38283         * tests/unistr/test-u16-check.c: New file.
38284
38285         Tests for module 'unistr/u8-check'.
38286         * modules/unistr/u8-check-tests: New file.
38287         * tests/unistr/test-u8-check.c: New file.
38288
38289         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38290         (category_equals): New function.
38291         (main): Add more tests.
38292         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38293
38294         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38295
38296 2010-01-10  Bruno Haible  <bruno@clisp.org>
38297
38298         unistr/u*-strcoll: Try harder to distinguish different strings.
38299         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38300         compare s1 and s2 to see if they are different.
38301
38302 2010-01-10  Bruno Haible  <bruno@clisp.org>
38303
38304         unistr/u*-stpncpy: Fix the return value.
38305         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38306         description of the return value consistent with stpncpy in glibc.
38307         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38308         written non-NUL unit.
38309
38310 2010-01-10  Bruno Haible  <bruno@clisp.org>
38311
38312         unistr/u*-next: Add missing dependencies.
38313         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38314         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38315         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38316
38317 2010-01-10  Bruno Haible  <bruno@clisp.org>
38318
38319         unistr/u8-mbsnlen: Fix return value for incomplete character.
38320         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38321         u8_mblen.
38322         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38323         Remove unistr/u8-mblen.
38324         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38325         u16_mblen.
38326         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38327         Remove unistr/u16-mblen.
38328
38329 2010-01-10  Bruno Haible  <bruno@clisp.org>
38330
38331         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38332         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38333         Reported by Brian Gough <bjg@gnu.org> and
38334         Chris Clayton <chris2553@googlemail.com> via
38335         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38336
38337 2010-01-09  Bruno Haible  <bruno@clisp.org>
38338
38339         unistr/u16-to-u32: Reject invalid input.
38340         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38341         u16_mbtouc.
38342         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38343         Remove unistr/u16-mbtouc.
38344
38345         unistr/u16-to-u8: Reject invalid input.
38346         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38347         u16_mbtouc.
38348         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38349         Remove unistr/u16-mbtouc.
38350
38351         unistr/u8-to-u32: Reject invalid input.
38352         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38353         u8_mbtouc.
38354         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38355         Remove unistr/u8-mbtouc.
38356
38357         unistr/u8-to-u16: Reject invalid input.
38358         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38359         u8_mbtouc.
38360         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38361         Remove unistr/u8-mbtouc.
38362
38363 2010-01-09  Bruno Haible  <bruno@clisp.org>
38364
38365         Tests for module 'getlogin'.
38366         * modules/getlogin-tests: New file.
38367         * tests/test-getlogin.c: New file.
38368
38369         New module 'getlogin'.
38370         * lib/unistd.in.h (getlogin): New declaration.
38371         * lib/getlogin.c: New file.
38372         * m4/getlogin.m4: New file.
38373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38374         HAVE_GETLOGIN.
38375         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38376         HAVE_GETLOGIN.
38377         * modules/getlogin: New file.
38378         * doc/posix-functions/getlogin.texi: Mention the new module.
38379         Reported by John W. Eaton <jwe@gnu.org>.
38380
38381 2010-01-09  Bruno Haible  <bruno@clisp.org>
38382
38383         getlogin_r: Support for native Windows.
38384         * lib/getlogin_r.c: Include <windows.h>
38385         (getlogin_r): Implement for native Windows.
38386         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38387         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38388         via John W. Eaton <jwe@gnu.org>.
38389
38390 2010-01-09  Bruno Haible  <bruno@clisp.org>
38391
38392         getlogin_r: Small fixes.
38393         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38394         succeeds.
38395         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38396         before testing whether getlogin_r is declared. No need to set
38397         HAVE_DECL_GETLOGIN_R to 1.
38398         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38399
38400 2010-01-09  Bruno Haible  <bruno@clisp.org>
38401
38402         * lib/unistd.in.h (getlogin_r): Add comment.
38403
38404 2010-01-09  Bruno Haible  <bruno@clisp.org>
38405
38406         Tests for module 'getlogin_r'.
38407         * modules/getlogin_r-tests: New file.
38408         * tests/test-getlogin_r.c: New file.
38409
38410 2010-01-09  Jim Meyering  <meyering@redhat.com>
38411
38412         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38413         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38414         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38415
38416 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38417
38418         * lib/dup2.c (rpl_dup2): Improve comment.
38419
38420 2010-01-08  Eric Blake  <ebb9@byu.net>
38421
38422         maint.mk: allow packages to add makefile @@ exceptions
38423         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38424         (sc_makefile_check): Rename...
38425         (sc_makefile_at_at_check): ...to this, and use hook.
38426
38427         dup2: work around mingw bug
38428         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38429         Reported by Simon Josefsson.
38430
38431 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38432
38433         glob: Fix C++ compilation.
38434         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38435         C++.
38436
38437 2010-01-07  Bruno Haible  <bruno@clisp.org>
38438
38439         Fix indentation of wctype.in.h, broken since 2007-01-06.
38440         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38441
38442 2010-01-07  Bruno Haible  <bruno@clisp.org>
38443
38444         mbslen: Avoid collision with system function.
38445         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38446         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38447         * m4/mbslen.m4: New file.
38448         * modules/mbslen (Files): Add it.
38449         (configure.ac): Invoke gl_MBSLEN.
38450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38451         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38452         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38453         via Ian Beckwith <ianb@erislabs.net>.
38454
38455 2010-01-07  Bruno Haible  <bruno@clisp.org>
38456
38457         dirent: Document the last fix.
38458         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38459
38460 2010-01-07  Bruno Haible  <bruno@clisp.org>
38461
38462         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38463         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38464         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38465         va_list are defined.
38466         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38467         Reported by Eric Blake.
38468
38469 2010-01-07  Bruno Haible  <bruno@clisp.org>
38470
38471         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38472         * modules/xlist (Depends-on): Add 'list',
38473         * modules/xoset (Depends-on): Add 'oset'.
38474         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38475
38476 2010-01-07  Bruno Haible  <bruno@clisp.org>
38477
38478         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38479         * doc/posix-functions/strncasecmp.texi: Likewise.
38480
38481 2010-01-07  Bruno Haible  <bruno@clisp.org>
38482
38483         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38484
38485 2010-01-07  John W. Eaton  <jwe@octave.org>
38486
38487         wctype: allow C++ use
38488         * lib/wctype.in.h: Add extern "C" block for C++.
38489
38490 2010-01-06  Eric Blake  <ebb9@byu.net>
38491
38492         maint.mk: detect incorrect GFDL usage
38493         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38494
38495 2010-01-06  Jim Meyering  <meyering@redhat.com>
38496         and Eric Blake  <ebb9@byu.net>
38497
38498         maint.mk: ignore multi-line copyright in NEWS
38499         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38500
38501 2010-01-06  Eric Blake  <ebb9@byu.net>
38502
38503         select: add missing dependency
38504         * modules/select-tests (Depends-on): Move sockets dependency...
38505         * modules/select (Depends-on): ...here.
38506         Reported by Ian Beckwith.
38507
38508         doc: regenerate INSTALL
38509         * doc/INSTALL: Reflect recent autoconf update.
38510         * doc/INSTALL.ISO: Likewise.
38511         * doc/INSTALL.UTF-8: Likewise.
38512
38513         pread: fix compilation on glibc
38514         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38515         Reported by Ralf Wildenhues.
38516
38517         dirent: fix test failure
38518         * lib/dirent.in.h (includes): Guarantee ino_t.
38519         Reported by Ralf Wildenhues.
38520
38521 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38522
38523         linkat, renameat: avoid bad free
38524         * lib/at-func2.c (at_func2): Fix typo.
38525         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38526
38527 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38528
38529         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38530         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38531         to avoid failure of symlink test later.
38532
38533 2010-01-06  Eric Blake  <ebb9@byu.net>
38534
38535         stdio, unistd: guarantee ssize_t
38536         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38537         2008 are exposed when needed.
38538         * lib/stdio.in.h (includes): Likewise.
38539         Reported by Ralf Wildenhues.
38540
38541 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38542
38543         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38544         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38545         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38546
38547 2010-01-06  Jim Meyering  <meyering@redhat.com>
38548
38549         readtokens: this module *does* require xalloc.h
38550         It uses only functions that were omitted by the old syntax-check rule.
38551         * lib/readtokens.c: Include "xalloc.h" once again.
38552         * modules/readtokens (Depends-on): Add xalloc.
38553         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38554
38555 2010-01-05  Eric Blake  <ebb9@byu.net>
38556
38557         maint: support 'make announcement' from a VPATH build
38558         * top/maint.mk (announcement): Look for correct NEWS file.
38559
38560 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38561
38562         utimens (fdutimens): ignore a negative FD, per contract
38563         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38564         when we have a valid file descriptor.  Otherwise, using a brand
38565         new glibc (with just-patched futimens that now fails with EBADF)
38566         would cause this function to fail with ENOSYS.
38567         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38568         See also http://bugzilla.redhat.com/552320.
38569
38570 2010-01-05  Eric Blake  <ebb9@byu.net>
38571
38572         strcase: document what it provides
38573         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38574         gnulib module.
38575         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38576         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38577
38578 2010-01-05  Jim Meyering  <meyering@redhat.com>
38579
38580         maint: remove useless inclusions of "xalloc.h"
38581         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38582         * lib/readtokens.c: Likewise.
38583         * lib/same.c: Likewise.
38584         * modules/getloadavg (Depends-on): Remove xalloc.
38585         * modules/readtokens: Likewise.
38586         * modules/same: Likewise.
38587
38588         maint.mk: include 4 more function names in alloca.h-checking regexp
38589         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38590         regexp.  Before, we would give a false-positive (saying alloca.h
38591         is included unnecessarily) when the only uses involved omitted symbols.
38592
38593         xalloc.h: use consistent formatting
38594         * lib/xalloc.h: Move declarations to start in the first column.
38595
38596 2010-01-05  Eric Blake  <ebb9@byu.net>
38597
38598         mkdir: avoid xalloc
38599         * lib/mkdir.c (includes): Drop unused header.
38600         Reported by John W. Eaton.
38601
38602 2010-01-04  Jim Meyering  <meyering@redhat.com>
38603
38604         nl_langinfo: avoid configure-time syntax error
38605         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38606         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38607         the empty string.  Don't let that provoke a shell syntax error.
38608
38609         regcomp, regexec, fnmatch: avoid array bounds read error
38610         * lib/regcomp.c (build_equiv_class): From glibc:
38611         Use only the low 24 bits of a findidx return value as an index
38612         into the weights array.  Patch by Ulrich Drepper:
38613         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38614         * lib/regexec.c (check_node_accept_bytes): Likewise.
38615         * lib/fnmatch_loop.c (FCT): Likewise.
38616
38617         regcomp: skip collseq lookup when there are no rules
38618         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38619         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38620
38621         regcomp: recognize ill-formed { } expressions
38622         * lib/regcomp.c (parse_dup_op): From glibc:
38623         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38624
38625         regcomp: fix typo in comment
38626         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38627         s/satisfy/satisfies/.
38628
38629         regcomp: sync from glibc: remove dead store
38630         * lib/regcomp.c (duplicate_node_closure): Remove useless
38631         search_duplicated_node call and dead store.
38632
38633         regcomp: sync from glibc; always use nl_langinfo
38634         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38635         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38636         * modules/regex (Depends-on): Add nl_langinfo.
38637
38638 2010-01-04  Eric Blake  <ebb9@byu.net>
38639
38640         fdopendir: fix configure test
38641         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38642
38643 2010-01-01  Bruno Haible  <bruno@clisp.org>
38644
38645         wchar: Remove unused configure check.
38646         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38647
38648 2010-01-01  Eric Blake  <ebb9@byu.net>
38649
38650         headers: make check of system header explicit
38651         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38652         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38653         ourselves.
38654         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38655         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38656         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38657         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38658         internals.
38659         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38660         missing.
38661         Suggested by Bruno Haible.
38662
38663 2010-01-01  Jim Meyering  <meyering@redhat.com>
38664
38665         ChangeLog: tweak to eliminate unnecessary copyright line
38666         * ChangeLog: Remove a copyright line that was mistakenly updated
38667         by today's update-copyright run.  Reported by Eric Blake.
38668
38669         test-update-copyright: don't let envvar setting cause test failure
38670         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38671
38672 2010-01-01  Bruno Haible  <bruno@clisp.org>
38673
38674         localename: Avoid gcc warning.
38675         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38676         function if it is not used.
38677
38678 2010-01-01  Jim Meyering  <meyering@redhat.com>
38679
38680         update nearly all FSF copyright year lists to include 2010
38681         Use the same procedure as for 2009, outlined in
38682         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38683
38684         version-etc: set COPYRIGHT_YEAR to 2010
38685         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38686
38687 2009-12-31  Eric Blake  <ebb9@byu.net>
38688
38689         doc: correct availability of cygwin 1.5.x getopt
38690         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38691         variables.
38692         * doc/posix-functions/opterr.texi (opterr): Likewise.
38693         * doc/posix-functions/optind.texi (optind): Likewise.
38694         * doc/posix-functions/optopt.texi (optopt): Likewise.
38695         * doc/posix-functions/tzname.texi (tzname): Likewise.
38696
38697         openat: update maintainer
38698         * modules/openat (Maintainer): Add myself.
38699
38700         utimens: avoid shadowing warning
38701         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38702         buffers into one, to avoid shadowing, as well as avoiding a
38703         redundant stat.
38704         Reported by Jim Meyering.
38705
38706         test-dup2: avoid compiler warning
38707         * tests/test-dup2.c (is_inheritable): Only define if used.
38708
38709 2010-01-01  Bruno Haible  <bruno@clisp.org>
38710
38711         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38712         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38713         defined, use wctomb instead of wcrtomb.
38714
38715 2010-01-01  Bruno Haible  <bruno@clisp.org>
38716
38717         iconv: Reject native Solaris iconv.
38718         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38719         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38720
38721 2009-12-31  Bruno Haible  <bruno@clisp.org>
38722
38723         * tests/test-signal.c (main): Remove test of 'SIG'.
38724
38725 2009-12-31  Bruno Haible  <bruno@clisp.org>
38726
38727         spawn: Fix incomplete fix.
38728         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38729         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38730         warnings for GNULIB_POSIXCHECK again.
38731         Reported by Eric Blake.
38732
38733 2009-12-31  Bruno Haible  <bruno@clisp.org>
38734
38735         Avoid namespace pollution on glibc systems.
38736         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38737         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38738         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38739         glibc systems.
38740
38741 2009-12-31  Bruno Haible  <bruno@clisp.org>
38742
38743         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38744         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38745         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38746         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38747         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38748         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38749         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38750
38751 2009-12-31  Bruno Haible  <bruno@clisp.org>
38752
38753         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38754         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38755         afterwards.
38756
38757 2009-12-31  Bruno Haible  <bruno@clisp.org>
38758
38759         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38760         SYS_UTSNAME_H.
38761
38762 2009-12-31  Bruno Haible  <bruno@clisp.org>
38763
38764         spawn: Fix misapplied patch.
38765         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38766         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38767         warnings for GNULIB_POSIXCHECK.
38768
38769 2009-12-31  Bruno Haible  <bruno@clisp.org>
38770
38771         times: Update after sys_times changed.
38772         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
38773         * modules/times (Files): Add it.
38774         (configure.ac): Invoke gl_FUNC_TIMES.
38775
38776 2009-12-31  Bruno Haible  <bruno@clisp.org>
38777
38778         Use AC_C_INLINE where necessary.
38779         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
38780         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38781         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38782         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38783         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38784         * m4/mbiter.m4 (gl_MBITER): Likewise.
38785         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38786         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38787         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
38788         * modules/u64 (configure.ac): Likewise.
38789
38790 2009-12-31  Bruno Haible  <bruno@clisp.org>
38791
38792         Use AC_C_INLINE instead of module 'inline' where possible.
38793         * modules/inline (Description): Clarify purpose.
38794         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
38795         * modules/count-one-bits (Depends-on): Remove inline.
38796         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
38797         * modules/openat (Depends-on): Remove inline.
38798         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
38799         instead of depending on module 'inline'.
38800         * modules/filevercmp (Depends-on, configure.ac): Likewise.
38801         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
38802         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
38803         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
38804         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
38805         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
38806         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
38807         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
38808         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
38809         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
38810         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
38811         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
38812         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
38813         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
38814         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
38815         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
38816         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
38817         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
38818         Likewise.
38819         * modules/unictype/property-ascii-hex-digit (Depends-on,
38820         configure.ac): Likewise.
38821         * modules/unictype/property-bidi-arabic-digit (Depends-on,
38822         configure.ac): Likewise.
38823         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
38824         configure.ac): Likewise.
38825         * modules/unictype/property-bidi-block-separator (Depends-on,
38826         configure.ac): Likewise.
38827         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
38828         configure.ac): Likewise.
38829         * modules/unictype/property-bidi-common-separator (Depends-on,
38830         configure.ac): Likewise.
38831         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
38832         Likewise.
38833         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
38834         configure.ac): Likewise.
38835         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
38836         configure.ac): Likewise.
38837         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
38838         configure.ac): Likewise.
38839         * modules/unictype/property-bidi-european-digit (Depends-on,
38840         configure.ac): Likewise.
38841         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
38842         configure.ac): Likewise.
38843         * modules/unictype/property-bidi-left-to-right (Depends-on,
38844         configure.ac): Likewise.
38845         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
38846         configure.ac): Likewise.
38847         * modules/unictype/property-bidi-other-neutral (Depends-on,
38848         configure.ac): Likewise.
38849         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
38850         Likewise.
38851         * modules/unictype/property-bidi-segment-separator (Depends-on,
38852         configure.ac): Likewise.
38853         * modules/unictype/property-bidi-whitespace (Depends-on,
38854         configure.ac): Likewise.
38855         * modules/unictype/property-combining (Depends-on, configure.ac):
38856         Likewise.
38857         * modules/unictype/property-composite (Depends-on, configure.ac):
38858         Likewise.
38859         * modules/unictype/property-currency-symbol (Depends-on,
38860         configure.ac): Likewise.
38861         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
38862         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
38863         Likewise.
38864         * modules/unictype/property-default-ignorable-code-point (Depends-on,
38865         configure.ac): Likewise.
38866         * modules/unictype/property-deprecated (Depends-on, configure.ac):
38867         Likewise.
38868         * modules/unictype/property-diacritic (Depends-on, configure.ac):
38869         Likewise.
38870         * modules/unictype/property-extender (Depends-on, configure.ac):
38871         Likewise.
38872         * modules/unictype/property-format-control (Depends-on, configure.ac):
38873         Likewise.
38874         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
38875         Likewise.
38876         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
38877         Likewise.
38878         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
38879         Likewise.
38880         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
38881         Likewise.
38882         * modules/unictype/property-hyphen (Depends-on, configure.ac):
38883         Likewise.
38884         * modules/unictype/property-id-continue (Depends-on, configure.ac):
38885         Likewise.
38886         * modules/unictype/property-id-start (Depends-on, configure.ac):
38887         Likewise.
38888         * modules/unictype/property-ideographic (Depends-on, configure.ac):
38889         Likewise.
38890         * modules/unictype/property-ids-binary-operator (Depends-on,
38891         configure.ac): Likewise.
38892         * modules/unictype/property-ids-trinary-operator (Depends-on,
38893         configure.ac): Likewise.
38894         * modules/unictype/property-ignorable-control (Depends-on,
38895         configure.ac): Likewise.
38896         * modules/unictype/property-iso-control (Depends-on, configure.ac):
38897         Likewise.
38898         * modules/unictype/property-join-control (Depends-on, configure.ac):
38899         Likewise.
38900         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
38901         Likewise.
38902         * modules/unictype/property-line-separator (Depends-on, configure.ac):
38903         Likewise.
38904         * modules/unictype/property-logical-order-exception (Depends-on,
38905         configure.ac): Likewise.
38906         * modules/unictype/property-lowercase (Depends-on, configure.ac):
38907         Likewise.
38908         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
38909         * modules/unictype/property-non-break (Depends-on, configure.ac):
38910         Likewise.
38911         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
38912         Likewise.
38913         * modules/unictype/property-numeric (Depends-on, configure.ac):
38914         Likewise.
38915         * modules/unictype/property-other-alphabetic (Depends-on,
38916         configure.ac): Likewise.
38917         * modules/unictype/property-other-default-ignorable-code-point
38918         (Depends-on, configure.ac): Likewise.
38919         * modules/unictype/property-other-grapheme-extend (Depends-on,
38920         configure.ac): Likewise.
38921         * modules/unictype/property-other-id-continue (Depends-on,
38922         configure.ac): Likewise.
38923         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
38924         Likewise.
38925         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
38926         Likewise.
38927         * modules/unictype/property-other-math (Depends-on, configure.ac):
38928         Likewise.
38929         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
38930         Likewise.
38931         * modules/unictype/property-paired-punctuation (Depends-on,
38932         configure.ac): Likewise.
38933         * modules/unictype/property-paragraph-separator (Depends-on,
38934         configure.ac): Likewise.
38935         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38936         Likewise.
38937         * modules/unictype/property-pattern-white-space (Depends-on,
38938         configure.ac): Likewise.
38939         * modules/unictype/property-private-use (Depends-on, configure.ac):
38940         Likewise.
38941         * modules/unictype/property-punctuation (Depends-on, configure.ac):
38942         Likewise.
38943         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
38944         Likewise.
38945         * modules/unictype/property-radical (Depends-on, configure.ac):
38946         Likewise.
38947         * modules/unictype/property-sentence-terminal (Depends-on,
38948         configure.ac): Likewise.
38949         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
38950         Likewise.
38951         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
38952         * modules/unictype/property-terminal-punctuation (Depends-on,
38953         configure.ac): Likewise.
38954         * modules/unictype/property-titlecase (Depends-on, configure.ac):
38955         Likewise.
38956         * modules/unictype/property-unassigned-code-value (Depends-on,
38957         configure.ac): Likewise.
38958         * modules/unictype/property-unified-ideograph (Depends-on,
38959         configure.ac): Likewise.
38960         * modules/unictype/property-uppercase (Depends-on, configure.ac):
38961         Likewise.
38962         * modules/unictype/property-variation-selector (Depends-on,
38963         configure.ac): Likewise.
38964         * modules/unictype/property-white-space (Depends-on, configure.ac):
38965         Likewise.
38966         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
38967         Likewise.
38968         * modules/unictype/property-xid-start (Depends-on, configure.ac):
38969         Likewise.
38970         * modules/unictype/property-zero-width (Depends-on, configure.ac):
38971         Likewise.
38972         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
38973         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
38974         Likewise.
38975
38976 2009-12-31  Bruno Haible  <bruno@clisp.org>
38977
38978         Remove unnecessary AC_C_INLINE invocation.
38979         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
38980         since 2009-08-21.
38981
38982 2009-12-31  Jim Meyering  <meyering@redhat.com>
38983
38984         maint.mk: don't require explicit gpg_key_ID in cfg.mk
38985         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
38986         With this change, we can all remove the gpg_key_ID = ... definition
38987         from our respective cfg.mk files.
38988
38989         maint.mk: create announcement template in ~/, not in /tmp
38990         * top/maint.mk (emit_upload_commands): Adjust.
38991         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
38992         Remove temporary file, .ci-msg.
38993
38994 2009-12-31  Eric Blake  <ebb9@byu.net>
38995
38996         link-warning: always build headers with link warnings
38997         * modules/arpa_inet (Makefile.am): Always build replacement
38998         header.
38999         * modules/ctype (Makefile.am): Likewise.
39000         * modules/dirent (Makefile.am): Likewise.
39001         * modules/inttypes (Makefile.am): Likewise.
39002         * modules/langinfo (Makefile.am): Likewise.
39003         * modules/locale (Makefile.am): Likewise.
39004         * modules/spawn (Makefile.am): Likewise.
39005         * modules/sys_file (Makefile.am): Likewise.
39006         * modules/sys_ioctl (Makefile.am): Likewise.
39007         * modules/sys_select (Makefile.am): Likewise.
39008         * modules/sys_socket (Makefile.am): Likewise.
39009         * modules/sys_times (Makefile.am): Likewise.
39010         * modules/sys_utsname (Makefile.am): Likewise.
39011         * modules/sys_wait (Makefile.am): Likewise.
39012         * modules/wchar (Makefile.am): Likewise.
39013         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39014         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39015         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39016         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39017         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39018         Likewise.
39019         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39020         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39021         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39022         Likewise.
39023         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39024         Likewise.
39025         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39026         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39027         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39028         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39029         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39030         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39031         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39032         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39033         (gl_WCHAR_H_DEFAULTS): Likewise.
39034
39035 2009-12-31  Eric Blake  <ebb9@byu.net>
39036
39037         signal, spawn: use link warnings
39038         * lib/signal.in.h (sigset_t): Make unconditional.
39039         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39040         (sigpending, sigprocmask, sigaction): Add link warnings.
39041         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39042         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39043         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39044         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39045         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39046         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39047         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39048         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39049         (posix_spawn_file_actions_destroy)
39050         (posix_spawn_file_actions_addopen)
39051         (posix_spawn_file_actions_addclose)
39052         (posix_spawn_file_actions_adddup2): Likewise.
39053         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39054         * tests/test-signal.c (main): Enhance test.
39055
39056         spawn: improve wrapper support
39057         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39058         (gl_SPAWN_H_DEFAULTS): New defaults.
39059         * modules/spawn (Makefile.am): Substitute them.
39060         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39061         Only declare if missing or broken.
39062
39063         sys_times, sys_utsname: use include_next
39064         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39065         header.
39066         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39067         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39068         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39069         * modules/sys_times (Depends-on): Add include_next.
39070         (Makefile.am): Substitute additional values.
39071         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39072         * lib/sys_times.in.h (includes): Include native header, if
39073         available.
39074         * lib/sys_utsname.in.h (includes): Likewise.
39075         * tests/test-sys_times.c (main): Enhance test.
39076
39077         fdutimensat: revert prior patch
39078         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39079         utimens.h.
39080         Reported by Bruno Haible.
39081
39082 2009-12-30  Eric Blake  <ebb9@byu.net>
39083
39084         sys_wait: drop link-warning dependency
39085         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39086         link-warning efforts.
39087         * lib/sys_wait.in.h: Likewise.
39088
39089         fdutimensat: remove bogus dependency
39090         * modules/fdutimensat (Depends-on): Drop inline.
39091
39092         unistd: fix typo
39093         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39094
39095 2009-12-30  Bruno Haible  <bruno@clisp.org>
39096
39097         Fix compilation error with Solaris cc.
39098         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39099         * lib/unicase/u16-is-invariant.c: Likewise.
39100         * lib/unicase/u32-is-invariant.c: Likewise.
39101         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39102
39103 2009-12-30  Bruno Haible  <bruno@clisp.org>
39104
39105         Fix test crash.
39106         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39107         locales.
39108         Reported by Simon Josefsson <simon@josefsson.org>.
39109
39110 2009-12-30  Bruno Haible  <bruno@clisp.org>
39111
39112         Fix compilation error on most platforms.
39113         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39114         Reported by Simon Josefsson <simon@josefsson.org>
39115         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39116
39117 2009-12-30  Eric Blake  <ebb9@byu.net>
39118
39119         futimens, utimensat: work around ntfs-3g bug
39120         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39121         a ctime bug is present, and expand workaround to cover ntfs-3g.
39122         * lib/utimens.c (fdutimens, lutimens): Likewise.
39123         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39124         (validate_timespec): Adjust return value.
39125         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39126         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39127         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39128
39129 2009-12-29  Eric Blake  <ebb9@byu.net>
39130
39131         link-warning: make usage consistent
39132         * modules/ctype (Depends-on): Add link-warning.
39133         (Makefile.am): Update rules accordingly.
39134         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39135         * modules/locale (Depends-on, Makefile.am): Likewise.
39136         * modules/sys_file (Makefile.am): Likewise.
39137         * modules/getopt-posix (Makefile.am): Delete unused link warning
39138         efforts.
39139         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39140         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39141         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39142         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39143
39144         stdio: remove unused variables
39145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39146         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39147         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39148
39149         tests: test more substitute headers
39150         * modules/ctype-tests: New file.
39151         * modules/dirent-tests: Likewise.
39152         * modules/spawn-tests: Likewise.
39153         * modules/sys_file-tests: Likewise.
39154         * modules/sys_ioctl-tests: Likewise.
39155         * modules/sys_wait-tests: Likewise.
39156         * tests/test-ctype.c: Likewise.
39157         * tests/test-dirent.c: Likewise.
39158         * tests/test-spawn.c: Likewise.
39159         * tests/test-sys_file.c: Likewise.
39160         * tests/test-sys_ioctl.c: Likewise.
39161         * tests/test-sys_wait.c: Likewise.
39162         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39163         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39164         whether or not flock is in use.
39165
39166         tests: remove License section from module
39167         * modules/arpa_inet-tests: Remove unneeded section.
39168         * modules/byteswap-tests: Likewise.
39169         * modules/ceilf-tests: Likewise.
39170         * modules/ceill-tests: Likewise.
39171         * modules/crypto/des-tests: Likewise.
39172         * modules/crypto/gc-arcfour-tests: Likewise.
39173         * modules/crypto/gc-arctwo-tests: Likewise.
39174         * modules/crypto/gc-des-tests: Likewise.
39175         * modules/crypto/gc-hmac-md5-tests: Likewise.
39176         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39177         * modules/crypto/gc-md2-tests: Likewise.
39178         * modules/crypto/gc-md4-tests: Likewise.
39179         * modules/crypto/gc-md5-tests: Likewise.
39180         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39181         * modules/crypto/gc-rijndael-tests: Likewise.
39182         * modules/crypto/gc-sha1-tests: Likewise.
39183         * modules/crypto/gc-tests: Likewise.
39184         * modules/crypto/md2-tests: Likewise.
39185         * modules/crypto/md4-tests: Likewise.
39186         * modules/fcntl-h-tests: Likewise.
39187         * modules/floorf-tests: Likewise.
39188         * modules/floorl-tests: Likewise.
39189         * modules/frexp-nolibm-tests: Likewise.
39190         * modules/frexp-tests: Likewise.
39191         * modules/frexpl-nolibm-tests: Likewise.
39192         * modules/frexpl-tests: Likewise.
39193         * modules/getaddrinfo-tests: Likewise.
39194         * modules/inttypes-tests: Likewise.
39195         * modules/isfinite-tests: Likewise.
39196         * modules/isinf-tests: Likewise.
39197         * modules/ldexpl-tests: Likewise.
39198         * modules/locale-tests: Likewise.
39199         * modules/math-tests: Likewise.
39200         * modules/netdb-tests: Likewise.
39201         * modules/netinet_in-tests: Likewise.
39202         * modules/printf-frexp-tests: Likewise.
39203         * modules/printf-frexpl-tests: Likewise.
39204         * modules/priv-set-tests: Likewise.
39205         * modules/random_r-tests: Likewise.
39206         * modules/round-tests: Likewise.
39207         * modules/roundf-tests: Likewise.
39208         * modules/roundl-tests: Likewise.
39209         * modules/search-tests: Likewise.
39210         * modules/select-tests: Likewise.
39211         * modules/signal-tests: Likewise.
39212         * modules/stdbool-tests: Likewise.
39213         * modules/stddef-tests: Likewise.
39214         * modules/stdint-tests: Likewise.
39215         * modules/stdio-tests: Likewise.
39216         * modules/stdlib-tests: Likewise.
39217         * modules/string-tests: Likewise.
39218         * modules/strings-tests: Likewise.
39219         * modules/sys_select-tests: Likewise.
39220         * modules/sys_socket-tests: Likewise.
39221         * modules/sys_stat-tests: Likewise.
39222         * modules/sys_time-tests: Likewise.
39223         * modules/sys_utsname-tests: Likewise.
39224         * modules/sysexits-tests: Likewise.
39225         * modules/time-tests: Likewise.
39226         * modules/trunc-tests: Likewise.
39227         * modules/truncf-tests: Likewise.
39228         * modules/truncl-tests: Likewise.
39229         * modules/tsearch-tests: Likewise.
39230         * modules/unistd-tests: Likewise.
39231         * modules/wchar-tests: Likewise.
39232         * modules/wctype-tests: Likewise.
39233
39234         tests: fix license on several tests
39235         * tests/test-des.c: Update to GPLv3+.
39236         * tests/test-flock.c: Likewise.
39237         * tests/test-fsync.c: Likewise.
39238         * tests/test-futimens.h: Likewise.
39239         * tests/test-gc-arcfour.c: Likewise.
39240         * tests/test-gc-arctwo.c: Likewise.
39241         * tests/test-gc-des.c: Likewise.
39242         * tests/test-gc-hmac-md5.c: Likewise.
39243         * tests/test-gc-hmac-sha1.c: Likewise.
39244         * tests/test-gc-md2.c: Likewise.
39245         * tests/test-gc-md4.c: Likewise.
39246         * tests/test-gc-md5.c: Likewise.
39247         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39248         * tests/test-gc-rijndael.c: Likewise.
39249         * tests/test-gc-sha1.c: Likewise.
39250         * tests/test-gc.c: Likewise.
39251         * tests/test-getcwd.c: Likewise.
39252         * tests/test-link.c: Likewise.
39253         * tests/test-link.h: Likewise.
39254         * tests/test-lutimens.h: Likewise.
39255         * tests/test-md2.c: Likewise.
39256         * tests/test-md4.c: Likewise.
39257         * tests/test-mkdir.h: Likewise.
39258         * tests/test-rename.c: Likewise.
39259         * tests/test-rename.h: Likewise.
39260         * tests/test-safe-alloc.c: Likewise.
39261         * tests/test-utimens-common.h: Likewise.
39262         * tests/test-utimens.h: Likewise.
39263
39264         maint: sync license texts
39265         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39266         * doc/gpl-3.0.texi: Revert copyright year update.
39267         * doc/lgpl-3.0.texi: Likewise.
39268
39269 2009-12-29  Jim Meyering  <meyering@redhat.com>
39270
39271         update nearly all FSF copyright year lists to include 2009
39272         The files named by the following are exempted:
39273             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39274               test -f "$dst" && { echo "$dst"; continue; }
39275               test -d "$dst" || continue
39276               echo "$dst"/$(basename "$src")
39277             done > exempt
39278             git ls-files tests/unictype >> exempt
39279         In the remaining files, convert to all-interval notation if
39280         - there is already at least one year interval like 2000-2003
39281         - the file is maintained by me
39282         - the file is in lib/uni*/, where that style already prevails
39283         Otherwise, use update-copyright's default.
39284
39285 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39286         and Eric Blake  <ebb9@byu.net>
39287
39288         tests: don't require debug system() to pass
39289         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39290         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39291         * tests/test-unlink.h (test_unlink_func): Likewise.
39292         * tests/test-fstatat.c (main): ...into callers.
39293         * tests/test-lstat.c (main): Likewise.
39294         * tests/test-rmdir.c (main): Likewise.
39295         * tests/test-unlink.c (main): Likewise.
39296         * tests/test-unlinkat.c (main): Likewise.
39297         * tests/test-areadlink-with-size.c (main): Don't require a
39298         debug-only system call to pass, aiding cross-testing to mingw.
39299         * tests/test-areadlink.c (main): Likewise.
39300         * tests/test-areadlinkat-with-size.c (main): Likewise.
39301         * tests/test-areadlinkat.c (main): Likewise.
39302         * tests/test-canonicalize-lgpl.c (main): Likewise.
39303         * tests/test-canonicalize.c (main): Likewise.
39304         * tests/test-chown.c (main): Likewise.
39305         * tests/test-fchownat.c (main): Likewise.
39306         * tests/test-lchown.c (main): Likewise.
39307         * tests/test-fdutimensat.c (main): Likewise.
39308         * tests/test-futimens.c (main): Likewise.
39309         * tests/test-link.c (main): Likewise.
39310         * tests/test-linkat.c (main): Likewise.
39311         * tests/test-mkdir.c (main): Likewise.
39312         * tests/test-mkdirat.c (main): Likewise.
39313         * tests/test-mkfifo.c (main): Likewise.
39314         * tests/test-mkfifoat.c (main): Likewise.
39315         * tests/test-mknod.c (main): Likewise.
39316         * tests/test-readlink.c (main): Likewise.
39317         * tests/test-remove.c (main): Likewise.
39318         * tests/test-rename.c (main): Likewise.
39319         * tests/test-renameat.c (main): Likewise.
39320         * tests/test-symlink.c (main): Likewise.
39321         * tests/test-symlinkat.c (main): Likewise.
39322         * tests/test-utimens.c (main): Likewise.
39323         * tests/test-utimensat.c (main): Likewise.
39324
39325 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39326
39327         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39328         on $(UNUSED_PARAMETER_H) to avoid build failure.
39329
39330 2009-12-28  Jim Meyering  <meyering@redhat.com>
39331
39332         update-copyright: you may specify a max. line length other than 72
39333         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39334
39335         maint: use consistent FSF copyright line syntax
39336         * lib/posixtm.c: Add missing comma in FSF copyright line.
39337         * lib/posixtm.h: Likewise.
39338         * lib/getugroups.c: Add missing ", Inc.".
39339
39340         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39341         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39342         FSF copyright line.  Remove trailing blanks.
39343
39344 2009-12-28  Eric Blake  <ebb9@byu.net>
39345
39346         test-dup2: reduce dependencies
39347         * modules/cloexec (Configure.ac): Set witness.
39348         * modules/dup2-tests (Depends-on): Drop cloexec.
39349         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39350         not present.
39351         Suggested by Bruno Haible.
39352
39353 2009-12-26  Bruno Haible  <bruno@clisp.org>
39354
39355         Remove an unneeded dependency.
39356         * modules/fseterr (Depends-on): Remove dup2.
39357
39358 2009-12-26  Eric Blake  <ebb9@byu.net>
39359
39360         tests: use macros.h in more places
39361         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39362         (ASSERT_STREAM): Provide default of stderr.
39363         * tests/test-dirent-safer.c: Include macros.h, using alternate
39364         stream for assertions.
39365         * tests/test-dup-safer.c: Likewise.
39366         * tests/test-freopen-safer.c: Likewise.
39367         * tests/test-getopt.c: Likewise.
39368         * tests/test-openat-safer.c: Likewise.
39369         * tests/test-pipe.c: Likewise.
39370         * tests/test-popen-safer.c: Likewise.
39371         * modules/dirent-safer-tests (Files): Include macros.h.
39372         * modules/unistd-safer-tests (Files): Likewise.
39373         * modules/freopen-safer-tests (Files): Likewise.
39374         * modules/getopt-posix-tests (Files): Likewise.
39375         * modules/openat-safer-tests (Files): Likewise.
39376         * modules/pipe-tests (Files): Likewise.
39377
39378 2009-12-26  Bruno Haible  <bruno@clisp.org>
39379
39380         javacomp: Portability fix.
39381         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39382         that it also works on Solaris.
39383
39384 2009-12-26  Bruno Haible  <bruno@clisp.org>
39385
39386         localename: Fix storage allocation of gl_locale_name_thread's result.
39387         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39388         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39389         all platforms that have 'uselocale'.
39390         (gl_locale_name_thread_unsafe): New function, extracted from
39391         gl_locale_name_thread.
39392         (gl_locale_name_thread): Call struniq on all platforms that have
39393         'uselocale'.
39394         * tests/test-localename.c (test_locale_name_thread): Check that the
39395         resulting strings are permanently allocated.
39396         * modules/localename-tests (Depends-on): Add strdup.
39397
39398 2009-12-26  Bruno Haible  <bruno@clisp.org>
39399
39400         * tests/test-localename.c (categories): Fill in the strings.
39401
39402 2009-12-26  Jim Meyering  <meyering@redhat.com>
39403
39404         isdir: complete the removal of m4/isdir.m4
39405         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39406
39407         isdir: clean up, since at least grep still uses it
39408         * lib/isdir.c: Include "isdir.h".
39409         (S_ISDIR): Remove now-unneeded definition.
39410         * modules/isdir (Files): Add lib/isdir.h.
39411         * lib/isdir.h: New file, with declaration.
39412         * m4/isdir.m4: Remove file -- unneeded.
39413
39414 2009-12-25  Bruno Haible  <bruno@clisp.org>
39415
39416         selinux-h: Make generated .h files standalone.
39417         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39418         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39419         * lib/se-selinux.in.h: Likewise.
39420         * modules/selinux-h (Depends-on): Add unused-parameter.
39421         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39422         selinux/selinux.h and selinux/context.h.
39423         Suggested by Eric Blake.
39424
39425 2009-12-25  Bruno Haible  <bruno@clisp.org>
39426
39427         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39428         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39429         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39430         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39431         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39432
39433 2009-12-24  Bruno Haible  <bruno@clisp.org>
39434
39435         openat: Fix warning.
39436         * lib/openat-proc.c: Include <unistd.h>.
39437
39438 2009-12-24  Bruno Haible  <bruno@clisp.org>
39439
39440         New module 'unused-parameter'.
39441         * build-aux/unused-parameter.h: New file, extracted from earlier
39442         gnulib-common.m4.
39443         * modules/unused-parameter: New file.
39444         * lib/unistr.h: Include unused-parameter.h.
39445         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39446         _GL_UNUSED.
39447         * modules/unistr/base (Depends-on): Add unused-parameter.
39448
39449 2009-12-24  Bruno Haible  <bruno@clisp.org>
39450
39451         Add missing dependencies to 'extensions' module.
39452         * m4/extensions.m4: Add comment.
39453         * modules/accept4 (Depends-on): Add extensions.
39454         * modules/dup3 (Depends-on): Likewise.
39455         * modules/fcntl (Depends-on): Likewise.
39456         * modules/futimens (Depends-on): Likewise.
39457         * modules/mknod (Depends-on): Likewise.
39458         * modules/pipe2 (Depends-on): Likewise.
39459         * modules/stat-time (Depends-on): Likewise.
39460         * modules/strcasestr-simple (Depends-on): Likewise.
39461         * modules/strsignal (Depends-on): Likewise.
39462         * modules/utimensat (Depends-on): Likewise.
39463         * modules/localcharset (Depends-on): Likewise. Needed because of
39464         gl_FCNTL_O_FLAGS.
39465         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39466         AC_TYPE_MBSTATE_T.
39467         * modules/wcsnrtombs (Depends-on): Likewise.
39468         * modules/wcsrtombs (Depends-on): Likewise.
39469
39470 2009-12-24  Bruno Haible  <bruno@clisp.org>
39471
39472         binary-io: Avoid gcc warning due to SET_BINARY.
39473         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39474         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39475
39476 2009-12-24  Bruno Haible  <bruno@clisp.org>
39477
39478         Avoid future namespace pollution on glibc systems.
39479         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39480         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39481         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39482         glibc systems.
39483
39484 2009-12-24  Bruno Haible  <bruno@clisp.org>
39485
39486         Refactor common macros used in tests.
39487         * tests/macros.h: New file.
39488         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39489         and/or <stdlib.h>, if appropriate.
39490         (ASSERT, SIZEOF): Remove macros.
39491         * tests/test-areadlink-with-size.c: Likewise.
39492         * tests/test-areadlinkat.c: Likewise.
39493         * tests/test-areadlinkat-with-size.c: Likewise.
39494         * tests/test-argmatch.c: Likewise.
39495         * tests/test-argv-iter.c: Likewise.
39496         * tests/test-array-mergesort.c: Likewise.
39497         * tests/test-array_list.c: Likewise.
39498         * tests/test-array_oset.c: Likewise.
39499         * tests/test-avltree_list.c: Likewise.
39500         * tests/test-avltree_oset.c: Likewise.
39501         * tests/test-avltreehash_list.c: Likewise.
39502         * tests/test-base64.c: Likewise.
39503         * tests/test-binary-io.c: Likewise.
39504         * tests/test-bitrotate.c: Likewise.
39505         * tests/test-btowc.c: Likewise.
39506         * tests/test-byteswap.c: Likewise.
39507         * tests/test-c-ctype.c: Likewise.
39508         * tests/test-c-stack.c: Likewise.
39509         * tests/test-c-strcasecmp.c: Likewise.
39510         * tests/test-c-strcasestr.c: Likewise.
39511         * tests/test-c-strncasecmp.c: Likewise.
39512         * tests/test-c-strstr.c: Likewise.
39513         * tests/test-canonicalize-lgpl.c: Likewise.
39514         * tests/test-canonicalize.c: Likewise.
39515         * tests/test-carray_list.c: Likewise.
39516         * tests/test-ceilf1.c: Likewise.
39517         * tests/test-ceilf2.c: Likewise.
39518         * tests/test-ceill.c: Likewise.
39519         * tests/test-chown.c: Likewise.
39520         * tests/test-cloexec.c: Likewise.
39521         * tests/test-copy-acl.c: Likewise.
39522         * tests/test-copy-file.c: Likewise.
39523         * tests/test-count-one-bits.c: Likewise.
39524         * tests/test-dprintf-posix.c: Likewise.
39525         * tests/test-dup2.c: Likewise.
39526         * tests/test-dup3.c: Likewise.
39527         * tests/test-duplocale.c: Likewise.
39528         * tests/test-fbufmode.c: Likewise.
39529         * tests/test-fchdir.c: Likewise.
39530         * tests/test-fchownat.c: Likewise.
39531         * tests/test-fcntl-safer.c: Likewise.
39532         * tests/test-fcntl.c: Likewise.
39533         * tests/test-fdopendir.c: Likewise.
39534         * tests/test-fdutimensat.c: Likewise.
39535         * tests/test-fflush2.c: Likewise.
39536         * tests/test-file-has-acl.c: Likewise.
39537         * tests/test-filevercmp.c: Likewise.
39538         * tests/test-flock.c: Likewise.
39539         * tests/test-floorf1.c: Likewise.
39540         * tests/test-floorf2.c: Likewise.
39541         * tests/test-floorl.c: Likewise.
39542         * tests/test-fnmatch.c: Likewise.
39543         * tests/test-fopen.h: Likewise.
39544         * tests/test-fpending.c: Likewise.
39545         * tests/test-fprintf-posix.c: Likewise.
39546         * tests/test-fpurge.c: Likewise.
39547         * tests/test-freadable.c: Likewise.
39548         * tests/test-freadahead.c: Likewise.
39549         * tests/test-freading.c: Likewise.
39550         * tests/test-freadptr.c: Likewise.
39551         * tests/test-freadptr2.c: Likewise.
39552         * tests/test-freadseek.c: Likewise.
39553         * tests/test-freopen.c: Likewise.
39554         * tests/test-frexp.c: Likewise.
39555         * tests/test-frexpl.c: Likewise.
39556         * tests/test-fseek.c: Likewise.
39557         * tests/test-fseeko.c: Likewise.
39558         * tests/test-fstatat.c: Likewise.
39559         * tests/test-fstrcmp.c: Likewise.
39560         * tests/test-fsync.c: Likewise.
39561         * tests/test-ftell.c: Likewise.
39562         * tests/test-ftello.c: Likewise.
39563         * tests/test-func.c: Likewise.
39564         * tests/test-futimens.c: Likewise.
39565         * tests/test-fwritable.c: Likewise.
39566         * tests/test-fwriting.c: Likewise.
39567         * tests/test-getcwd.c: Likewise.
39568         * tests/test-getdate.c: Likewise.
39569         * tests/test-getdelim.c: Likewise.
39570         * tests/test-getdtablesize.c: Likewise.
39571         * tests/test-getgroups.c: Likewise.
39572         * tests/test-getline.c: Likewise.
39573         * tests/test-getndelim2.c: Likewise.
39574         * tests/test-glob.c: Likewise.
39575         * tests/test-hash.c: Likewise.
39576         * tests/test-i-ring.c: Likewise.
39577         * tests/test-iconv-utf.c: Likewise.
39578         * tests/test-iconv.c: Likewise.
39579         * tests/test-idpriv-drop.c: Likewise.
39580         * tests/test-idpriv-droptemp.c: Likewise.
39581         * tests/test-inet_ntop.c: Likewise.
39582         * tests/test-inet_pton.c: Likewise.
39583         * tests/test-isblank.c: Likewise.
39584         * tests/test-isfinite.c: Likewise.
39585         * tests/test-isinf.c: Likewise.
39586         * tests/test-isnan.c: Likewise.
39587         * tests/test-isnand.h: Likewise.
39588         * tests/test-isnanf.h: Likewise.
39589         * tests/test-isnanl.h: Likewise.
39590         * tests/test-lchown.c: Likewise.
39591         * tests/test-ldexpl.c: Likewise.
39592         * tests/test-link.c: Likewise.
39593         * tests/test-linkat.c: Likewise.
39594         * tests/test-linked_list.c: Likewise.
39595         * tests/test-linkedhash_list.c: Likewise.
39596         * tests/test-localename.c: Likewise.
39597         * tests/test-lseek.c: Likewise.
39598         * tests/test-lstat.c: Likewise.
39599         * tests/test-mbmemcasecmp.c: Likewise.
39600         * tests/test-mbmemcasecoll.c: Likewise.
39601         * tests/test-mbrtowc.c: Likewise.
39602         * tests/test-mbscasecmp.c: Likewise.
39603         * tests/test-mbscasestr1.c: Likewise.
39604         * tests/test-mbscasestr2.c: Likewise.
39605         * tests/test-mbscasestr3.c: Likewise.
39606         * tests/test-mbscasestr4.c: Likewise.
39607         * tests/test-mbschr.c: Likewise.
39608         * tests/test-mbscspn.c: Likewise.
39609         * tests/test-mbsinit.c: Likewise.
39610         * tests/test-mbsncasecmp.c: Likewise.
39611         * tests/test-mbsnrtowcs.c: Likewise.
39612         * tests/test-mbspbrk.c: Likewise.
39613         * tests/test-mbspcasecmp.c: Likewise.
39614         * tests/test-mbsrchr.c: Likewise.
39615         * tests/test-mbsrtowcs.c: Likewise.
39616         * tests/test-mbsspn.c: Likewise.
39617         * tests/test-mbsstr1.c: Likewise.
39618         * tests/test-mbsstr2.c: Likewise.
39619         * tests/test-mbsstr3.c: Likewise.
39620         * tests/test-memchr.c: Likewise.
39621         * tests/test-memchr2.c: Likewise.
39622         * tests/test-memcmp.c: Likewise.
39623         * tests/test-memmem.c: Likewise.
39624         * tests/test-memrchr.c: Likewise.
39625         * tests/test-mkdir.c: Likewise.
39626         * tests/test-mkdirat.c: Likewise.
39627         * tests/test-mkfifo.c: Likewise.
39628         * tests/test-mkfifoat.c: Likewise.
39629         * tests/test-mknod.c: Likewise.
39630         * tests/test-nanosleep.c: Likewise.
39631         * tests/test-nl_langinfo.c: Likewise.
39632         * tests/test-obstack-printf.c: Likewise.
39633         * tests/test-open.c: Likewise.
39634         * tests/test-openat.c: Likewise.
39635         * tests/test-pipe-filter-gi1.c: Likewise.
39636         * tests/test-pipe-filter-gi2-main.c: Likewise.
39637         * tests/test-pipe-filter-ii1.c: Likewise.
39638         * tests/test-pipe-filter-ii2-main.c: Likewise.
39639         * tests/test-pipe2.c: Likewise.
39640         * tests/test-popen.h: Likewise.
39641         * tests/test-posixtm.c: Likewise.
39642         * tests/test-pread.c: Likewise.
39643         * tests/test-printf-frexp.c: Likewise.
39644         * tests/test-printf-frexpl.c: Likewise.
39645         * tests/test-printf-posix.c: Likewise.
39646         * tests/test-priv-set.c: Likewise.
39647         * tests/test-quotearg.c: Likewise.
39648         * tests/test-random_r.c: Likewise.
39649         * tests/test-rawmemchr.c: Likewise.
39650         * tests/test-rbtree_list.c: Likewise.
39651         * tests/test-rbtree_oset.c: Likewise.
39652         * tests/test-rbtreehash_list.c: Likewise.
39653         * tests/test-readlink.c: Likewise.
39654         * tests/test-remove.c: Likewise.
39655         * tests/test-rename.c: Likewise.
39656         * tests/test-renameat.c: Likewise.
39657         * tests/test-rmdir.c: Likewise.
39658         * tests/test-round1.c: Likewise.
39659         * tests/test-roundf1.c: Likewise.
39660         * tests/test-roundl.c: Likewise.
39661         * tests/test-safe-alloc.c: Likewise.
39662         * tests/test-sameacls.c: Likewise.
39663         * tests/test-set-mode-acl.c: Likewise.
39664         * tests/test-setenv.c: Likewise.
39665         * tests/test-sigaction.c: Likewise.
39666         * tests/test-signbit.c: Likewise.
39667         * tests/test-sleep.c: Likewise.
39668         * tests/test-snprintf-posix.c: Likewise.
39669         * tests/test-snprintf.c: Likewise.
39670         * tests/test-sprintf-posix.c: Likewise.
39671         * tests/test-stat-time.c: Likewise.
39672         * tests/test-stat.c: Likewise.
39673         * tests/test-strcasestr.c: Likewise.
39674         * tests/test-strchrnul.c: Likewise.
39675         * tests/test-strerror.c: Likewise.
39676         * tests/test-striconv.c: Likewise.
39677         * tests/test-striconveh.c: Likewise.
39678         * tests/test-striconveha.c: Likewise.
39679         * tests/test-strsignal.c: Likewise.
39680         * tests/test-strstr.c: Likewise.
39681         * tests/test-strtod.c: Likewise.
39682         * tests/test-strverscmp.c: Likewise.
39683         * tests/test-symlink.c: Likewise.
39684         * tests/test-symlinkat.c: Likewise.
39685         * tests/test-trunc1.c: Likewise.
39686         * tests/test-trunc2.c: Likewise.
39687         * tests/test-truncf1.c: Likewise.
39688         * tests/test-truncf2.c: Likewise.
39689         * tests/test-truncl.c: Likewise.
39690         * tests/test-uname.c: Likewise.
39691         * tests/test-unlink.c: Likewise.
39692         * tests/test-unlinkat.c: Likewise.
39693         * tests/test-unsetenv.c: Likewise.
39694         * tests/test-usleep.c: Likewise.
39695         * tests/test-utimens.c: Likewise.
39696         * tests/test-utimensat.c: Likewise.
39697         * tests/test-vasnprintf-posix.c: Likewise.
39698         * tests/test-vasnprintf-posix2.c: Likewise.
39699         * tests/test-vasnprintf.c: Likewise.
39700         * tests/test-vasprintf-posix.c: Likewise.
39701         * tests/test-vasprintf.c: Likewise.
39702         * tests/test-vdprintf-posix.c: Likewise.
39703         * tests/test-vfprintf-posix.c: Likewise.
39704         * tests/test-vprintf-posix.c: Likewise.
39705         * tests/test-vsnprintf-posix.c: Likewise.
39706         * tests/test-vsnprintf.c: Likewise.
39707         * tests/test-vsprintf-posix.c: Likewise.
39708         * tests/test-wcrtomb.c: Likewise.
39709         * tests/test-wcsnrtombs.c: Likewise.
39710         * tests/test-wcsrtombs.c: Likewise.
39711         * tests/test-wctype.c: Likewise.
39712         * tests/test-wcwidth.c: Likewise.
39713         * tests/test-xfprintf-posix.c: Likewise.
39714         * tests/test-xmemdup0.c: Likewise.
39715         * tests/test-xprintf-posix.c: Likewise.
39716         * tests/test-xvasprintf.c: Likewise.
39717         * tests/unicase/test-locale-language.c: Likewise.
39718         * tests/unicase/test-mapping-part1.h: Likewise.
39719         * tests/unicase/test-predicate-part1.h: Likewise.
39720         * tests/unicase/test-u8-casecmp.c: Likewise.
39721         * tests/unicase/test-u8-casecoll.c: Likewise.
39722         * tests/unicase/test-u8-casefold.c: Likewise.
39723         * tests/unicase/test-u8-is-cased.c: Likewise.
39724         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39725         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39726         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39727         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39728         * tests/unicase/test-u8-tolower.c: Likewise.
39729         * tests/unicase/test-u8-totitle.c: Likewise.
39730         * tests/unicase/test-u8-toupper.c: Likewise.
39731         * tests/unicase/test-u16-casecmp.c: Likewise.
39732         * tests/unicase/test-u16-casecoll.c: Likewise.
39733         * tests/unicase/test-u16-casefold.c: Likewise.
39734         * tests/unicase/test-u16-is-cased.c: Likewise.
39735         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39736         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39737         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39738         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39739         * tests/unicase/test-u16-tolower.c: Likewise.
39740         * tests/unicase/test-u16-totitle.c: Likewise.
39741         * tests/unicase/test-u16-toupper.c: Likewise.
39742         * tests/unicase/test-u32-casecmp.c: Likewise.
39743         * tests/unicase/test-u32-casecoll.c: Likewise.
39744         * tests/unicase/test-u32-casefold.c: Likewise.
39745         * tests/unicase/test-u32-is-cased.c: Likewise.
39746         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39747         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39748         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39749         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39750         * tests/unicase/test-u32-tolower.c: Likewise.
39751         * tests/unicase/test-u32-totitle.c: Likewise.
39752         * tests/unicase/test-u32-toupper.c: Likewise.
39753         * tests/unicase/test-ulc-casecmp.c: Likewise.
39754         * tests/unicase/test-ulc-casecoll.c: Likewise.
39755         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39756         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39757         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39758         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39759         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39760         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39761         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39762         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39763         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39764         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39765         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39766         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39767         * tests/unictype/test-bidi_byname.c: Likewise.
39768         * tests/unictype/test-bidi_name.c: Likewise.
39769         * tests/unictype/test-bidi_of.c: Likewise.
39770         * tests/unictype/test-bidi_test.c: Likewise.
39771         * tests/unictype/test-block_list.c: Likewise.
39772         * tests/unictype/test-block_of.c: Likewise.
39773         * tests/unictype/test-block_test.c: Likewise.
39774         * tests/unictype/test-categ_and.c: Likewise.
39775         * tests/unictype/test-categ_and_not.c: Likewise.
39776         * tests/unictype/test-categ_byname.c: Likewise.
39777         * tests/unictype/test-categ_name.c: Likewise.
39778         * tests/unictype/test-categ_none.c: Likewise.
39779         * tests/unictype/test-categ_of.c: Likewise.
39780         * tests/unictype/test-categ_or.c: Likewise.
39781         * tests/unictype/test-categ_test_withtable.c: Likewise.
39782         * tests/unictype/test-combining.c: Likewise.
39783         * tests/unictype/test-decdigit.c: Likewise.
39784         * tests/unictype/test-digit.c: Likewise.
39785         * tests/unictype/test-mirror.c: Likewise.
39786         * tests/unictype/test-numeric.c: Likewise.
39787         * tests/unictype/test-pr_byname.c: Likewise.
39788         * tests/unictype/test-pr_test.c: Likewise.
39789         * tests/unictype/test-predicate-part1.h: Likewise.
39790         * tests/unictype/test-scripts.c: Likewise.
39791         * tests/unictype/test-sy_c_ident.c: Likewise.
39792         * tests/unictype/test-sy_java_ident.c: Likewise.
39793         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
39794         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
39795         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
39796         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
39797         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
39798         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
39799         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
39800         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
39801         * tests/uninorm/test-canonical-decomposition.c: Likewise.
39802         * tests/uninorm/test-compat-decomposition.c: Likewise.
39803         * tests/uninorm/test-composition.c: Likewise.
39804         * tests/uninorm/test-decomposing-form.c: Likewise.
39805         * tests/uninorm/test-decomposition.c: Likewise.
39806         * tests/uninorm/test-u8-nfc.c: Likewise.
39807         * tests/uninorm/test-u8-nfd.c: Likewise.
39808         * tests/uninorm/test-u8-nfkc.c: Likewise.
39809         * tests/uninorm/test-u8-nfkd.c: Likewise.
39810         * tests/uninorm/test-u8-normcmp.c: Likewise.
39811         * tests/uninorm/test-u8-normcoll.c: Likewise.
39812         * tests/uninorm/test-u16-nfc.c: Likewise.
39813         * tests/uninorm/test-u16-nfd.c: Likewise.
39814         * tests/uninorm/test-u16-nfkc.c: Likewise.
39815         * tests/uninorm/test-u16-nfkd.c: Likewise.
39816         * tests/uninorm/test-u16-normcmp.c: Likewise.
39817         * tests/uninorm/test-u16-normcoll.c: Likewise.
39818         * tests/uninorm/test-u32-nfc.c: Likewise.
39819         * tests/uninorm/test-u32-nfd.c: Likewise.
39820         * tests/uninorm/test-u32-nfkc.c: Likewise.
39821         * tests/uninorm/test-u32-nfkd.c: Likewise.
39822         * tests/uninorm/test-u32-normalize-big.c: Likewise.
39823         * tests/uninorm/test-u32-normcmp.c: Likewise.
39824         * tests/uninorm/test-u32-normcoll.c: Likewise.
39825         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
39826         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39827         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39828         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39829         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39830         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39831         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39832         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39833         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39834         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39835         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39836         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39837         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39838         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39839         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39840         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39841         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39842         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39843         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39844         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39845         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39846         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39847         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39848         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39849         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39850         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39851         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39852         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39853         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39854         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
39855         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
39856         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
39857         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
39858         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39859         * tests/uniwidth/test-u8-width.c: Likewise.
39860         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39861         * tests/uniwidth/test-u16-width.c: Likewise.
39862         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39863         * tests/uniwidth/test-u32-width.c: Likewise.
39864         * tests/uniwidth/test-uc_width.c: Likewise.
39865         * tests/uniwidth/test-uc_width2.c: Likewise.
39866         * modules/acl-tests (Files): Add tests/macros.h.
39867         * modules/areadlink-tests (Files): Likewise.
39868         * modules/areadlink-with-size-tests (Files): Likewise.
39869         * modules/areadlinkat-tests (Files): Likewise.
39870         * modules/areadlinkat-with-size-tests (Files): Likewise.
39871         * modules/argmatch-tests (Files): Likewise.
39872         * modules/argv-iter-tests (Files): Likewise.
39873         * modules/array-list-tests (Files): Likewise.
39874         * modules/array-mergesort-tests (Files): Likewise.
39875         * modules/array-oset-tests (Files): Likewise.
39876         * modules/avltree-list-tests (Files): Likewise.
39877         * modules/avltree-oset-tests (Files): Likewise.
39878         * modules/avltreehash-list-tests (Files): Likewise.
39879         * modules/base64-tests (Files): Likewise.
39880         * modules/binary-io-tests (Files): Likewise.
39881         * modules/bitrotate-tests (Files): Likewise.
39882         * modules/btowc-tests (Files): Likewise.
39883         * modules/byteswap-tests (Files): Likewise.
39884         * modules/c-ctype-tests (Files): Likewise.
39885         * modules/c-stack-tests (Files): Likewise.
39886         * modules/c-strcase-tests (Files): Likewise.
39887         * modules/c-strcasestr-tests (Files): Likewise.
39888         * modules/c-strstr-tests (Files): Likewise.
39889         * modules/canonicalize-lgpl-tests (Files): Likewise.
39890         * modules/canonicalize-tests (Files): Likewise.
39891         * modules/carray-list-tests (Files): Likewise.
39892         * modules/ceilf-tests (Files): Likewise.
39893         * modules/ceill-tests (Files): Likewise.
39894         * modules/chown-tests (Files): Likewise.
39895         * modules/cloexec-tests (Files): Likewise.
39896         * modules/copy-file-tests (Files): Likewise.
39897         * modules/count-one-bits-tests (Files): Likewise.
39898         * modules/dprintf-posix-tests (Files): Likewise.
39899         * modules/dup2-tests (Files): Likewise.
39900         * modules/dup3-tests (Files): Likewise.
39901         * modules/duplocale-tests (Files): Likewise.
39902         * modules/fbufmode-tests (Files): Likewise.
39903         * modules/fchdir-tests (Files): Likewise.
39904         * modules/fcntl-safer-tests (Files): Likewise.
39905         * modules/fcntl-tests (Files): Likewise.
39906         * modules/fdopendir-tests (Files): Likewise.
39907         * modules/fdutimensat-tests (Files): Likewise.
39908         * modules/fflush-tests (Files): Likewise.
39909         * modules/filevercmp-tests (Files): Likewise.
39910         * modules/flock-tests (Files): Likewise.
39911         * modules/floorf-tests (Files): Likewise.
39912         * modules/floorl-tests (Files): Likewise.
39913         * modules/fnmatch-tests (Files): Likewise.
39914         * modules/fopen-safer-tests (Files): Likewise.
39915         * modules/fopen-tests (Files): Likewise.
39916         * modules/fpending-tests (Files): Likewise.
39917         * modules/fprintf-posix-tests (Files): Likewise.
39918         * modules/fpurge-tests (Files): Likewise.
39919         * modules/freadable-tests (Files): Likewise.
39920         * modules/freadahead-tests (Files): Likewise.
39921         * modules/freading-tests (Files): Likewise.
39922         * modules/freadptr-tests (Files): Likewise.
39923         * modules/freadseek-tests (Files): Likewise.
39924         * modules/freopen-tests (Files): Likewise.
39925         * modules/frexp-nolibm-tests (Files): Likewise.
39926         * modules/frexp-tests (Files): Likewise.
39927         * modules/frexpl-nolibm-tests (Files): Likewise.
39928         * modules/frexpl-tests (Files): Likewise.
39929         * modules/fseek-tests (Files): Likewise.
39930         * modules/fseeko-tests (Files): Likewise.
39931         * modules/fstrcmp-tests (Files): Likewise.
39932         * modules/fsync-tests (Files): Likewise.
39933         * modules/ftell-tests (Files): Likewise.
39934         * modules/ftello-tests (Files): Likewise.
39935         * modules/func-tests (Files): Likewise.
39936         * modules/futimens-tests (Files): Likewise.
39937         * modules/fwritable-tests (Files): Likewise.
39938         * modules/fwriting-tests (Files): Likewise.
39939         * modules/getcwd-tests (Files): Likewise.
39940         * modules/getdate-tests (Files): Likewise.
39941         * modules/getdelim-tests (Files): Likewise.
39942         * modules/getdtablesize-tests (Files): Likewise.
39943         * modules/getgroups-tests (Files): Likewise.
39944         * modules/getline-tests (Files): Likewise.
39945         * modules/getndelim2-tests (Files): Likewise.
39946         * modules/glob-tests (Files): Likewise.
39947         * modules/hash-tests (Files): Likewise.
39948         * modules/i-ring-tests (Files): Likewise.
39949         * modules/iconv-tests (Files): Likewise.
39950         * modules/iconv_open-utf-tests (Files): Likewise.
39951         * modules/idpriv-drop-tests (Files): Likewise.
39952         * modules/idpriv-droptemp-tests (Files): Likewise.
39953         * modules/inet_ntop-tests (Files): Likewise.
39954         * modules/inet_pton-tests (Files): Likewise.
39955         * modules/isblank-tests (Files): Likewise.
39956         * modules/isfinite-tests (Files): Likewise.
39957         * modules/isinf-tests (Files): Likewise.
39958         * modules/isnan-tests (Files): Likewise.
39959         * modules/isnand-nolibm-tests (Files): Likewise.
39960         * modules/isnand-tests (Files): Likewise.
39961         * modules/isnanf-nolibm-tests (Files): Likewise.
39962         * modules/isnanf-tests (Files): Likewise.
39963         * modules/isnanl-nolibm-tests (Files): Likewise.
39964         * modules/isnanl-tests (Files): Likewise.
39965         * modules/lchown-tests (Files): Likewise.
39966         * modules/ldexpl-tests (Files): Likewise.
39967         * modules/link-tests (Files): Likewise.
39968         * modules/linkat-tests (Files): Likewise.
39969         * modules/linked-list-tests (Files): Likewise.
39970         * modules/linkedhash-list-tests (Files): Likewise.
39971         * modules/localename-tests (Files): Likewise.
39972         * modules/lseek-tests (Files): Likewise.
39973         * modules/lstat-tests (Files): Likewise.
39974         * modules/mbmemcasecmp-tests (Files): Likewise.
39975         * modules/mbmemcasecoll-tests (Files): Likewise.
39976         * modules/mbrtowc-tests (Files): Likewise.
39977         * modules/mbscasecmp-tests (Files): Likewise.
39978         * modules/mbscasestr-tests (Files): Likewise.
39979         * modules/mbschr-tests (Files): Likewise.
39980         * modules/mbscspn-tests (Files): Likewise.
39981         * modules/mbsinit-tests (Files): Likewise.
39982         * modules/mbsncasecmp-tests (Files): Likewise.
39983         * modules/mbsnrtowcs-tests (Files): Likewise.
39984         * modules/mbspbrk-tests (Files): Likewise.
39985         * modules/mbspcasecmp-tests (Files): Likewise.
39986         * modules/mbsrchr-tests (Files): Likewise.
39987         * modules/mbsrtowcs-tests (Files): Likewise.
39988         * modules/mbsspn-tests (Files): Likewise.
39989         * modules/mbsstr-tests (Files): Likewise.
39990         * modules/memchr-tests (Files): Likewise.
39991         * modules/memchr2-tests (Files): Likewise.
39992         * modules/memcmp-tests (Files): Likewise.
39993         * modules/memmem-tests (Files): Likewise.
39994         * modules/memrchr-tests (Files): Likewise.
39995         * modules/mkdir-tests (Files): Likewise.
39996         * modules/mkfifo-tests (Files): Likewise.
39997         * modules/mkfifoat-tests (Files): Likewise.
39998         * modules/mknod-tests (Files): Likewise.
39999         * modules/nanosleep-tests (Files): Likewise.
40000         * modules/nl_langinfo-tests (Files): Likewise.
40001         * modules/obstack-printf-tests (Files): Likewise.
40002         * modules/open-tests (Files): Likewise.
40003         * modules/openat-tests (Files): Likewise.
40004         * modules/pipe-filter-gi-tests (Files): Likewise.
40005         * modules/pipe-filter-ii-tests (Files): Likewise.
40006         * modules/pipe2-tests (Files): Likewise.
40007         * modules/popen-safer-tests (Files): Likewise.
40008         * modules/popen-tests (Files): Likewise.
40009         * modules/posixtm-tests (Files): Likewise.
40010         * modules/pread-tests (Files): Likewise.
40011         * modules/printf-frexp-tests (Files): Likewise.
40012         * modules/printf-frexpl-tests (Files): Likewise.
40013         * modules/printf-posix-tests (Files): Likewise.
40014         * modules/priv-set-tests (Files): Likewise.
40015         * modules/quotearg-tests (Files): Likewise.
40016         * modules/random_r-tests (Files): Likewise.
40017         * modules/rawmemchr-tests (Files): Likewise.
40018         * modules/rbtree-list-tests (Files): Likewise.
40019         * modules/rbtree-oset-tests (Files): Likewise.
40020         * modules/rbtreehash-list-tests (Files): Likewise.
40021         * modules/readlink-tests (Files): Likewise.
40022         * modules/remove-tests (Files): Likewise.
40023         * modules/rename-tests (Files): Likewise.
40024         * modules/renameat-tests (Files): Likewise.
40025         * modules/rmdir-tests (Files): Likewise.
40026         * modules/round-tests (Files): Likewise.
40027         * modules/roundf-tests (Files): Likewise.
40028         * modules/roundl-tests (Files): Likewise.
40029         * modules/safe-alloc-tests (Files): Likewise.
40030         * modules/setenv-tests (Files): Likewise.
40031         * modules/sigaction-tests (Files): Likewise.
40032         * modules/signbit-tests (Files): Likewise.
40033         * modules/sleep-tests (Files): Likewise.
40034         * modules/snprintf-posix-tests (Files): Likewise.
40035         * modules/snprintf-tests (Files): Likewise.
40036         * modules/sprintf-posix-tests (Files): Likewise.
40037         * modules/stat-tests (Files): Likewise.
40038         * modules/stat-time-tests (Files): Likewise.
40039         * modules/strcasestr-tests (Files): Likewise.
40040         * modules/strchrnul-tests (Files): Likewise.
40041         * modules/strerror-tests (Files): Likewise.
40042         * modules/striconv-tests (Files): Likewise.
40043         * modules/striconveh-tests (Files): Likewise.
40044         * modules/striconveha-tests (Files): Likewise.
40045         * modules/strsignal-tests (Files): Likewise.
40046         * modules/strstr-tests (Files): Likewise.
40047         * modules/strtod-tests (Files): Likewise.
40048         * modules/strverscmp-tests (Files): Likewise.
40049         * modules/symlink-tests (Files): Likewise.
40050         * modules/symlinkat-tests (Files): Likewise.
40051         * modules/trunc-tests (Files): Likewise.
40052         * modules/truncf-tests (Files): Likewise.
40053         * modules/truncl-tests (Files): Likewise.
40054         * modules/uname-tests (Files): Likewise.
40055         * modules/unicase/cased-tests (Files): Likewise.
40056         * modules/unicase/ignorable-tests (Files): Likewise.
40057         * modules/unicase/locale-language-tests (Files): Likewise.
40058         * modules/unicase/tolower-tests (Files): Likewise.
40059         * modules/unicase/totitle-tests (Files): Likewise.
40060         * modules/unicase/toupper-tests (Files): Likewise.
40061         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40062         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40063         * modules/unicase/u8-casefold-tests (Files): Likewise.
40064         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40065         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40066         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40067         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40068         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40069         * modules/unicase/u8-tolower-tests (Files): Likewise.
40070         * modules/unicase/u8-totitle-tests (Files): Likewise.
40071         * modules/unicase/u8-toupper-tests (Files): Likewise.
40072         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40073         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40074         * modules/unicase/u16-casefold-tests (Files): Likewise.
40075         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40076         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40077         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40078         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40079         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40080         * modules/unicase/u16-tolower-tests (Files): Likewise.
40081         * modules/unicase/u16-totitle-tests (Files): Likewise.
40082         * modules/unicase/u16-toupper-tests (Files): Likewise.
40083         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40084         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40085         * modules/unicase/u32-casefold-tests (Files): Likewise.
40086         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40087         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40088         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40089         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40090         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40091         * modules/unicase/u32-tolower-tests (Files): Likewise.
40092         * modules/unicase/u32-totitle-tests (Files): Likewise.
40093         * modules/unicase/u32-toupper-tests (Files): Likewise.
40094         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40095         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40096         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40097         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40098         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40099         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40100         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40101         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40102         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40103         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40104         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40105         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40106         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40107         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40108         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40109         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40110         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40111         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40112         * modules/unictype/block-list-tests (Files): Likewise.
40113         * modules/unictype/block-of-tests (Files): Likewise.
40114         * modules/unictype/block-test-tests (Files): Likewise.
40115         * modules/unictype/category-C-tests (Files): Likewise.
40116         * modules/unictype/category-Cc-tests (Files): Likewise.
40117         * modules/unictype/category-Cf-tests (Files): Likewise.
40118         * modules/unictype/category-Cn-tests (Files): Likewise.
40119         * modules/unictype/category-Co-tests (Files): Likewise.
40120         * modules/unictype/category-Cs-tests (Files): Likewise.
40121         * modules/unictype/category-L-tests (Files): Likewise.
40122         * modules/unictype/category-Ll-tests (Files): Likewise.
40123         * modules/unictype/category-Lm-tests (Files): Likewise.
40124         * modules/unictype/category-Lo-tests (Files): Likewise.
40125         * modules/unictype/category-Lt-tests (Files): Likewise.
40126         * modules/unictype/category-Lu-tests (Files): Likewise.
40127         * modules/unictype/category-M-tests (Files): Likewise.
40128         * modules/unictype/category-Mc-tests (Files): Likewise.
40129         * modules/unictype/category-Me-tests (Files): Likewise.
40130         * modules/unictype/category-Mn-tests (Files): Likewise.
40131         * modules/unictype/category-N-tests (Files): Likewise.
40132         * modules/unictype/category-Nd-tests (Files): Likewise.
40133         * modules/unictype/category-Nl-tests (Files): Likewise.
40134         * modules/unictype/category-No-tests (Files): Likewise.
40135         * modules/unictype/category-P-tests (Files): Likewise.
40136         * modules/unictype/category-Pc-tests (Files): Likewise.
40137         * modules/unictype/category-Pd-tests (Files): Likewise.
40138         * modules/unictype/category-Pe-tests (Files): Likewise.
40139         * modules/unictype/category-Pf-tests (Files): Likewise.
40140         * modules/unictype/category-Pi-tests (Files): Likewise.
40141         * modules/unictype/category-Po-tests (Files): Likewise.
40142         * modules/unictype/category-Ps-tests (Files): Likewise.
40143         * modules/unictype/category-S-tests (Files): Likewise.
40144         * modules/unictype/category-Sc-tests (Files): Likewise.
40145         * modules/unictype/category-Sk-tests (Files): Likewise.
40146         * modules/unictype/category-Sm-tests (Files): Likewise.
40147         * modules/unictype/category-So-tests (Files): Likewise.
40148         * modules/unictype/category-Z-tests (Files): Likewise.
40149         * modules/unictype/category-Zl-tests (Files): Likewise.
40150         * modules/unictype/category-Zp-tests (Files): Likewise.
40151         * modules/unictype/category-Zs-tests (Files): Likewise.
40152         * modules/unictype/category-and-not-tests (Files): Likewise.
40153         * modules/unictype/category-and-tests (Files): Likewise.
40154         * modules/unictype/category-byname-tests (Files): Likewise.
40155         * modules/unictype/category-name-tests (Files): Likewise.
40156         * modules/unictype/category-none-tests (Files): Likewise.
40157         * modules/unictype/category-of-tests (Files): Likewise.
40158         * modules/unictype/category-or-tests (Files): Likewise.
40159         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40160         * modules/unictype/combining-class-tests (Files): Likewise.
40161         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40162         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40163         * modules/unictype/ctype-blank-tests (Files): Likewise.
40164         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40165         * modules/unictype/ctype-digit-tests (Files): Likewise.
40166         * modules/unictype/ctype-graph-tests (Files): Likewise.
40167         * modules/unictype/ctype-lower-tests (Files): Likewise.
40168         * modules/unictype/ctype-print-tests (Files): Likewise.
40169         * modules/unictype/ctype-punct-tests (Files): Likewise.
40170         * modules/unictype/ctype-space-tests (Files): Likewise.
40171         * modules/unictype/ctype-upper-tests (Files): Likewise.
40172         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40173         * modules/unictype/decimal-digit-tests (Files): Likewise.
40174         * modules/unictype/digit-tests (Files): Likewise.
40175         * modules/unictype/mirror-tests (Files): Likewise.
40176         * modules/unictype/numeric-tests (Files): Likewise.
40177         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40178         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40179         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40180         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40181         Likewise.
40182         * modules/unictype/property-bidi-block-separator-tests (Files):
40183         Likewise.
40184         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40185         Likewise.
40186         * modules/unictype/property-bidi-common-separator-tests (Files):
40187         Likewise.
40188         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40189         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40190         Likewise.
40191         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40192         Likewise.
40193         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40194         Likewise.
40195         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40196         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40197         Likewise.
40198         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40199         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40200         Likewise.
40201         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40202         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40203         * modules/unictype/property-bidi-segment-separator-tests (Files):
40204         Likewise.
40205         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40206         * modules/unictype/property-byname-tests (Files): Likewise.
40207         * modules/unictype/property-combining-tests (Files): Likewise.
40208         * modules/unictype/property-composite-tests (Files): Likewise.
40209         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40210         * modules/unictype/property-dash-tests (Files): Likewise.
40211         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40212         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40213         Likewise.
40214         * modules/unictype/property-deprecated-tests (Files): Likewise.
40215         * modules/unictype/property-diacritic-tests (Files): Likewise.
40216         * modules/unictype/property-extender-tests (Files): Likewise.
40217         * modules/unictype/property-format-control-tests (Files): Likewise.
40218         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40219         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40220         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40221         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40222         * modules/unictype/property-hyphen-tests (Files): Likewise.
40223         * modules/unictype/property-id-continue-tests (Files): Likewise.
40224         * modules/unictype/property-id-start-tests (Files): Likewise.
40225         * modules/unictype/property-ideographic-tests (Files): Likewise.
40226         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40227         * modules/unictype/property-ids-trinary-operator-tests (Files):
40228         Likewise.
40229         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40230         * modules/unictype/property-iso-control-tests (Files): Likewise.
40231         * modules/unictype/property-join-control-tests (Files): Likewise.
40232         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40233         * modules/unictype/property-line-separator-tests (Files): Likewise.
40234         * modules/unictype/property-logical-order-exception-tests (Files):
40235         Likewise.
40236         * modules/unictype/property-lowercase-tests (Files): Likewise.
40237         * modules/unictype/property-math-tests (Files): Likewise.
40238         * modules/unictype/property-non-break-tests (Files): Likewise.
40239         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40240         * modules/unictype/property-numeric-tests (Files): Likewise.
40241         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40242         * modules/unictype/property-other-default-ignorable-code-point-tests
40243         (Files): Likewise.
40244         * modules/unictype/property-other-grapheme-extend-tests (Files):
40245         Likewise.
40246         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40247         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40248         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40249         * modules/unictype/property-other-math-tests (Files): Likewise.
40250         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40251         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40252         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40253         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40254         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40255         * modules/unictype/property-private-use-tests (Files): Likewise.
40256         * modules/unictype/property-punctuation-tests (Files): Likewise.
40257         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40258         * modules/unictype/property-radical-tests (Files): Likewise.
40259         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40260         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40261         * modules/unictype/property-space-tests (Files): Likewise.
40262         * modules/unictype/property-terminal-punctuation-tests (Files):
40263         Likewise.
40264         * modules/unictype/property-test-tests (Files): Likewise.
40265         * modules/unictype/property-titlecase-tests (Files): Likewise.
40266         * modules/unictype/property-unassigned-code-value-tests (Files):
40267         Likewise.
40268         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40269         * modules/unictype/property-uppercase-tests (Files): Likewise.
40270         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40271         * modules/unictype/property-white-space-tests (Files): Likewise.
40272         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40273         * modules/unictype/property-xid-start-tests (Files): Likewise.
40274         * modules/unictype/property-zero-width-tests (Files): Likewise.
40275         * modules/unictype/scripts-tests (Files): Likewise.
40276         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40277         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40278         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40279         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40280         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40281         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40282         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40283         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40284         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40285         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40286         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40287         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40288         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40289         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40290         * modules/uninorm/composition-tests (Files): Likewise.
40291         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40292         * modules/uninorm/decomposition-tests (Files): Likewise.
40293         * modules/uninorm/filter-tests (Files): Likewise.
40294         * modules/uninorm/nfc-tests (Files): Likewise.
40295         * modules/uninorm/nfd-tests (Files): Likewise.
40296         * modules/uninorm/nfkc-tests (Files): Likewise.
40297         * modules/uninorm/nfkd-tests (Files): Likewise.
40298         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40299         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40300         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40301         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40302         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40303         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40304         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40305         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40306         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40307         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40308         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40309         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40310         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40311         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40312         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40313         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40314         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40315         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40316         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40317         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40318         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40319         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40320         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40321         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40322         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40323         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40324         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40325         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40326         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40327         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40328         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40329         * modules/uniwidth/u8-width-tests (Files): Likewise.
40330         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40331         * modules/uniwidth/u16-width-tests (Files): Likewise.
40332         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40333         * modules/uniwidth/u32-width-tests (Files): Likewise.
40334         * modules/uniwidth/width-tests (Files): Likewise.
40335         * modules/unlink-tests (Files): Likewise.
40336         * modules/unsetenv-tests (Files): Likewise.
40337         * modules/usleep-tests (Files): Likewise.
40338         * modules/utimens-tests (Files): Likewise.
40339         * modules/utimensat-tests (Files): Likewise.
40340         * modules/vasnprintf-posix-tests (Files): Likewise.
40341         * modules/vasnprintf-tests (Files): Likewise.
40342         * modules/vasprintf-posix-tests (Files): Likewise.
40343         * modules/vasprintf-tests (Files): Likewise.
40344         * modules/vdprintf-posix-tests (Files): Likewise.
40345         * modules/vfprintf-posix-tests (Files): Likewise.
40346         * modules/vprintf-posix-tests (Files): Likewise.
40347         * modules/vsnprintf-posix-tests (Files): Likewise.
40348         * modules/vsnprintf-tests (Files): Likewise.
40349         * modules/vsprintf-posix-tests (Files): Likewise.
40350         * modules/wcrtomb-tests (Files): Likewise.
40351         * modules/wcsnrtombs-tests (Files): Likewise.
40352         * modules/wcsrtombs-tests (Files): Likewise.
40353         * modules/wctype-tests (Files): Likewise.
40354         * modules/wcwidth-tests (Files): Likewise.
40355         * modules/xmemdup0-tests (Files): Likewise.
40356         * modules/xprintf-posix-tests (Files): Likewise.
40357         * modules/xvasprintf-tests (Files): Likewise.
40358
40359 2009-12-24  Eric Blake  <ebb9@byu.net>
40360
40361         test-nanosleep: fix typo
40362         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40363         patch.
40364         Reported by Bruno Haible.
40365
40366 2009-12-24  Bruno Haible  <bruno@clisp.org>
40367
40368         Reduce namespace pollution on glibc systems.
40369         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40370         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40371         systems.
40372         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40373         <getopt.h> on glibc systems.
40374         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40375         systems.
40376         * lib/fcntl.c: Include <unistd.h> here instead.
40377
40378 2009-12-24  Bruno Haible  <bruno@clisp.org>
40379
40380         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40381
40382 2009-12-24  Eric Blake  <ebb9@byu.net>
40383
40384         tests: add signature checks
40385         * tests/signature.h (SIGNATURE_CHECK): New file.
40386         * modules/atexit-tests (Files): Use it.
40387         * modules/btowc-tests (Files): Likewise.
40388         * modules/canonicalize-lgpl-tests (Files): Likewise.
40389         * modules/ceilf-tests (Files): Likewise.
40390         * modules/ceill-tests (Files): Likewise.
40391         * modules/chown-tests (Files): Likewise.
40392         * modules/dprintf-posix-tests (Files): Likewise.
40393         * modules/dup2-tests (Files): Likewise.
40394         * modules/dup3-tests (Files): Likewise.
40395         * modules/duplocale-tests (Files): Likewise.
40396         * modules/fchdir-tests (Files): Likewise.
40397         * modules/fcntl-tests (Files): Likewise.
40398         * modules/fdopendir-tests (Files): Likewise.
40399         * modules/fflush-tests (Files): Likewise.
40400         * modules/flock-tests (Files): Likewise.
40401         * modules/floorf-tests (Files): Likewise.
40402         * modules/floorl-tests (Files): Likewise.
40403         * modules/fnmatch-tests (Files): Likewise.
40404         * modules/fopen-tests (Files): Likewise.
40405         * modules/fprintf-posix-tests (Files): Likewise.
40406         * modules/freopen-tests (Files): Likewise.
40407         * modules/frexp-nolibm-tests (Files): Likewise.
40408         * modules/frexp-tests (Files): Likewise.
40409         * modules/frexpl-nolibm-tests (Files): Likewise.
40410         * modules/frexpl-tests (Files): Likewise.
40411         * modules/fseek-tests (Files): Likewise.
40412         * modules/fseeko-tests (Files): Likewise.
40413         * modules/fsync-tests (Files): Likewise.
40414         * modules/ftell-tests (Files): Likewise.
40415         * modules/ftello-tests (Files): Likewise.
40416         * modules/futimens-tests (Files): Likewise.
40417         * modules/getaddrinfo-tests (Files): Likewise.
40418         * modules/getcwd-tests (Files): Likewise.
40419         * modules/getdelim-tests (Files): Likewise.
40420         * modules/getdtablesize-tests (Files): Likewise.
40421         * modules/getgroups-tests (Files): Likewise.
40422         * modules/gethostname-tests (Files): Likewise.
40423         * modules/getline-tests (Files): Likewise.
40424         * modules/getopt-posix-tests (Files): Likewise.
40425         * modules/gettimeofday-tests (Files): Likewise.
40426         * modules/glob-tests (Files): Likewise.
40427         * modules/iconv-tests (Files): Likewise.
40428         * modules/inet_ntop-tests (Files): Likewise.
40429         * modules/inet_pton-tests (Files): Likewise.
40430         * modules/isblank-tests (Files): Likewise.
40431         * modules/lchown-tests (Files): Likewise.
40432         * modules/ldexpl-tests (Files): Likewise.
40433         * modules/link-tests (Files): Likewise.
40434         * modules/linkat-tests (Files): Likewise.
40435         * modules/lseek-tests (Files): Likewise.
40436         * modules/lstat-tests (Files): Likewise.
40437         * modules/mbrtowc-tests (Files): Likewise.
40438         * modules/mbsinit-tests (Files): Likewise.
40439         * modules/mbsnrtowcs-tests (Files): Likewise.
40440         * modules/mbsrtowcs-tests (Files): Likewise.
40441         * modules/memchr-tests (Files): Likewise.
40442         * modules/memcmp-tests (Files): Likewise.
40443         * modules/memmem-tests (Files): Likewise.
40444         * modules/memrchr-tests (Files): Likewise.
40445         * modules/mkdir-tests (Files): Likewise.
40446         * modules/mkfifo-tests (Files): Likewise.
40447         * modules/mkfifoat-tests (Files): Likewise.
40448         * modules/mknod-tests (Files): Likewise.
40449         * modules/nanosleep-tests (Files): Likewise.
40450         * modules/nl_langinfo-tests (Files): Likewise.
40451         * modules/obstack-printf-tests (Files): Likewise.
40452         * modules/open-tests (Files): Likewise.
40453         * modules/openat-tests (Files): Likewise.
40454         * modules/perror-tests (Files): Likewise.
40455         * modules/pipe2-tests (Files): Likewise.
40456         * modules/poll-tests (Files): Likewise.
40457         * modules/popen-tests (Files): Likewise.
40458         * modules/posix_spawn-tests (Files): Likewise.
40459         * modules/posix_spawnp-tests (Files): Likewise.
40460         * modules/pread-tests (Files): Likewise.
40461         * modules/printf-posix-tests (Files): Likewise.
40462         * modules/pty-tests (Files): Likewise.
40463         * modules/random_r-tests (Files): Likewise.
40464         * modules/rawmemchr-tests (Files): Likewise.
40465         * modules/readlink-tests (Files): Likewise.
40466         * modules/remove-tests (Files): Likewise.
40467         * modules/rename-tests (Files): Likewise.
40468         * modules/renameat-tests (Files): Likewise.
40469         * modules/rmdir-tests (Files): Likewise.
40470         * modules/round-tests (Files): Likewise.
40471         * modules/roundf-tests (Files): Likewise.
40472         * modules/roundl-tests (Files): Likewise.
40473         * modules/select-tests (Files): Likewise.
40474         * modules/setenv-tests (Files): Likewise.
40475         * modules/sigaction-tests (Files): Likewise.
40476         * modules/sleep-tests (Files): Likewise.
40477         * modules/snprintf-posix-tests (Files): Likewise.
40478         * modules/snprintf-tests (Files): Likewise.
40479         * modules/sprintf-posix-tests (Files): Likewise.
40480         * modules/stat-tests (Files): Likewise.
40481         * modules/strcasestr-tests (Files): Likewise.
40482         * modules/strchrnul-tests (Files): Likewise.
40483         * modules/strerror-tests (Files): Likewise.
40484         * modules/strsignal-tests (Files): Likewise.
40485         * modules/strstr-tests (Files): Likewise.
40486         * modules/strtod-tests (Files): Likewise.
40487         * modules/strverscmp-tests (Files): Likewise.
40488         * modules/symlink-tests (Files): Likewise.
40489         * modules/symlinkat-tests (Files): Likewise.
40490         * modules/times-tests (Files): Likewise.
40491         * modules/trunc-tests (Files): Likewise.
40492         * modules/truncf-tests (Files): Likewise.
40493         * modules/truncl-tests (Files): Likewise.
40494         * modules/tsearch-tests (Files): Likewise.
40495         * modules/uname-tests (Files): Likewise.
40496         * modules/unlink-tests (Files): Likewise.
40497         * modules/unsetenv-tests (Files): Likewise.
40498         * modules/usleep-tests (Files): Likewise.
40499         * modules/utimensat-tests (Files): Likewise.
40500         * modules/vasprintf-tests (Files): Likewise.
40501         * modules/vdprintf-posix-tests (Files): Likewise.
40502         * modules/vfprintf-posix-tests (Files): Likewise.
40503         * modules/vprintf-posix-tests (Files): Likewise.
40504         * modules/vsnprintf-posix-tests (Files): Likewise.
40505         * modules/vsnprintf-tests (Files): Likewise.
40506         * modules/vsprintf-posix-tests (Files): Likewise.
40507         * modules/wcrtomb-tests (Files): Likewise.
40508         * modules/wcsnrtombs-tests (Files): Likewise.
40509         * modules/wcsrtombs-tests (Files): Likewise.
40510         * modules/wcwidth-tests (Files): Likewise.
40511         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40512         * tests/test-isinf.c (isinf): Likewise.
40513         * tests/test-isnan.c (isnan): Likewise.
40514         * tests/test-signbit.c (signbit): Likewise.
40515         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40516         declaration, either as macro or with correct signature.
40517         (select): Ensure function under test is declared with correct
40518         signature in correct header.
40519         * tests/test-atexit.c (atexit): Likewise.
40520         * tests/test-btowc.c (btowc): Likewise.
40521         * tests/test-canonicalize-lgpl.c (realpath)
40522         (canonicalize_file_name): Likewise.
40523         * tests/test-ceilf1.c (ceilf): Likewise.
40524         * tests/test-ceill.c (ceill): Likewise.
40525         * tests/test-chown.c (chown): Likewise.
40526         * tests/test-dprintf-posix.c (dprintf): Likewise.
40527         * tests/test-dup2.c (dup2): Likewise.
40528         * tests/test-dup3.c (dup3): Likewise.
40529         * tests/test-duplocale.c (duplocale): Likewise.
40530         * tests/test-fchdir.c (fchdir): Likewise.
40531         * tests/test-fchownat.c (fchownat): Likewise.
40532         * tests/test-fcntl.c (fcntl): Likewise.
40533         * tests/test-fdopendir.c (fdopendir): Likewise.
40534         * tests/test-fflush.c (fflush): Likewise.
40535         * tests/test-flock.c (flock): Likewise.
40536         * tests/test-floorf1.c (floorf): Likewise.
40537         * tests/test-floorl.c (floorl): Likewise.
40538         * tests/test-fnmatch.c (fnmatch): Likewise.
40539         * tests/test-fopen.c (fopen): Likewise.
40540         * tests/test-fprintf-posix.c (fprintf): Likewise.
40541         * tests/test-freopen.c (freopen): Likewise.
40542         * tests/test-frexp.c (frexp): Likewise.
40543         * tests/test-frexpl.c (frexpl): Likewise.
40544         * tests/test-fseek.c (fseek): Likewise.
40545         * tests/test-fseeko.c (fseeko): Likewise.
40546         * tests/test-fstatat.c (fstatat): Likewise.
40547         * tests/test-fsync.c (fsync): Likewise.
40548         * tests/test-ftell.c (ftell): Likewise.
40549         * tests/test-ftello.c (ftello): Likewise.
40550         * tests/test-futimens.c (futimens): Likewise.
40551         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40552         (gai_strerror): Likewise.
40553         * tests/test-getcwd.c (getcwd): Likewise.
40554         * tests/test-getdelim.c (getdelim): Likewise.
40555         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40556         * tests/test-getgroups.c (getgroups): Likewise.
40557         * tests/test-gethostname.c (gethostname): Likewise.
40558         * tests/test-getline.c (getline): Likewise.
40559         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40560         Likewise.
40561         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40562         * tests/test-glob.c (glob, globfree): Likewise.
40563         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40564         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40565         * tests/test-inet_pton.c (inet_pton): Likewise.
40566         * tests/test-isblank.c (isblank): Likewise.
40567         * tests/test-lchown.c (lchown): Likewise.
40568         * tests/test-ldexpl.c (ldexpl): Likewise.
40569         * tests/test-link.c (link): Likewise.
40570         * tests/test-linkat.c (linkat): Likewise.
40571         * tests/test-lseek.c (lseek): Likewise.
40572         * tests/test-lstat.c (lstat): Likewise.
40573         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40574         * tests/test-mbsinit.c (mbsinit): Likewise.
40575         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40576         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40577         * tests/test-memchr.c (memchr): Likewise.
40578         * tests/test-memcmp.c (memcmp): Likewise.
40579         * tests/test-memmem.c (memmem): Likewise.
40580         * tests/test-memrchr.c (memrchr): Likewise.
40581         * tests/test-mkdir.c (mkdir): Likewise.
40582         * tests/test-mkdirat.c (mkdirat): Likewise.
40583         * tests/test-mkfifo.c (mkfifo): Likewise.
40584         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40585         * tests/test-mknod.c (mknod): Likewise.
40586         * tests/test-nanosleep.c (nanosleep): Likewise.
40587         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40588         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40589         Likewise.
40590         * tests/test-open.c (open): Likewise.
40591         * tests/test-openat.c (openat): Likewise.
40592         * tests/test-perror.c (perror): Likewise.
40593         * tests/test-pipe2.c (pipe2): Likewise.
40594         * tests/test-poll.c (poll): Likewise.
40595         * tests/test-popen.c (popen, pclose): Likewise.
40596         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40597         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40598         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40599         (posix_spawn_file_actions_destroy)
40600         (posix_spawn_file_actions_addclose)
40601         (posix_spawn_file_actions_addopen)
40602         (posix_spawn_file_actions_adddup2): Likewise.
40603         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40604         * tests/test-pread.c (pread): Likewise.
40605         * tests/test-printf-posix.c (printf): Likewise.
40606         * tests/test-pty.c (openpty, forkpty): Likewise.
40607         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40608         (random_r): Likewise.
40609         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40610         * tests/test-readlink.c (readlink): Likewise.
40611         * tests/test-remove.c (remove): Likewise.
40612         * tests/test-rename.c (rename): Likewise.
40613         * tests/test-renameat.c (renameat): Likewise.
40614         * tests/test-rmdir.c (rmdir): Likewise.
40615         * tests/test-round1.c (round): Likewise.
40616         * tests/test-roundf1.c (roundf): Likewise.
40617         * tests/test-roundl.c (roundl): Likewise.
40618         * tests/test-setenv.c (setenv): Likewise.
40619         * tests/test-sigaction.c (sigaction): Likewise.
40620         * tests/test-sleep.c (sleep): Likewise.
40621         * tests/test-snprintf.c (snprintf): Likewise.
40622         * tests/test-sprintf-posix.c (sprintf): Likewise.
40623         * tests/test-stat.c (stat): Likewise.
40624         * tests/test-stpncpy.c (stpncpy): Likewise.
40625         * tests/test-strcasestr.c (strcasestr): Likewise.
40626         * tests/test-strchrnul.c (strchrnul): Likewise.
40627         * tests/test-strerror.c (strerror): Likewise.
40628         * tests/test-strsignal.c (strsignal): Likewise.
40629         * tests/test-strstr.c (strstr): Likewise.
40630         * tests/test-strtod.c (strtod): Likewise.
40631         * tests/test-strverscmp.c (strverscmp): Likewise.
40632         * tests/test-symlink.c (symlink): Likewise.
40633         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40634         * tests/test-times.c (times): Likewise.
40635         * tests/test-trunc1.c (trunc): Likewise.
40636         * tests/test-truncf1.c (truncf): Likewise.
40637         * tests/test-truncl.c (truncl): Likewise.
40638         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40639         Likewise.
40640         * tests/test-uname.c (uname): Likewise.
40641         * tests/test-unlink.c (unlink): Likewise.
40642         * tests/test-unlinkat.c (unlinkat): Likewise.
40643         * tests/test-unsetenv.c (unsetenv): Likewise.
40644         * tests/test-usleep.c (usleep): Likewise.
40645         * tests/test-utimensat.c (utimensat): Likewise.
40646         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40647         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40648         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40649         * tests/test-vprintf-posix.c (vprintf): Likewise.
40650         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40651         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40652         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40653         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40654         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40655         * tests/test-wcwidth.c (wcwidth): Likewise.
40656
40657         build: pull in conditional headers during GNULIB_POSIXCHECK
40658         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40659         definitions from any conditionally-included headers.
40660         * lib/stdlib.in.h (includes): Likewise.
40661         * lib/unistd.in.h (includes): Likewise.
40662
40663 2009-12-24  Bruno Haible  <bruno@clisp.org>
40664
40665         * tests/test-argv-iter.c: Include header file being tested immediately
40666         after config.h.
40667         * tests/test-base64.c: Likewise.
40668         * tests/test-flock.c: Likewise.
40669         * tests/test-fsync.c: Likewise.
40670         * tests/test-getdate.c: Likewise.
40671         * tests/test-getndelim2.c: Likewise.
40672         * tests/test-isfinite.c: Likewise.
40673         * tests/test-isinf.c: Likewise.
40674         * tests/test-strerror.c: Likewise.
40675         * tests/test-strsignal.c: Likewise.
40676
40677 2009-12-23  Eric Blake  <ebb9@byu.net>
40678
40679         unistd: work around cygwin bug
40680         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40681         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40682         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40683
40684 2009-12-23  Bruno Haible  <bruno@clisp.org>
40685
40686         localename: More tests.
40687         * tests/test-localename.c (SIZEOF): New macro.
40688         (categories): New variable.
40689         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40690         test_locale_name_default): Add test w.r.t. thread locale.
40691         (test_locale_name_thread): New function.
40692         (main): Invoke it.
40693
40694         localename: Make aware of thread locale.
40695         * lib/localename.h (gl_locale_name_thread): New declaration.
40696         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40697         behaviour with respect to thread locale.
40698         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40699         <langinfo.h>, glthread/lock.h.
40700         (SIZE_BITS): New macro.
40701         (string_hash): New function.
40702         (struct hash_node): New type.
40703         (HASH_TABLE_SIZE): New macro.
40704         (struniq_hash_table, struniq_lock): New variables.
40705         (struniq): New function.
40706         (gl_locale_name_thread): New function.
40707         (gl_locale_name): Invoke it.
40708         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40709         * modules/localename (Depends-on): Add lock.
40710         Reported by Mike Gran <spk121@yahoo.com>.
40711
40712 2009-12-23  Eric Blake  <ebb9@byu.net>
40713
40714         va-args: new module
40715         * modules/va-args: New file.
40716         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40717         * MODULES.html.sh (Core language properties): Mention it.
40718
40719         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40720         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40721         named alias for __attribute__((__unused__)).
40722         * lib/chown.c: Update client.
40723         * lib/fchmodat.c: Likewise.
40724         * lib/fts.c: Likewise.
40725         * lib/getdate.y: Likewise.
40726         * lib/getgroups.c: Likewise.
40727         * lib/getopt.c: Likewise.
40728         * lib/getugroups.c: Likewise.
40729         * lib/mkdir.c: Likewise.
40730         * lib/mkfifo.c: Likewise.
40731         * lib/mkfifoat.c: Likewise.
40732         * lib/mknod.c: Likewise.
40733         * lib/mknodat.c: Likewise.
40734         * lib/readlink.c: Likewise.
40735         * lib/se-context.in.h: Likewise.
40736         * lib/se-selinux.in.h: Likewise.
40737         * lib/sockets.c: Likewise.
40738         * lib/symlink.c: Likewise.
40739         * lib/symlinkat.c: Likewise.
40740         * lib/unicodeio.c: Likewise.
40741         * lib/unistr.h: Likewise.
40742         * tests/test-areadlink.c: Likewise.
40743         * tests/test-areadlinkat.c: Likewise.
40744         * tests/test-filenamecat.c: Likewise.
40745         * tests/test-fseeko.c: Likewise.
40746         * tests/test-ftello.c: Likewise.
40747         * tests/test-getdate.c: Likewise.
40748         * tests/test-getgroups.c: Likewise.
40749         * tests/test-gethostname.c: Likewise.
40750         * tests/test-quotearg.c: Likewise.
40751         * tests/test-version-etc.c: Likewise.
40752         * tests/test-xalloc-die.c: Likewise.
40753         * tests/test-xfprintf-posix.c: Likewise.
40754         * tests/test-xprintf-posix.c: Likewise.
40755         * tests/test-xvasprintf.c: Likewise.
40756
40757         tests: avoid compiler warnings
40758         * tests/test-fcntl.c (main): Delete unused parameters.
40759         * tests/test-freopen-safer.c (main): Likewise.
40760         * tests/test-xalloc-die.c (main): Mark unused parameters.
40761         * tests/test-fseeko.c (main): Likewise.
40762         * tests/test-ftello.c (main): Likewise.
40763         * tests/test-nanosleep.c (main): Avoid declaration warning.
40764         * tests/test-sleep.c (main): Likewise.
40765         * tests/test-unsetenv.c (main): Silence warning about string
40766         literal.
40767         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
40768
40769 2009-12-23  Bruno Haible  <bruno@clisp.org>
40770
40771         * tests/test-localename.c (test_locale_name): New function, extracted
40772         from main. Also test mixed situations.
40773         (test_locale_name_posix, test_locale_name_environ,
40774         test_locale_name_default): New functions.
40775         (main): Invoke them all.
40776         * modules/localename-tests (configure.ac): Test for newlocale.
40777
40778 2009-12-23  Bruno Haible  <bruno@clisp.org>
40779
40780         unistd: Ensure getcwd gets declared before being overridden.
40781         * lib/unistd.in.h: Conditionally include <io.h>.
40782
40783 2009-12-22  Bruno Haible  <bruno@clisp.org>
40784
40785         wchar: Diagnose broken combination of glibc and gcc versions and flags.
40786         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
40787         (gl_WCHAR_H): Invoke it.
40788         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
40789         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
40790         Reported by Karl Berry <karl@freefriends.org>.
40791
40792 2009-12-22  Eric Blake  <ebb9@byu.net>
40793
40794         math, unistd: avoid redundant includes
40795         * lib/math.in.h (isnan): No need to re-include <math.h>.
40796         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
40797
40798         getsubopt: work around cygwin bug
40799         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
40800         avoid conflicting with system getsubopt.
40801         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
40802         bug.
40803
40804         getopt: synchronize from glibc
40805         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
40806         parameter order.  Adjust all callers.
40807         (_getopt_internal_r, main): Adjust quoting in error messages.
40808         Drop considerations for outdated POSIX 1003.2 error message.
40809         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
40810         callers.
40811         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
40812
40813         test-getopt: test stderr behavior
40814         * modules/getopt-posix-tests (Depends-on): Add dup2.
40815         * tests/test-getopt.c (ASSERT): Avoid stderr.
40816         (main): Move stderr to a temporary file.
40817         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
40818         Instead, add parameter to inform caller if output occurred.
40819         (test_getopt): Adjust all existing tests to expect silence, and
40820         add new tests of leading ":".
40821         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40822         glibc shortcomings with leading "-:" or "+:" in optstring.
40823         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40824         Likewise.
40825         * doc/posix-functions/getopt.texi (getopt): Likewise.
40826
40827         test-getopt: enhance test
40828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
40829         supports optind=0.
40830         * tests/test-getopt.c (OPTIND_MIN): Move...
40831         * tests/test-getopt.h (OPTIND_MIN): ...here.
40832         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
40833         Require that optind=0 works, since modern BSD supports it in
40834         addition to optreset, and since coreutils expects it.
40835         (test_getopt_long_only): New test.
40836         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40837         glibc shortcomings with 'W;', and enforcement of optind=0.
40838         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40839         Likewise.
40840
40841 2009-12-21  Bruno Haible  <bruno@clisp.org>
40842
40843         localename: Improvements for MacOS X and Cygwin.
40844         * lib/localename.h (gl_locale_name_environ): New declaration.
40845         * lib/localename.c (gl_locale_name_environ): New function, extracted from
40846         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
40847         (gl_locale_name_posix): Invoke it.
40848         (gl_locale_name_default): Add comments. Use Windows native API also on
40849         Cygwin.
40850
40851 2009-12-21  Bruno Haible  <bruno@clisp.org>
40852
40853         Update list of Win32 locale ids.
40854         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
40855         (LANG_SAMI): Renamed from LANG_SAAMI.
40856         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
40857         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
40858         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
40859         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
40860         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
40861         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
40862         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
40863         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
40864         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
40865         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
40866         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
40867         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
40868         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
40869         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
40870         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
40871         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
40872         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
40873         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
40874         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
40875         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
40876         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
40877         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
40878         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
40879         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
40880         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
40881         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
40882         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
40883         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
40884         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
40885         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
40886         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
40887         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
40888         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
40889         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
40890         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
40891         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
40892         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
40893         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
40894         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
40895         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
40896         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
40897         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
40898         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
40899         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
40900         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
40901         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
40902         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
40903         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
40904         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
40905         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
40906         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
40907         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
40908         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
40909         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
40910         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
40911         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
40912         Add more languages and countries for Sami, Sorbian. Add more countries
40913         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
40914         for Pashto. Change country for Syriac, Tswana.
40915
40916 2009-12-21  Eric Blake  <ebb9@byu.net>
40917
40918         test-utimens: avoid spurious failure
40919         * tests/test-chown.h (nap): Factor...
40920         * tests/nap.h: ...into new file.
40921         * tests/test-lchown.h (nap): Avoid duplication.
40922         * tests/test-utimens-common.h (nap): Use shared implementation,
40923         necessary on file systems with 1-second resolution.
40924         * modules/chown-tests (Files): Include new file.
40925         * modules/fdutimensat-tests (Files): Likewise.
40926         * modules/futimens-tests (Files): Likewise.
40927         * modules/lchown-tests (Files): Likewise.
40928         * modules/openat-tests (Files): Likewise.
40929         * modules/utimens-tests (Files): Likewise.
40930         * modules/utimensat-tests (Files): Likewise.
40931
40932 2009-12-19  Eric Blake  <ebb9@byu.net>
40933
40934         futimens, utimensat: work around Linux bug
40935         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40936         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40937         * lib/utimensat.c (rpl_utimensat): Work around it.
40938         * lib/futimens.c (rpl_futimens): Adjust comment.
40939
40940         utimens: work around Linux ctime bug
40941         * lib/utimens.c (detect_ctime_bug): New helper function.
40942         (update_timespec): Differentiate between workaround needed for
40943         this bug vs. what is needed for systems that lack utimensat.
40944         (fdutimens, lutimens): Work around bug.
40945
40946         utimens: check for ctime update
40947         * tests/test-utimens-common.h (check_ctime): Define.
40948         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
40949         * tests/test-futimens.h (test_futimens): Likewise.
40950         * tests/test-lutimens.h (test_lutimens): Likewise.
40951         * doc/posix-functions/futimens.texi (futimens): Document the bug.
40952         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40953
40954 2009-12-19  Bruno Haible  <bruno@clisp.org>
40955
40956         dprintf-posix: Check against memory leak fixed on 2009-12-15.
40957         * tests/test-dprintf-posix2.sh: New file.
40958         * tests/test-dprintf-posix2.c: New file.
40959         * modules/dprintf-posix-tests (Files): Add them.
40960         (configure.ac): Check for getrlimit and setrlimit.
40961         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40962
40963 2009-12-19  Bruno Haible  <bruno@clisp.org>
40964
40965         fprintf-posix: Check against memory leak fixed on 2009-12-15.
40966         * tests/test-fprintf-posix3.sh: New file.
40967         * tests/test-fprintf-posix3.c: New file.
40968         * modules/fprintf-posix-tests (Files): Add them.
40969         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40970
40971 2009-12-19  Eric Blake  <ebb9@byu.net>
40972
40973         dirfd: fix prototype
40974         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
40975         * lib/dirfd.c (dirfd): Likewise.
40976
40977         canonicalize: reduce memory usage
40978         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
40979         allocation to size.
40980         Reported by Solar Designer <solar@openwall.com>.
40981
40982 2009-12-19  Bruno Haible  <bruno@clisp.org>
40983
40984         New module attribute 'Applicability'.
40985         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
40986         * gnulib-tool: New option --extract-applicability.
40987         (func_usage): Document it.
40988         (sed_extract_prog): Recognize it.
40989         (func_get_applicability): New function.
40990         (func_import): Generalize handling of 'link-warning' module.
40991         * modules/link-warning (Applicability): New section.
40992         * modules/arg-nonnull (Applicability): New section.
40993         Repoted by Simon Josefsson <simon@josefsson.org>.
40994
40995 2009-12-19  Bruno Haible  <bruno@clisp.org>
40996
40997         fflush: tweak
40998         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
40999         * lib/fseeko.c (rpl_fseeko): Likewise.
41000
41001 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41002
41003         * lib/gl_list.h: Fix typo in comment.
41004
41005 2009-12-16  Eric Blake  <ebb9@byu.net>
41006
41007         fcntl: use to simplify other modules
41008         * modules/cloexec (Depends-on): Add fcntl.
41009         * modules/fchdir (Depends-on): Likewise.
41010         * modules/fd-safer-flag (Depends-on): Likewise.
41011         * modules/unistd-safer (Depends-on): Likewise.
41012         * modules/dup3 (configure.ac): Set module indicator.
41013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41014         missing.
41015         * lib/fchdir.c (_gl_register_dup): Fix comment.
41016         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41017         * lib/dup-safer.c (dup_safer): Likewise.
41018         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41019         * lib/dup3.c (dup3): Likewise.
41020         * tests/test-fchdir.c (main): Enhance test.
41021         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41022
41023         fcntl: port portions of fcntl to mingw
41024         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41025         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41026         replacement for mingw.
41027         * modules/fcntl (Description): Update.
41028         (Depends-on): Add dup2.
41029         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41030         * modules/fcntl-h (Makefile.am): Substitute it.
41031         * lib/fcntl.in.h (fcntl): Update declaration.
41032         (F_DUPFD, F_GETFD): New macros, when needed.
41033         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41034         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41035         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41036         we now guarantee.
41037
41038         fcntl: work around cygwin bug in F_DUPFD
41039         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41040         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41041         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41042         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41043         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41044
41045         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41046         * modules/fcntl (Files): List new files.
41047         (configure.ac): Run a test.
41048         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41049         * lib/fcntl.c (rpl_fcntl): Likewise.
41050         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41051         (gl_FCNTL_H): Always replace fcntl.h.
41052         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41053         * lib/fcntl.in.h (fcntl): Declare replacement.
41054         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41055         needed, plus a witness.
41056         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41057         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41058         * tests/test-fcntl.c: New file.
41059         * modules/fcntl-tests: Likewise.
41060
41061         binary-io: avoid potential compilation warning
41062         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41063         directives.
41064
41065         fflush: avoid compilation error on NetBSD
41066         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41067         between off_t and fpos_t, since the latter is sometimes a struct.
41068         * lib/fseeko.c (rpl_fseeko): Likewise.
41069         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41070
41071 2009-12-15  Eric Blake  <ebb9@byu.net>
41072
41073         fcntl-h, stdio, sys_ioctl: fix declarations
41074         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41075         function must not take arguments.
41076         * lib/sys_ioctl.in.h (ioctl): Likewise.
41077         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41078         (open): Add a link warning.
41079
41080 2009-12-15  Jim Meyering  <meyering@redhat.com>
41081
41082         areadlink, areadlink-with-size: relax license to LGPLv2+
41083         * modules/areadlink (License): Relax to LGPLv2+.
41084         * modules/areadlink-with-size (License): Likewise.
41085
41086 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41087             Bruno Haible  <bruno@clisp.org>
41088
41089         *printf: Fix memory leak.
41090         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41091         * lib/vfprintf.c (vfprintf): Likewise.
41092         * lib/dprintf.c (dprintf): Likewise.
41093         * lib/vdprintf.c (vdprintf): Likewise.
41094
41095 2009-12-14  Eric Blake  <ebb9@byu.net>
41096
41097         accept4: adjust module dependencies
41098         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41099
41100         utimens: one more try at avoiding compiler warning
41101         * lib/utimens.c (lutimens): Lower scope of result.
41102
41103 2009-12-13  Bruno Haible  <bruno@clisp.org>
41104
41105         Move the malloc checking from module 'list' to new module 'xlist'.
41106         * modules/xlist: New file.
41107         * lib/gl_xlist.h: New file.
41108         * lib/gl_xlist.c: New file.
41109         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41110         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41111         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41112         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41113         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41114         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41115         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41116         gl_sortedlist_nx_add): New declarations.
41117         (struct gl_list_implementation): Rename and change methods accordingly.
41118         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41119         (gl_list_nx_create): Renamed from gl_list_create.
41120         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41121         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41122         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41123         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41124         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41125         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41126         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41127         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41128         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41129         gl_list_create_empty.
41130         (gl_list_nx_create): Renamed from gl_list_create.
41131         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41132         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41133         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41134         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41135         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41136         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41137         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41138         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41139         * lib/gl_array_list.c: Don't include xalloc.h.
41140         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41141         NULL upon out-of-memory.
41142         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41143         out-of-memory.
41144         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41145         Change return type to 'int'.
41146         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41147         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41148         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41149         upon out-of-memory.
41150         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41151         upon out-of-memory.
41152         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41153         upon out-of-memory.
41154         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41155         upon out-of-memory.
41156         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41157         out-of-memory.
41158         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41159         Update.
41160         (gl_array_list_implementation): Update.
41161         * lib/gl_carray_list.c: Don't include xalloc.h.
41162         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41163         Return NULL upon out-of-memory.
41164         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41165         out-of-memory.
41166         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41167         Change return type to 'int'.
41168         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41169         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41170         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41171         upon out-of-memory.
41172         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41173         upon out-of-memory.
41174         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41175         out-of-memory.
41176         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41177         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41178         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41179         Update.
41180         (gl_carray_list_implementation): Update.
41181         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41182         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41183         gl_linked_create_empty. Return NULL upon out-of-memory.
41184         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41185         out-of-memory.
41186         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41187         Change return type to 'int'. Return -1 upon out-of-memory.
41188         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41189         out-of-memory.
41190         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41191         upon out-of-memory.
41192         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41193         upon out-of-memory.
41194         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41195         NULL upon out-of-memory.
41196         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41197         upon out-of-memory.
41198         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41199         out-of-memory.
41200         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41201         Update.
41202         * lib/gl_linked_list.c: Don't include xalloc.h.
41203         (gl_linked_list_implementation): Update.
41204         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41205         (add_to_bucket): Change return type to 'int'.
41206         (gl_linkedhash_list_implementation): Update.
41207         * lib/gl_anytree_list1.h (free_subtree): New function.
41208         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41209         gl_tree_create_empty. Return NULL upon out-of-memory.
41210         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41211         Change return type to 'int'. Return -1 upon out-of-memory.
41212         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41213         out-of-memory.
41214         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41215         (gl_tree_remove_node): New function, moved here from
41216         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41217         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41218         Update.
41219         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41220         malloc, not xmalloc. Return NULL upon out-of-memory.
41221         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41222         out-of-memory.
41223         (gl_tree_remove_node_from_tree): New function, extracted from
41224         gl_tree_remove_node.
41225         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41226         upon out-of-memory.
41227         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41228         out-of-memory.
41229         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41230         upon out-of-memory.
41231         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41232         upon out-of-memory.
41233         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41234         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41235         not xmalloc. Return NULL upon out-of-memory.
41236         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41237         out-of-memory.
41238         (gl_tree_remove_node_from_tree): New function, extracted from
41239         gl_tree_remove_node.
41240         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41241         upon out-of-memory.
41242         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41243         out-of-memory.
41244         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41245         upon out-of-memory.
41246         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41247         upon out-of-memory.
41248         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41249         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41250         gl_anytree_list1.h before gl_anyavltree_list2.h.
41251         (gl_avltree_list_implementation): Update.
41252         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41253         gl_anytree_list1.h before gl_anyavltree_list2.h.
41254         (gl_rbtree_list_implementation): Update.
41255         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41256         Change return type to 'int'. Return -1 upon out-of-memory. Use
41257         __builtin_expect.
41258         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41259         (gl_avltreehash_list_implementation): Update.
41260         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41261         (gl_rbtreehash_list_implementation): Update.
41262         * modules/array-list (Depends-on): Remove xalloc.
41263         * modules/carray-list (Depends-on): Likewise.
41264         * modules/linked-list (Depends-on): Likewise.
41265         * modules/linkedhash-list (Depends-on): Likewise.
41266         * modules/avltree-list (Depends-on): Likewise.
41267         * modules/rbtree-list (Depends-on): Likewise.
41268         * modules/avltreehash-list (Depends-on): Likewise.
41269         * modules/rbtreehash-list (Depends-on): Likewise.
41270
41271         * modules/xsublist: New file.
41272         * lib/gl_xsublist.h: New file.
41273         * lib/gl_xsublist.c: New file.
41274         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41275         (gl_sublist_nx_create): New declaration.
41276         * lib/gl_sublist.c: Don't include xalloc.h.
41277         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41278         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41279         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41280         Change return type to 'int'. Return -1 upon out-of-memory.
41281         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41282         upon out-of-memory.
41283         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41284         NULL upon out-of-memory.
41285         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41286         upon out-of-memory.
41287         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41288         NULL upon out-of-memory.
41289         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41290         NULL upon out-of-memory.
41291         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41292         upon out-of-memory.
41293         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41294         (gl_sublist_list_implementation): Update.
41295         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41296         upon out-of-memory.
41297         * modules/sublist (Depends-on): Remove xalloc.
41298
41299         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41300         * tests/test-carray_list.c: Likewise.
41301         * tests/test-linked_list.c: Likewise.
41302         * tests/test-linkedhash_list.c: Likewise.
41303         * tests/test-avltree_list.c: Likewise.
41304         * tests/test-rbtree_list.c: Likewise.
41305         * tests/test-avltreehash_list.c: Likewise.
41306         * tests/test-rbtreehash_list.c: Likewise.
41307         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41308         * modules/carray-list-tests (Makefile.am): Likewise.
41309         * modules/linked-list-tests (Makefile.am): Likewise.
41310         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41311         * modules/avltree-list-tests (Makefile.am): Likewise.
41312         * modules/rbtree-list-tests (Makefile.am): Likewise.
41313         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41314         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41315
41316         * NEWS: Mention the changes.
41317
41318         * lib/clean-temp.c: Include gl_xlist.h.
41319         * modules/clean-temp (Depends-on): Add xlist.
41320
41321         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41322         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41323
41324         * tests/test-array_oset.c: Include gl_xlist.h.
41325         * modules/array-oset-tests (Depends-on): Add xlist.
41326
41327         Reported by José E. Marchesi <jemarch@gnu.org>.
41328
41329 2009-12-13  Bruno Haible  <bruno@clisp.org>
41330
41331         Move the malloc checking from module 'oset' to new module 'xoset'.
41332         * modules/xoset: New file.
41333         * lib/gl_xoset.h: New file.
41334         * lib/gl_xoset.c: New file.
41335         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41336         declarations.
41337         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41338         (struct gl_oset_implementation): Rename and change methods accordingly.
41339         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41340         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41341         'int'. Mark as __warn_unused_result__.
41342         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41343         gl_oset_create_empty.
41344         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41345         'int'.
41346         * lib/gl_array_oset.c: Don't include xalloc.h.
41347         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41348         malloc, not xmalloc.
41349         (grow): Change return type to 'int'. Don't call xalloc_die.
41350         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41351         to 'int'.
41352         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41353         'int'.
41354         (gl_array_oset_implementation): Update.
41355         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41356         gl_tree_create_empty.
41357         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41358         'int'.
41359         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41360         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41361         xmalloc.
41362         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41363         not xmalloc.
41364         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41365         xmalloc.
41366         (gl_avltree_oset_implementation): Update.
41367         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41368         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41369         xmalloc.
41370         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41371         not xmalloc.
41372         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41373         xmalloc.
41374         (gl_rbtree_oset_implementation): Update.
41375         * modules/array-oset (Depends-on): Remove xalloc.
41376         * modules/avltree-oset (Depends-on): Likewise.
41377         * modules/rbtree-oset (Depends-on): Likewise.
41378         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41379         * tests/test-avltree_oset.c: Likewise.
41380         * tests/test-rbtree_oset.c: Likewise.
41381         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41382         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41383         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41384         * NEWS: Mention the change.
41385
41386 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41387
41388         maint.mk: allow a project to override release-prep commands
41389         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41390         commands into a new rule.
41391         (release-prep): New rule.
41392         (release-prep-hook): New overridable variable.
41393
41394 2009-12-13  Bruno Haible  <bruno@clisp.org>
41395
41396         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41397
41398 2009-12-13  Jim Meyering  <meyering@redhat.com>
41399
41400         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41401         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41402
41403 2009-12-12  Bruno Haible  <bruno@clisp.org>
41404
41405         duplocale: Tweak.
41406         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41407
41408 2009-12-12  Karl Berry  <karl@gnu.org>
41409
41410         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41411
41412 2009-12-12  Bruno Haible  <bruno@clisp.org>
41413
41414         * m4/po.m4: Undo incorrect untabification.
41415
41416 2009-12-12  Bruno Haible  <bruno@clisp.org>
41417
41418         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41419         * modules/c-strtod (Depends-on): Add locale.
41420         * modules/c-strtold (Depends-on): Likewise.
41421
41422 2009-12-12  Bruno Haible  <bruno@clisp.org>
41423
41424         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41425
41426 2009-12-11  Eric Blake  <ebb9@byu.net>
41427
41428         setenv: relax requirement in light of POSIX ruling
41429         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41430         not NULL.
41431         * tests/test-setenv.c (main): Relax test.
41432         * tests/test-unsetenv.c (main): Likewise.
41433         * doc/posix-functions/setenv.texi (setenv): Document this.
41434         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41435
41436 2009-12-11  Bruno Haible  <bruno@clisp.org>
41437
41438         New module 'fd-safer-flag'.
41439         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41440         * lib/dup-safer.c (dup_safer_flag): Remove function.
41441         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41442         * lib/fd-safer.c (fd_safer_flag): Remove function.
41443         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41444         * modules/cloexec (configure.ac): Drop indicator macro.
41445         * modules/fd-safer-flag: New file.
41446         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41447         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41448         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41449
41450 2009-12-11  Bruno Haible  <bruno@clisp.org>
41451
41452         Tests for module 'nl_langinfo'.
41453         * modules/nl_langinfo-tests: New file.
41454         * tests/test-nl_langinfo.sh: New file.
41455         * tests/test-nl_langinfo.c: New file.
41456
41457         New module 'nl_langinfo'.
41458         * lib/nl_langinfo.c: New file.
41459         * m4/nl_langinfo.m4: New file.
41460         * modules/nl_langinfo: New file.
41461         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41462
41463 2009-12-11  Bruno Haible  <bruno@clisp.org>
41464
41465         Tests for module 'langinfo'.
41466         * modules/langinfo-tests: New file.
41467         * tests/test-langinfo.c: New file.
41468
41469         New module 'langinfo'.
41470         * lib/langinfo.in.h: New file.
41471         * m4/langinfo_h.m4: New file.
41472         * modules/langinfo: New file.
41473         * doc/posix-headers/langinfo.texi: Mention the new module.
41474
41475 2009-12-11  Bruno Haible  <bruno@clisp.org>
41476
41477         * lib/config.charset: Untabify.
41478
41479 2009-12-11  Bruno Haible  <bruno@clisp.org>
41480
41481         * modules/unistd-safer (configure.ac): Drop indicator macro.
41482
41483 2009-12-11  Bruno Haible  <bruno@clisp.org>
41484
41485         Move pipe2-safer code to its own file.
41486         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41487         * lib/pipe-safer.c (pipe2_safer): Remove function.
41488         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41489         (Makefile.am): Add it to lib_SOURCES.
41490
41491 2009-12-10  Bruno Haible  <bruno@clisp.org>
41492
41493         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41494
41495 2009-12-10  Bruno Haible  <bruno@clisp.org>
41496
41497         Declare which arguments expect non-NULL values, for GCC and clang.
41498         * build-aux/arg-nonnull.h: New file.
41499         * modules/arg-nonnull: New file.
41500         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41501         (inet_ntop, inet_pton): Use it.
41502         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41503         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41504         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41505         (open, openat): Use it.
41506         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41507         (fnmatch): Use it.
41508         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41509         (getopt, getopt_long, getopt_long_only): Use it.
41510         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41511         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41512         Use it.
41513         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41514         (iconv_open): Use it.
41515         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41516         (strtoimax, strtoumax): Use it.
41517         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41518         (duplocale): Use it.
41519         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41520         (frexp, frexpl): Use it.
41521         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41522         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41523         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41524         (tsearch, tfind, tdelete, twalk): Use it.
41525         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41526         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41527         sigpending): Use it.
41528         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41529         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41530         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41531         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41532         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41533         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41534         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41535         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41536         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41537         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41538         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41539         Use it.
41540         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41541         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41542         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41543         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41544         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41545         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41546         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41547         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41548         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41549         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41550         strtoull, unsetenv): Use it.
41551         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41552         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41553         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41554         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41555         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41556         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41557         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41558         (strcasecmp, strncasecmp): Use it.
41559         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41560         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41561         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41562         rpl_setsockopt): Use it.
41563         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41564         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41565         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41566         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41567         (gettimeofday): Use it.
41568         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41569         (times): Use it.
41570         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41571         (uname): Use it.
41572         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41573         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41574         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41575         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41576         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41577         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41578         unlinkat, write): Use it.
41579         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41580         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41581         * lib/argv-iter.h: Include arg-nonnull.h.
41582         (_ATTRIBUTE_NONNULL_): Remove macro.
41583         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41584         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41585         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41586         optimization.
41587         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41588         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41589         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41590         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41591         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41592         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41593         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41594         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41595         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41596         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41597         * modules/dirent (Depends-on): Add arg-nonnull.
41598         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41599         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41600         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41601         * modules/fnmatch (Depends-on): Add arg-nonnull.
41602         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41603         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41604         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41605         * modules/glob (Depends-on): Add arg-nonnull.
41606         (Makefile.am): Insert arg-nonnull.h into glob.h.
41607         * modules/iconv_open (Depends-on): Add arg-nonnull.
41608         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41609         * modules/inttypes (Depends-on): Add arg-nonnull.
41610         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41611         * modules/locale (Depends-on): Add arg-nonnull.
41612         (Makefile.am): Insert arg-nonnull.h into locale.h.
41613         * modules/math (Depends-on): Add arg-nonnull.
41614         (Makefile.am): Insert arg-nonnull.h into math.h.
41615         * modules/netdb (Depends-on): Add arg-nonnull.
41616         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41617         * modules/search (Depends-on): Add arg-nonnull.
41618         (Makefile.am): Insert arg-nonnull.h into search.h.
41619         * modules/signal (Depends-on): Add arg-nonnull.
41620         (Makefile.am): Insert arg-nonnull.h into signal.h.
41621         * modules/spawn (Depends-on): Add arg-nonnull.
41622         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41623         * modules/stdio (Depends-on): Add arg-nonnull.
41624         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41625         * modules/stdlib (Depends-on): Add arg-nonnull.
41626         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41627         * modules/string (Depends-on): Add arg-nonnull.
41628         (Makefile.am): Insert arg-nonnull.h into string.h.
41629         * modules/strings (Depends-on): Add arg-nonnull.
41630         (Makefile.am): Insert arg-nonnull.h into strings.h.
41631         * modules/sys_socket (Depends-on): Add arg-nonnull.
41632         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41633         * modules/sys_stat (Depends-on): Add arg-nonnull.
41634         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41635         * modules/sys_time (Depends-on): Add arg-nonnull.
41636         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41637         * modules/sys_times (Depends-on): Add arg-nonnull.
41638         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41639         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41640         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41641         * modules/time (Depends-on): Add arg-nonnull.
41642         (Makefile.am): Insert arg-nonnull.h into time.h.
41643         * modules/unistd (Depends-on): Add arg-nonnull.
41644         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41645         * modules/wchar (Depends-on): Add arg-nonnull.
41646         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41647         * modules/argv-iter (Depends-on): Add arg-nonnull.
41648         * tests/test-canonicalize.c (null_ptr): New function.
41649         (main): Use it.
41650         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41651         (main): Use it.
41652         * tests/test-memmem.c (null_ptr): New function.
41653         (main): Use it.
41654         Reported by Jim Meyering.
41655
41656 2009-12-10  Bruno Haible  <bruno@clisp.org>
41657
41658         Use spaces for indentation, not tabs.
41659         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41660         * m4/*.m4: Untabify.
41661         * build-aux/*.h: Untabify.
41662         * tests/**/*.[hc]: Untabify.
41663         * README: New section "Indent with spaces, not TABs", based on
41664         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41665         * NEWS: Mention the change.
41666
41667 2009-12-10  Bruno Haible  <bruno@clisp.org>
41668
41669         pty test: Fix link error.
41670         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41671         test_pty_LDADD.
41672
41673 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41674
41675         * modules/pty: New file.
41676         * modules/pty-tests: New file.
41677         * m4/pty.m4: New file.
41678         * tests/test-pty.c: New file.
41679         * doc/glibc-headers/pty.texi: Modified.
41680         * doc/glibc-functions/forkpty.texi: Modified.
41681         * doc/glibc-functions/openpty.texi: Modified.
41682
41683 2009-12-10  Bruno Haible  <bruno@clisp.org>
41684
41685         Avoid syntax error in C++ mode.
41686         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41687
41688 2009-12-10  Bruno Haible  <bruno@clisp.org>
41689
41690         Use sed with option -e.
41691         * gnulib-tool (func_version, func_emit_copyright_notice,
41692         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41693         option -e to sed.
41694         * modules/link-warning (Makefile.am): Likewise.
41695
41696 2009-12-10  Jim Meyering  <meyering@redhat.com>
41697
41698         mgetgroups: do not write bytes beyond end of malloc'd buffer
41699         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41700         username, we call getgroups with a one-element-shorter buffer,
41701         but still told it the length was original, max_n_groups.
41702
41703 2009-12-09  Eric Blake  <ebb9@byu.net>
41704
41705         cloexec: relax license
41706         * modules/cloexec (Maintainer): Add myself.
41707         (License): Use LGPL, not GPL.
41708
41709         link-warning: optimize generation
41710         * modules/link-warning (Makefile.am): Reduce process usage.
41711
41712 2009-12-09  Bruno Haible  <bruno@clisp.org>
41713
41714         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41715         workaround was added on 2009-11-17.
41716
41717 2009-12-09  Jim Meyering  <meyering@redhat.com>
41718             Bruno Haible  <bruno@clisp.org>
41719
41720         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41721         * modules/link-warning (Makefile.am): Make the comment-removing sed
41722         command more robust in the face of bootstrap-prepended comment lines.
41723
41724 2009-12-09  Bruno Haible  <bruno@clisp.org>
41725
41726         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41727         most one group.
41728
41729 2009-12-09  Simon Josefsson <simon@josefsson.org>
41730             Bruno Haible  <bruno@clisp.org>
41731
41732         * build-aux/link-warning.h: Add copyright notice.
41733         * modules/link-warning (Makefile.am): Generate link-warning.h from
41734         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41735         * NEWS: Mention change in link-warning module.
41736         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41737         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41738         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41739         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41740         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41741         * modules/math (Makefile.am): Add dependency to math.h.
41742         * modules/search (Makefile.am): Add dependency to search.h.
41743         * modules/signal (Makefile.am): Add dependency to signal.h.
41744         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41745         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41746         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41747         * modules/string (Makefile.am): Add dependency to string.h.
41748         * modules/strings (Makefile.am): Add dependency to strings.h.
41749         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41750         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41751         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41752         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41753         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41754         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41755         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41756         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41757         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41758
41759 2009-12-09  Bruno Haible  <bruno@clisp.org>
41760
41761         fchdir: Optimize away rpl_fstat when possible.
41762         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41763         REPLACE_OPEN_DIRECTORY.
41764         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41765
41766 2009-12-09  Bruno Haible  <bruno@clisp.org>
41767
41768         * lib/fchdir.c: Update comment.
41769
41770 2009-12-09  Bruno Haible  <bruno@clisp.org>
41771
41772         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
41773
41774 2009-12-08  Eric Blake  <ebb9@byu.net>
41775
41776         fchdir: avoid memory leak on re-registration.
41777         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
41778
41779 2009-12-08  Jim Meyering  <meyering@redhat.com>
41780
41781         init.sh: avoid Solaris 10 /bin/sh portability problem
41782         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
41783         sourced script:
41784           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
41785           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
41786           bar
41787         tests/init.sh relied on that, accepting a --set-path=DIR argument,
41788         and two tests used that idiom.
41789         * tests/init.sh: Update suggested usage comments.
41790         (path_prepend_): New function, to be used in place
41791         of the --src-path=DIR option.
41792         (setup_): Move PATH-prepending code into path_prepend_.
41793         * tests/test-pread.sh: Adapt to new usage.
41794         * tests/test-xalloc-die.sh: Likewise.
41795
41796 2009-12-08  Simon Josefsson  <simon@josefsson.org>
41797
41798         * doc/gnulib.texi (Glibc pty.h): Add.
41799         * doc/glibc-functions/forkpty.texi: Add.
41800         * doc/glibc-functions/openpty.texi: Add.
41801         Suggested by Bruno Haible.
41802
41803 2009-12-08  Eric Blake  <ebb9@byu.net>
41804
41805         fchdir: fix logic bugs
41806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
41807         * tests/test-fchdir.c (main): Enhance test.
41808         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
41809         is in use.
41810
41811         dup2: fix logic bugs
41812         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
41813         REPLACE_DUP2 to decide when rpl_dup2 is needed.
41814         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
41815         exists.
41816         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
41817
41818 2009-12-07  Eric Blake  <ebb9@byu.net>
41819
41820         unlink: fix m4 detection
41821         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
41822
41823         unistd-safer: add unit test
41824         * modules/unistd-safer-tests: New file.
41825         * tests/test-dup-safer.c: Likewise.
41826         * tests/test-cloexec.c (setmode): Avoid compiler warning.
41827         * tests/test-dup2.c (setmode): Likewise.
41828         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
41829
41830         cloexec: preserve text vs. binary across dup_cloexec
41831         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
41832         mode.
41833         * modules/dup2-tests (Depends-on): Add binary-io.
41834         * modules/cloexec-tests (Depends-on): Likewise.
41835         * tests/test-dup2.c (setmode, is_mode): New helpers.
41836         (main): Add tests that translation mode is preserved.
41837         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
41838         Reported by Bruno Haible.
41839
41840         mgetgroups: reduce duplicate listings
41841         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
41842         resulting array.
41843         * tests/test-chown.h (test_chown): Simplify client.
41844         * tests/test-lchown.h (test_lchown): Likewise.
41845
41846 2009-12-06  Bruno Haible  <bruno@clisp.org>
41847
41848         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
41849         value.
41850
41851 2009-12-06  Bruno Haible  <bruno@clisp.org>
41852
41853         * lib/progname.c: Include stdio.h, stdlib.h.
41854         (set_program_name): Reject a NULL argument.
41855
41856 2009-12-05  Eric Blake  <ebb9@byu.net>
41857
41858         pipe2-safer: new module
41859         * modules/pipe2-safer: New file.
41860         * lib/unistd-safer.h (pipe2_safer): New prototype.
41861         * lib/unistd--.h (pipe2): New wrapper.
41862         * lib/pipe-safer.c (pipe2_safer): New function.
41863         * modules/pipe (Depends-on): Add pipe2-safer.
41864         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
41865
41866         stdlib-safer: preserve cloexec flag for mkostemp[s]
41867         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
41868         fd_safer_flag.
41869
41870         unistd-safer: allow preservation of cloexec status via flag
41871         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
41872         prototypes.
41873         * lib/dup-safer.c (dup_safer_flag): New function.
41874         * lib/fd-safer.c (fd_safer_flag): Likewise.
41875         * modules/cloexec (configure.ac): Set witness.
41876
41877         test-dup2: enhance test
41878         * modules/dup2-tests (Depends-on): Add cloexec.
41879         * tests/test-dup2.c (main): Enhance test.
41880
41881         cloexec: add dup_cloexec
41882         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
41883         header and comments.
41884         * lib/cloexec.c (set_cloexec_flag): Add comments.
41885         (dup_cloexec): New function, with mingw implementation borrowed
41886         from...
41887         * lib/w32spawn.h (dup_noinherit): ...here.
41888         * modules/execute (Depends-on): Add cloexec.
41889         * modules/pipe (Depends-on): Likewise.
41890         * modules/cloexec (Depends-on): Add dup2.
41891         * modules/cloexec-tests (Files): New file.
41892         * tests/test-cloexec.c: Likewise.
41893
41894         test-xalloc-die: fix test for mingw
41895         * modules/xalloc-die-tests (Files): Add tests/init.sh.
41896         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
41897         directory and .exe suffix off argv[0] output.
41898
41899         test-fseeko: fix test for mingw
41900         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
41901         than undefining fseek, so test will pass on mingw.
41902
41903 2009-12-05  Bruno Haible  <bruno@clisp.org>
41904
41905         * lib/progname.h (set_program_name): Clarify specification.
41906         * lib/progname.c (set_program_name): Likewise.
41907         Reported by Jim Meyering.
41908
41909 2009-12-05  Jim Meyering  <meyering@redhat.com>
41910
41911         maint.mk: backslash-escape parens in default regexp
41912         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
41913         backslash-escape the literal parentheses.
41914
41915         maint.mk: news-date-check: use grep -E
41916         * top/maint.mk (today): Define a Make variable, not a...
41917         (news-date-check): ...shell variable.
41918         (news-date-regexp): Use the Make variable.
41919         Use grep's -E option.  Change the failing diagnostic to mention
41920         the variable, $(news-date-regexp).
41921
41922 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
41923
41924         maintainer-makefile: allow customization of NEWS entry format
41925         * top/maint.mk (news-date-regexp): New overridable variable.
41926         (news-date-check): Use it.
41927
41928 2009-12-04  Eric Blake  <ebb9@byu.net>
41929
41930         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41931         * lib/mgetgroups.h (xgetgroups): New prototype.
41932         * lib/mgetgroups.c (xgetgroups): New wrapper.
41933         (mgetgroups): Handle ENOSYS.
41934         * modules/mgetgroups (Depends-on): Add realloc.
41935         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41936
41937         mgetgroups: avoid argument promotion issues with -1
41938         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41939         for invalid gid_t.
41940         * tests/test-chown.h (getegid, test_chown): Likewise.
41941         * tests/test-lchown.h (getegid, test_lchown): Likewise.
41942
41943 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
41944
41945         exclude: Fix header file problems.
41946         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
41947
41948 2009-12-01  Jim Meyering  <meyering@redhat.com>
41949
41950         fts: fts_open: do not let an empty string cause immediate failure
41951         This is required in support of GNU rm, for which the command
41952         "rm A '' B" must process and remove both A and B, in spite of
41953         the empty string argument.
41954         * lib/fts.c (fts_open): Do not let the presence of an empty string
41955         cause fts_open to fail immediately.  Most fts-using tools must be
41956         able to process all arguments, in order, and can be expected to
41957         diagnose such arguments themselves.
41958
41959 2009-11-30  Eric Blake  <ebb9@byu.net>
41960
41961         utimens: fix compilation error
41962         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
41963         Declare variable at right scope.
41964
41965 2009-11-29  Jim Meyering  <meyering@redhat.com>
41966
41967         bootstrap: handle perl-5.11's changed --version output
41968         * build-aux/bootstrap (get_version): Handle perl separately,
41969         since perl-5.11's --version output is different.
41970
41971 2009-11-28  Jim Meyering  <meyering@redhat.com>
41972
41973         userspec: depend on the inttostr module, too
41974         * modules/userspec (Depends-on): Add inttostr.
41975
41976         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
41977         * lib/userspec.c (parse_with_separator): Do not accept a user ID
41978         number of MAXUID when it evaluates to (uid_t) -1.
41979         Likewise for group ID.  Reported by Matt McCutchen in
41980         <http://savannah.gnu.org/bugs/?28113>
41981
41982         userspec: reformat to use spaces, not TABs
41983         * lib/userspec.c: Expand TABs to spaces.
41984         Add Emacs' "indent-tabs-mode: nil" hint.
41985
41986 2009-11-27  Eric Blake  <ebb9@byu.net>
41987
41988         getopt-gnu: flush out another BSD bug
41989         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
41990         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
41991         flush out BSD bug.
41992         * tests/test-getopt.h (test_getopt): End lists with NULL.
41993         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41994         (test_getopt_long_posix): Enhance test.
41995         * modules/getopt-posix-tests (Depends-on): Add stdbool.
41996         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
41997         getopt-gnu.
41998         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41999         Likewise.
42000
42001 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42002
42003         * modules/idpriv-droptemp-tests (Notice): Fix text.
42004
42005 2009-11-27  Jim Meyering  <meyering@redhat.com>
42006
42007         test-xalloc-die: avoid spurious failure due to libtool argv difference
42008         In a libtool-enabled project, this test would fail due to a difference
42009         in the emitted program name, e.g.,
42010         -test-xalloc-die: memory exhausted
42011         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42012         Use program to avoid that.
42013         * modules/xalloc-die-tests (Depends-on): Add progname.
42014         * tests/test-xalloc-die.c: Include progname.h".
42015         (program_name): Remove decl.
42016         (main): Call set_program_name.
42017         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42018
42019 2009-11-26  Richard Jones  <rjones@redhat.com>
42020
42021         w32sock: leave win32 error in place.
42022         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42023
42024 2009-11-26  Eric Blake  <ebb9@byu.net>
42025
42026         init.sh: suggest to use skip_ and fail_ functions in comments
42027         * tests/init.sh: Add a sentence.
42028
42029 2009-11-25  Bruno Haible  <bruno@clisp.org>
42030
42031         init.sh: add documentation in comments
42032         * tests/init.sh: Add some developer and user documentation.
42033
42034 2009-11-26  Jim Meyering  <meyering@redhat.com>
42035
42036         init.sh: accommodate even those who specify bogus srcdir manually
42037         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42038         configure-time tests to be sanitized, so that there is no need to
42039         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42040         (with no double quotes) suffices.  However, since tests may be
42041         invoked manually, and since you may explicitly set srcdir to the
42042         name of a directory containing spaces, do quote its uses here.
42043         * tests/test-pread.sh: Likewise.
42044         Suggested by Bruno Haible.
42045
42046         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42047         * tests/test-pread.sh: Write no data into the pipe, because
42048         test-pread actually reads none.  This avoids a diagnostic,
42049         "bash: echo: write error: Broken pipe", that arises in the unusual
42050         event something is ignoring SIGPIPE, and might be interpreted
42051         as some sort of failure.  Reported by Bruno Haible.
42052
42053 2009-11-25  Jim Meyering  <meyering@redhat.com>
42054
42055         test-pread: cover failure with ESPIPE and EINVAL
42056         * tests/test-pread.c (main): Test for failure, too.
42057         * tests/test-pread.sh: Invoke with stdin on a pipe.
42058         Suggested by Eric Blake.
42059
42060         pread: improvement and fix
42061         * modules/pread (Depends-on): Depend on lseek, for portability to
42062         e.g., mingw.  Suggested by Eric Blake.
42063         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42064
42065         unistd.in.h: correct declaration of pread
42066         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42067         Reported by Richard W.M. Jones.
42068
42069         test-pread.sh: distribute the test script
42070         * modules/pread-tests (Files): Include test-pread.sh.
42071
42072         test-pread.sh: clean up
42073         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42074         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42075         That is unnecessary, since it's always ".".
42076         Suggestion from Eric Blake.
42077
42078         test-pread.sh: make executable
42079         * tests/test-pread.sh: Set executable bit.
42080         Reported by Eric Blake.
42081
42082         correct typo in test-pread.sh
42083         * tests/test-pread.sh: Add #! line.
42084
42085         test pread
42086         * tests/test-pread.c: New file.
42087         * tests/test-pread.sh: Likewise.
42088         * modules/pread-tests: Likewise.
42089
42090         pread: new module
42091         * modules/pread: New file.
42092         * lib/unistd.in.h (pread): Define/declare.
42093         * lib/pread.c (pread): New file.
42094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42095         * modules/unistd (Makefile.am): Substitute witnesses.
42096         * doc/posix-functions/pread.texi (pread): Update.
42097         * MODULES.html.sh: Add pread.
42098
42099 2009-11-25  Jim Meyering  <meyering@redhat.com>
42100
42101         tests/init.sh: new file to be used via most *.sh tests
42102         * tests/init.sh: New file.
42103
42104 2009-11-25  Eric Blake  <ebb9@byu.net>
42105
42106         utimens: work around older Linux failure with symlinks
42107         * lib/utimens.c (lutimensat_works_really): New variable.
42108         (fdutimens, lutimens): Use it to manage kernels that support
42109         nanosecond times on files, but not on symlinks.
42110         Reported by OndÅ™ej Vašík.
42111
42112         utimes: fix configure grammar
42113         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42114
42115 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42116
42117         regex: Fix fastmap for multibyte character ranges.
42118         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42119         characters when a multibyte character range is included.
42120
42121 2009-11-22  Andy Wingo  <wingo@pobox.com>
42122
42123         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42124         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42125
42126 2009-11-24  Bruno Haible  <bruno@clisp.org>
42127
42128         doc: Most *_l functions exist in MacOS X 10.5.
42129         * doc/posix-functions/duplocale.texi: Update platforms list.
42130         * doc/posix-functions/freelocale.texi: Likewise.
42131         * doc/posix-functions/newlocale.texi: Likewise.
42132         * doc/posix-functions/uselocale.texi: Likewise.
42133         * doc/posix-functions/isalnum_l.texi: Likewise.
42134         * doc/posix-functions/isalpha_l.texi: Likewise.
42135         * doc/posix-functions/isblank_l.texi: Likewise.
42136         * doc/posix-functions/iscntrl_l.texi: Likewise.
42137         * doc/posix-functions/isdigit_l.texi: Likewise.
42138         * doc/posix-functions/isgraph_l.texi: Likewise.
42139         * doc/posix-functions/islower_l.texi: Likewise.
42140         * doc/posix-functions/isprint_l.texi: Likewise.
42141         * doc/posix-functions/ispunct_l.texi: Likewise.
42142         * doc/posix-functions/isspace_l.texi: Likewise.
42143         * doc/posix-functions/isupper_l.texi: Likewise.
42144         * doc/posix-functions/iswalnum_l.texi: Likewise.
42145         * doc/posix-functions/iswalpha_l.texi: Likewise.
42146         * doc/posix-functions/iswblank_l.texi: Likewise.
42147         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42148         * doc/posix-functions/iswctype_l.texi: Likewise.
42149         * doc/posix-functions/iswdigit_l.texi: Likewise.
42150         * doc/posix-functions/iswgraph_l.texi: Likewise.
42151         * doc/posix-functions/iswlower_l.texi: Likewise.
42152         * doc/posix-functions/iswprint_l.texi: Likewise.
42153         * doc/posix-functions/iswpunct_l.texi: Likewise.
42154         * doc/posix-functions/iswspace_l.texi: Likewise.
42155         * doc/posix-functions/iswupper_l.texi: Likewise.
42156         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42157         * doc/posix-functions/isxdigit_l.texi: Likewise.
42158         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42159         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42160         * doc/posix-functions/strcoll_l.texi: Likewise.
42161         * doc/posix-functions/strfmon_l.texi: Likewise.
42162         * doc/posix-functions/strftime_l.texi: Likewise.
42163         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42164         * doc/posix-functions/strxfrm_l.texi: Likewise.
42165         * doc/posix-functions/tolower_l.texi: Likewise.
42166         * doc/posix-functions/toupper_l.texi: Likewise.
42167         * doc/posix-functions/towctrans_l.texi: Likewise.
42168         * doc/posix-functions/towlower_l.texi: Likewise.
42169         * doc/posix-functions/towupper_l.texi: Likewise.
42170         * doc/posix-functions/wcscoll_l.texi: Likewise.
42171         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42172         * doc/posix-functions/wctrans_l.texi: Likewise.
42173         * doc/posix-functions/wctype_l.texi: Likewise.
42174         * doc/glibc-functions/strptime_l.texi: Likewise.
42175         * doc/glibc-functions/strtod_l.texi: Likewise.
42176         * doc/glibc-functions/strtof_l.texi: Likewise.
42177         * doc/glibc-functions/strtol_l.texi: Likewise.
42178         * doc/glibc-functions/strtold_l.texi: Likewise.
42179         * doc/glibc-functions/strtoll_l.texi: Likewise.
42180         * doc/glibc-functions/strtoul_l.texi: Likewise.
42181         * doc/glibc-functions/strtoull_l.texi: Likewise.
42182         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42183         * doc/glibc-functions/wcstod_l.texi: Likewise.
42184         * doc/glibc-functions/wcstof_l.texi: Likewise.
42185         * doc/glibc-functions/wcstol_l.texi: Likewise.
42186         * doc/glibc-functions/wcstold_l.texi: Likewise.
42187         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42188         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42189         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42190
42191 2009-11-24  Bruno Haible  <bruno@clisp.org>
42192
42193         duplocale: Fix logic bug.
42194         * lib/duplocale.c: Don't include <langinfo.h>.
42195         (_NL_LOCALE_NAME): Remove macro.
42196         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42197         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42198
42199 2009-11-23  Jim Meyering  <meyering@redhat.com>
42200
42201         test-update-copyright: don't hard-code /usr/bin/perl
42202         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42203         perl to print the current year.  Gilles Espinasse reported that
42204         the replaced use of perl was hard-coded as /usr/bin/perl.
42205
42206 2009-11-23  Bruno Haible  <bruno@clisp.org>
42207
42208         duplocale: Add support for glibc 2.3.x.
42209         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42210
42211 2009-11-22  Bruno Haible  <bruno@clisp.org>
42212
42213         vasnprintf: Tiny optimization.
42214         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42215         MacOS X.
42216
42217 2009-11-22  Bruno Haible  <bruno@clisp.org>
42218
42219         Tests for module 'duplocale'.
42220         * modules/duplocale-tests: New file.
42221         * tests/test-duplocale.c: New file.
42222
42223         New module 'duplocale'.
42224         * m4/duplocale.m4: New file.
42225         * lib/locale.in.h (duplocale): New declaration.
42226         * lib/duplocale.c: New file.
42227         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42228         gl_LOCALE_H_DEFAULTS): New macros.
42229         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42230         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42231         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42232         REPLACE_DUPLOCALE.
42233         * modules/duplocale: New file.
42234         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42235
42236 2009-11-22  Bruno Haible  <bruno@clisp.org>
42237
42238         * modules/locale-tests (configure.ac): Test for newlocale function.
42239         * tests/test-locale.c: When the system has extended locale functions,
42240         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42241
42242         locale: Make locale_t available when possible.
42243         * lib/locale.in.h: Include <xlocale.h> when it exists.
42244         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42245         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42246         * modules/locale (Depends-on): Add extensions.
42247         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42248         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42249
42250 2009-11-22  Bruno Haible  <bruno@clisp.org>
42251
42252         Add comments.
42253         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42254         invocation.
42255         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42256         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42257         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42258
42259 2009-11-22  Bruno Haible  <bruno@clisp.org>
42260
42261         error: account for the possibility of freopen (stdout).
42262         * lib/error.c: Include <unistd.h>.
42263         (flush_stdout): New function, extracted from error and error_at_line.
42264         Determine stdout's fd dynamically.
42265         (error, error_at_line): Invoke flush_stdout.
42266         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42267         * modules/error (Depends-on): Add unistd.
42268
42269 2009-11-22  Bruno Haible  <bruno@clisp.org>
42270
42271         diffseq: Add comment.
42272         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42273
42274 2009-11-22  Jim Meyering  <meyering@redhat.com>
42275
42276         c-stack: avoid defining an unused static function
42277         * lib/c-stack.c (find_stack_direction): Do not define this function
42278         when it will not be used.
42279
42280         diffseq: avoid spurious gcc warnings
42281         * lib/diffseq.h (IF_LINT2): Define.
42282         (compareseq): Use it to initialize two members of "part".
42283         This avoids two used-uninitialized warnings.
42284
42285 2009-11-21  Jim Meyering  <meyering@redhat.com>
42286
42287         c-stack: avoid "ignoring return value of `write'" warning
42288         * lib/c-stack.c: Include "ignore-value.h".
42289         (die): Explicitly ignore each write return value.
42290         * modules/c-stack (Depends-on): Add ignore-value.
42291
42292 2009-11-21  Bruno Haible  <bruno@clisp.org>
42293
42294         diffseq: reduce scope of variable 'best'.
42295         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42296         variable, earlier used for two different purposes.
42297
42298 2009-11-21  Jim Meyering  <meyering@redhat.com>
42299
42300         diffseq: remove useless assignment to "best"
42301         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42302         assignment.  At that point "best" is already guaranteed to be zero.
42303
42304 2009-11-20  Eric Blake  <ebb9@byu.net>
42305
42306         build: mention ftp redirector in release announcements
42307         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42308         values that used to come from cfg.mk; mention FTP redirect URL.
42309         * build-aux/announce-gen: Mention the mirror list.
42310         Suggested by Karl Berry.
42311
42312         nanosleep: improve port to mingw
42313         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42314         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42315         LIB_NANOSLEEP, but only when needed.
42316         * modules/select (Link): Document LIBSOCKET.
42317         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42318         enough.
42319
42320         nanosleep: work around cygwin bug
42321         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42322         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42323         bug.
42324         (getnow): Delete, not needed.
42325         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42326         LIB_CLOCK_GETTIME.
42327         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42328         clock-time, gettime.
42329         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42330         bug.
42331         * modules/nanosleep-tests: New test.
42332         * tests/test-nanosleep.c: New file.
42333
42334         sleep: work around cygwin bug
42335         * lib/sleep.c (rpl_sleep): Work around the bug.
42336         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42337         (gl_PREREQ_SLEEP): Delete unused macro.
42338         * modules/sleep (Depends-on): Add verify.
42339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42340         * modules/unistd (Makefile.am): Substitute witness.
42341         * lib/unistd.in.h (sleep): Update prototype.
42342         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42343         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42344         * modules/sleep-tests (Depends-on): Check for alarm.
42345
42346 2009-11-20  Jim Meyering  <meyering@redhat.com>
42347
42348         maint.mk: improve sc_prohibit_magic_number_exit
42349         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42350         so it does not match uses like System.exit(1).
42351         Add comments showing how to correct all offenders.
42352
42353 2009-11-19  Eric Blake  <ebb9@byu.net>
42354
42355         xalloc-die-tests: add missing library
42356         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42357
42358         test-xvasprintf: silence compiler warnings
42359         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42360         empty string from gcc.
42361
42362 2009-11-19  Jim Meyering  <meyering@redhat.com>
42363
42364         xfreopen: new module, from coreutils
42365         * modules/xfreopen: New module.
42366         * lib/xfreopen.c: New file.
42367         * lib/xfreopen.h: New file.
42368         * MODULES.html.sh (File stream based Input/Output"): Add it.
42369
42370 2009-11-19  Eric Blake  <ebb9@byu.net>
42371
42372         manywarnings: depend on warnings
42373         * modules/manywarnings (Depends-on): Add warnings.
42374
42375         build: avoid compiler warnings
42376         * lib/select.c (rpl_select): Delete unused variable.
42377         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42378
42379 2009-11-18  Eric Blake  <ebb9@byu.net>
42380
42381         tests: avoid false negative with --with-packager
42382         * tests/test-version-etc.sh: Discard packager information.
42383         * tests/test-argp-version-etc-1.sh: Likewise.
42384         Reported by Mike Frysinger.
42385
42386         utimens: fix regression on Solaris
42387         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42388         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42389         can only change fd timestamps via futimesat.  Instead, use an
42390         additional witness macro to avoid BSD bug.
42391         Reported by Jim Meyering.
42392
42393 2009-11-17  Eric Blake  <ebb9@byu.net>
42394
42395         usleep: use it to simplify tests
42396         * modules/stat-time-tests (Depends-on): Add usleep.
42397         (configure.ac): Drop usleep check.
42398         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42399         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42400         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42401         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42402         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42403         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42404         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42405         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42406         Likewise.
42407         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42408         * tests/test-lchown.h (nap): Likewise.
42409         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42410         * tests/test-stat-time.c (nap): Likewise.
42411         * tests/test-utimens-common.h (nap): Update comments.
42412
42413         usleep: new module
42414         * modules/usleep: New file.
42415         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42416         * lib/usleep.c (usleep): Likewise.
42417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42418         * modules/unistd (Makefile.am): Substitute witnesses.
42419         * lib/unistd.in.h (usleep): Add declaration.
42420         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42421         * MODULES.html.sh (Date and time): Likewise.
42422         * modules/usleep-tests (Depends-on): New test.
42423         * tests/test-usleep.c: New file.
42424
42425         chown: work around OpenBSD bug
42426         * lib/chown.c (rpl_chown): Work around the bug.
42427         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42428         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42429         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42430         * modules/chown (Depends-on): Add stdbool.
42431         * modules/lchown (Depends-on): Likewise.
42432         * doc/posix-functions/chown.texi (chown): Document the bug.
42433         * doc/posix-functions/lchown.texi (lchown): Likewise.
42434         * tests/test-lchown.h (test_chown): Relax test.
42435
42436         mkstemp: avoid conflict with C++ keyword template
42437         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42438         * lib/mkostemp.c (mkostemp): Likewise.
42439         * lib/mkostemps.c (mkostemps): Likewise.
42440         * lib/mkstemp.c (mkstemp): Likewise.
42441         * lib/mkstemps.c (mkstemps): Likewise.
42442
42443         xalloc-die-tests: optimize
42444         * tests/test-xalloc-die.sh: Reduce number of processes.
42445
42446 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42447
42448         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42449         patch from ludo@gnu.org (Ludovic Courtès).
42450
42451 2009-11-17  Jim Meyering  <meyering@redhat.com>
42452
42453         version-etc: use proper license string
42454         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42455         * modules/version-etc-fsf: Likewise.
42456
42457 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42458
42459         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42460         printed to stdout.  Deal with EOL differences.
42461
42462 2009-11-17  Eric Blake  <ebb9@byu.net>
42463
42464         unsetenv: work around Solaris bug
42465         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42466         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42467         Reported by Jim Meyering.
42468
42469         vasnprintf: avoid compiler warnings
42470         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42471         variables.
42472         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42473
42474 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42475
42476         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42477         settings since xalloc-die is no longer the self test,
42478         xalloc-die.sh is.
42479
42480 2009-11-17  Jim Meyering  <meyering@redhat.com>
42481
42482         test-xalloc-die.sh: make the code agree with the commit log
42483         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42484         at the end, just in case you happen to have a test-xalloc-die
42485         program in some other PATH directory.
42486
42487         test-xalloc-die.sh: fix a portability bug
42488         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42489         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42490         Otherwise, argv[0] (as often seen in diagnostics) would be too
42491         system-dependent, sometimes with, and sometimes without the leading "./".
42492
42493         version-etc-fsf: relax license to LGPLv3+
42494         * modules/version-etc-fsf (License): Relax license.
42495
42496 2009-11-16  Eric Blake  <ebb9@byu.net>
42497
42498         xalloc-die-tests: avoid printing null pointer
42499         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42500         shell script.
42501         * tests/test-xalloc-die.c (program_name): Declare.
42502         * tests/test-xalloc-die.sh (tmpfiles): New file.
42503
42504         setenv, unsetenv: work around various bugs
42505         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42506         (setenv) [HAVE_SETENV]: Work around bugs.
42507         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42508         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42509         for bugs.
42510         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42511         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42513         * modules/stdlib (Makefile.am): Update substitutions.
42514         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42515         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42516         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42517         * modules/setenv-tests: New test.
42518         * modules/unsetenv-tests: Likewise.
42519         * tests/test-setenv.c: New file.
42520         * tests/test-unsetenv.c: Likewise.
42521
42522 2009-11-16  Jim Meyering  <meyering@redhat.com>
42523
42524         version-etc: relax license to LGPLv3+
42525         * modules/version-etc (License): Relax license.
42526
42527         better AC_REQUIRE expanded-before-required-warning avoidance
42528         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42529         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42530         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42531         which is no longer needed.
42532
42533 2009-11-16  Eric Blake  <ebb9@byu.net>
42534
42535         test-freading: clean up temporary file
42536         * tests/test-freading.c (main): Remove file on success, and use
42537         ASSERT more liberally.
42538         Reported by Jim Meyering.
42539
42540 2009-11-16  Jim Meyering  <meyering@redhat.com>
42541
42542         avoid new AC_REQUIRE expanded-before-required warnings
42543         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42544         merely using it.
42545         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42546         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42547
42548 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42549
42550         * tests/test-xalloc-die.c: New file.
42551         * modules/xalloc-die-tests: New file.
42552         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42553         XFAIL_TESTS so it can be appended by modules.
42554
42555 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42556
42557         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42558         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42559
42560 2009-11-14  Eric Blake  <ebb9@byu.net>
42561
42562         fnmatch: avoid compiler warning
42563         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42564         to silence compiler warning about mismatch signedness in ?:.
42565         Reported by Robert Millan.
42566
42567         intprops: add double-inclusion guard
42568         * lib/intprops.h: Allow idempotent includes.
42569         Suggested by Bruce Korb.
42570
42571         openat: detect Solaris fchownat bug
42572         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42573         penalizing glibc chownat when only lchownat is broken.
42574         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42575         trailing slash bugs.
42576         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42577         * modules/openat-tests (Files): Include more files.
42578         (Depends-on): Add mgetgroups, sleep, stat-time.
42579         (configure.ac): Add additional checks.
42580         (Makefile.am): Build new test.
42581         * tests/test-fchownat.c: New file.
42582
42583         lchown: detect Solaris and FreeBSD bug
42584         * lib/lchown.c (rpl_lchown): Work around bug.
42585         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42587         * modules/unistd (Makefile.am): Populate it.
42588         * lib/unistd.in.h (lchown): Update declaration.
42589         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42590         * modules/lchown-tests: New file.
42591         * tests/test-lchown.h (test_lchown): Likewise.
42592         * tests/test-lchown.c (main): Likewise.
42593
42594         chown: detect Solaris and FreeBSD bug
42595         * lib/chown.c (rpl_chown): Work around bug.
42596         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42597         (gl_PREREQ_CHOWN): Delete.
42598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42599         * modules/unistd (Makefile.am): Populate it.
42600         * lib/unistd.in.h (chown): Update declaration.
42601         * lib/lchown.c (chown): Update client.
42602         * modules/lchown (Depends-on): Add lstat.
42603         * doc/posix-functions/chown.texi (chown): Document the bug.
42604         * doc/posix-functions/getgroups.texi (getgroups): Document
42605         getgroups pitfall.
42606         * modules/chown-tests: New file.
42607         * tests/test-chown.h (test_chown): Likewise.
42608         * tests/test-chown.c (main): Likewise.
42609
42610 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42611
42612         gnulib-tool: correctly detect absence of m4 directories
42613         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42614
42615 2009-11-14  Jim Meyering  <meyering@redhat.com>
42616
42617         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42618         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42619
42620 2009-11-14  John W. Eaton  <jwe@gnu.org>
42621
42622         strftime.h: wrap function declaration in extern "C" block
42623         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42624
42625 2009-11-13  Eric Blake  <ebb9@byu.net>
42626
42627         getgroups: avoid compiler warning
42628         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42629
42630         getgroups: work around FreeBSD bug
42631         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42632         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42633         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42634         * tests/test-getgroups.c (main): Fix buffer overrun.
42635
42636         getgroups: avoid compilation failure
42637         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42638         * modules/getgroups (Depends-on): Add stdint.
42639
42640 2009-11-13  Jim Meyering  <meyering@redhat.com>
42641
42642         test-getgroups: avoid compilation failure
42643         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42644
42645 2009-11-13  Eric Blake  <ebb9@byu.net>
42646
42647         mgetgroups: new module, taken from coreutils
42648         * modules/mgetgroups: New file.
42649         * lib/mgetgroups.h: Likewise.
42650         * lib/mgetgroups.c (mgetgroups): Likewise.
42651         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42652         * MODULES.html.sh (Users and groups): Mention it.
42653
42654         getgroups: don't expose GETGROUPS_T to user
42655         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42656         an element at a time if GETGROUPS_T is wrong size.
42657         * lib/getugroups.h (getugroups): Change signature.
42658         * lib/unistd.in.h (getgroups): Likewise.
42659         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42660         signature needs fixing.
42661         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42662         AC_TYPE_GETGROUPS.
42663         * modules/group-member (Depends-on): Add getgroups.
42664         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42665         (group_member): Rely on getgroups replacement.
42666         * lib/getugroups.c (getugroups): Use gid_t.
42667         * tests/test-getgroups.c (main): Likewise.
42668         * NEWS: Mention the signature change.
42669         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42670         problem with signature.
42671         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42672         GETGROUPS_T is still useful for setgroups.
42673
42674         getgroups, getugroups: provide stubs for mingw
42675         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42676         * lib/getugroups.c (getugroups): Likewise.
42677         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42678         function.  Modernize replacement scheme.
42679         (gl_PREREQ_GETGROUPS): Delete.
42680         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42681         * modules/getgroups (configure.ac): Declare witness.
42682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42683         * modules/unistd (Depends-on): Substitute witness.
42684         * lib/unistd.in.h (getgroups): Declare replacement.
42685
42686         getgroups: avoid calling exit
42687         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42688         drop xalloc.
42689         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42690         dependencies.
42691         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42692         exiting, in the rare case of malloc failure.
42693
42694         getgroups: fix logic error
42695         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42696         has more than 20 groups.
42697         * modules/getgroups-tests: New test.
42698         * tests/test-getgroups.c: New file.
42699
42700 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42701
42702         * tests/test-base64.c: Improve.
42703
42704 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42705
42706         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42707         Blake <ebb9@byu.net>.
42708
42709 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42710
42711         * tests/test-xvasprintf.c: Add %s%s related checks.
42712
42713 2009-11-12  Eric Blake  <ebb9@byu.net>
42714
42715         version-etc: match standards.texi style
42716         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42717         and use <> only for URLs.
42718
42719 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42720
42721         fts: do not fail on a submount during traversal
42722         * lib/fts.c (fts_build): Read the stat info again after opening
42723         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42724         Original report at http://bugzilla.redhat.com/501848.
42725
42726 2009-11-12  Jim Meyering  <meyering@redhat.com>
42727
42728         bootstrap: sync from coreutils
42729         * build-aux/bootstrap (bootstrap_epilogue): New function.
42730         Use git_modules_config in one more place.  This make bootstrap's
42731         --gnulib-srcdir option more useful for testing.
42732
42733         bootstrap: generalize autoheader check
42734         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42735         AC_CONFIG_HEADERS.
42736
42737 2009-11-11  Eric Blake  <ebb9@byu.net>
42738
42739         mkfifoat: use new modules for Solaris and BSD bugs
42740         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42741         * lib/mkfifoat.c (mknodat): Split...
42742         * lib/mknodat.c (mknodat): ...into new file.
42743         * modules/mkfifoat (Files): Ship new file.
42744         (Depends-on): Add mkfifo, mknod.
42745         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42746         (Depends-on): Add symlink.
42747         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42748         redundant with test_mkfifo.h.
42749         (do_mkfifoat, do_mknodat): New helpers.
42750
42751         mknod: new module
42752         * modules/mknod: New file.
42753         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42754         * lib/mknod.c (mknod): Likewise.
42755         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42756         defaults.
42757         * modules/sys_stat (Makefile.am): Substitute them.
42758         * lib/sys_stat.in.h (mknod): Declare replacement.
42759         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42760         Document it.
42761         * doc/posix-functions/mknod.texi (mknod): Likewise.
42762         * modules/mknod-tests: New test.
42763         * tests/test-mknod.c: Likewise.
42764
42765         mkfifo: new module
42766         * modules/mkfifo: New file.
42767         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
42768         * lib/mkfifo.c (mkfifo): Likewise.
42769         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42770         defaults.
42771         * modules/sys_stat (Makefile.am): Substitute them.
42772         * lib/sys_stat.in.h (mkfifo): Declare replacement.
42773         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42774         Document it.
42775         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
42776         * modules/mkfifo-tests: New test.
42777         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
42778         from test-mkfifoat.c.
42779         * tests/test-mkfifo.c: New file.
42780
42781         readlink: detect FreeBSD bug
42782         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
42783         slash on symlink.
42784         * doc/posix-functions/readlink.texi (readlink): Document the bug.
42785         * tests/test-readlink.h (test_readlink): Enhance test.
42786
42787         symlink: detect FreeBSD bug
42788         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
42789         slash on symlink.
42790         * doc/posix-functions/symlink.texi (symlink): Document the bug.
42791         * tests/test-symlink.h (test_symlink): Enhance test.
42792
42793 2009-11-10  Eric Blake  <ebb9@byu.net>
42794
42795         link: detect FreeBSD bug
42796         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
42797         symlink.
42798         * doc/posix-functions/link.texi (link): Document the bug.
42799         * tests/test-link.h (test_link): Enhance test.
42800         * tests/test-linkat.c (main): Update caller.
42801
42802         unlink, remove: detect FreeBSD bug
42803         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
42804         slash on symlink.
42805         * doc/posix-functions/unlink.texi (unlink): Document the bug.
42806         * doc/posix-functions/remove.texi (remove): Likewise.
42807         * tests/test-unlink.h (test_unlink): Enhance test.
42808         * tests/test-remove.c (main): Likewise.
42809
42810 2009-11-09  Eric Blake  <ebb9@byu.net>
42811
42812         rename: detect FreeBSD bug
42813         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
42814         slash on symlink.
42815         * modules/renameat-tests (Depends-on): Add filenamecat.
42816         * tests/test-rename.h (test_rename): Allow one more errno.
42817         * tests/test-renameat.c (main): Likewise.
42818         * doc/posix-functions/rename.texi (rename): Document the bug.
42819
42820         open: detect FreeBSD bug
42821         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
42822         symlink.
42823         * doc/posix-functions/open.texi (open): Document the bug.
42824         * doc/posix-functions/utimes.texi (utimes): Likewise.
42825         * tests/test-open.h (test_open): Add parameters, and test symlink
42826         handling.
42827         * tests/test-open.c (main): Adjust caller.
42828         * tests/test-fcntl-safer.c (main): Likewise.
42829         * modules/open-tests (Depends-on): Add stdbool, symlink.
42830         * modules/fcntl-safer-tests (Depends-on): Likewise.
42831         * tests/test-openat.c (main): Add test-open tests.
42832
42833         stat: detect FreeBSD bug
42834         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
42835         symlink.
42836         * doc/posix-functions/stat.texi (stat): Document the bug.
42837         * tests/test-stat.h (test_stat_func): Add argument.
42838         * tests/test-stat.c (main): Adjust caller.
42839         * tests/test-fstatat.c (main): Likewise.
42840         * modules/stat-tests (Depends-on): Add stdbool, symlink.
42841         Reported by Jim Meyering.
42842
42843 2009-11-09  James Youngman  <jay@gnu.org>
42844
42845         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
42846         * lib/strftime.c: Correct placement of #include "ignore-value.h".
42847
42848 2009-11-08  Jim Meyering  <meyering@redhat.com>
42849
42850         utimens: remove invalid futimesat call
42851         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
42852         It used the file descriptor of the target file as the DIR_FD
42853         parameter and NULL as the file name.  That caused failure with
42854         errno == EFAULT on FreeBSD-8.0-rc2
42855
42856 2009-11-07  Eric Blake  <ebb9@byu.net>
42857
42858         fflush, freadseek: use fseeko, not fseek
42859         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
42860         (clear_ungetc_buffer): Avoid potential problems on large files.
42861         * lib/freadseek.c (freadseek): Likewise.
42862         * modules/freadseek (Depends-on): Add fseeko.
42863         * modules/fseek (configure.ac): Set a witness.
42864         * tests/test-fflush.c (main): Use fseeko.
42865         * tests/test-fpurge.c (fseek): Disable link warning.
42866         * tests/test-freadable.c (fseek): Likewise.
42867         * tests/test-freading.c (fseek): Likewise.
42868         * tests/test-fseeko.c (fseek): Likewise.
42869         * tests/test-ftell.c (fseek): Likewise.
42870         * tests/test-ftello.c (fseek): Likewise.
42871         * tests/test-fwritable.c (fseek): Likewise.
42872         * tests/test-fwriting.c (fseek): Likewise.
42873
42874 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42875
42876         * modules/memchr (Depends-on): Drop getpagesize dependency.
42877
42878 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42879
42880         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
42881         Reported by Ludovic Courtès.
42882         * build-aux/pmccabe2html: Improve example usage.
42883         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
42884
42885 2009-11-06  Jim Meyering  <meyering@redhat.com>
42886
42887         do-release-commit-and-tag: New module.
42888         Automate the release-commit and tag process.
42889         * build-aux/do-release-commit-and-tag: New script, from coreutils.
42890         * modules/do-release-commit-and-tag: New file.
42891         * MODULES.html.sh (Support for maintaining and releasing): Add it.
42892
42893 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42894
42895         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
42896         because test-select.c uses inet_pton.
42897
42898 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42899
42900         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
42901         GETADDRINFO_LIB.  Bump serial number.
42902         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
42903         Suggested by Eric Blake <ebb9@byu.net>.
42904
42905 2009-11-05  Eric Blake  <ebb9@byu.net>
42906
42907         strtod: detect darwin bug
42908         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
42909         Reported by Leo Davis.
42910
42911         freopen-safer: new module
42912         * modules/freopen-safer: New module.
42913         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
42914         * lib/freopen-safer.c (freopen_safer): New file.
42915         * lib/stdio-safer.h (freopen_safer): New declaration.
42916         * lib/stdio--.h (freopen): New override.
42917         * MODULES.html.sh (File stream based Input/Output): Mention it.
42918         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
42919         freopen-safer module.
42920         * doc/posix-functions/stderr.texi (stderr): Likewise.
42921         * doc/posix-functions/stdin.texi (stdin): Likewise.
42922         * doc/posix-functions/stdout.texi (stdout): Likewise.
42923         * modules/freopen-safer-tests: New test.
42924         * tests/test-reopen-safer.c: New file.
42925
42926 2009-11-05  Jim Meyering  <meyering@redhat.com>
42927
42928         maint.mk: Prohibit inclusion of "close-stream.h" without use.
42929         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42930
42931 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42932
42933         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42934
42935 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42936
42937         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42938
42939 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42940
42941         Fix link error.
42942         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42943         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42944
42945 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42946
42947         * tests/test-func.c: Also test value of __func__.
42948
42949 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42950
42951         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
42952         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
42953
42954 2009-11-05  Bruno Haible  <bruno@clisp.org>
42955
42956         Fix link error.
42957         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42958         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42959         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
42960
42961 2009-11-05  Bruno Haible  <bruno@clisp.org>
42962
42963         Tests for module 'inet_pton'.
42964         * modules/inet_pton-tests: New file.
42965         * tests/test-inet_pton.c: New file.
42966
42967 2009-11-05  Bruno Haible  <bruno@clisp.org>
42968
42969         Tests for module 'inet_ntop'.
42970         * modules/inet_ntop-tests: New file.
42971         * tests/test-inet_ntop.c: New file.
42972
42973 2009-11-04  Eric Blake  <ebb9@byu.net>
42974
42975         stdlib-safer: wrap all mkstemp variants
42976         * modules/mkostemp (configure.ac): Set witness.
42977         * modules/mkostemps (configure.ac): Likewise.
42978         * modules/mkstemps (configure.ac): Likewise.
42979         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
42980         (mkstemps_safer): Wrap more functions.
42981         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
42982         wrapping.
42983         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
42984         (mkstemps_safer): Implement the wrappers.
42985
42986         mkstemps, mkostemps: new modules
42987         * modules/mkostemps: New module.
42988         * modules/mkstemps: Likewise.
42989         * lib/mkostemps.c (mkostemps): New file.
42990         * lib/mkstemps.c (mkstemps): Likewise.
42991         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
42992         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
42993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
42994         * modules/stdlib (Makefile.am): Substitute them.
42995         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
42996         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
42997         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42998         * doc/gnulib.texi (Glibc stdlib.h): Include them.
42999         * MODULES.html.sh (File system functions): Mention them.
43000
43001         tempname: resync from glibc
43002         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43003         same values for __GT_FILE as glibc.  Abort even when assertions
43004         are disabled.
43005         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43006         match its value otherwise.  Allow idempotent inclusion.
43007         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43008         * lib/mkostemp.c (mkostemp): Likewise.
43009         * lib/mkstemp.c (mkstemp): Likewise.
43010         * lib/tmpfile.c (tmpfile): Likewise.
43011         * NEWS: Document this.
43012
43013         utimens: fix use of futimens on older Linux
43014         * lib/utimens.c (fdutimens): Use updated, rather than original,
43015         timespec to avoid bug in older Linux kernel.
43016         Reported by Simon Josefsson.
43017
43018 2009-11-04  Bruno Haible  <bruno@clisp.org>
43019
43020         Make num_processors more flexible and consistent.
43021         * lib/nproc.h (enum nproc_query): New type.
43022         (num_processors): Add a 'query' argument.
43023         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43024         (num_processors): Add a 'query' argument. Test the value of the
43025         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43026         mingw, count the number of CPUs available for the current process.
43027         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43028         Check for sched_getaffinity and sched_getaffinity_np.
43029         * modules/nproc (Depends-on): Add c-ctype, extensions.
43030         * NEWS: Mention the change.
43031
43032 2009-11-03  Bruno Haible  <bruno@clisp.org>
43033
43034         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43035
43036 2009-11-03  Jim Meyering  <meyering@redhat.com>
43037
43038         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43039         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43040         if it is defined.
43041
43042 2009-11-02  Eric Blake  <ebb9@byu.net>
43043
43044         mktime, timegm: share common declaration
43045         * lib/mktime-internal.h: New file.
43046         * lib/mktime.c: Use it rather than open-coding a declaration.
43047         * lib/timegm.c: Likewise.
43048         * modules/mktime (Files): Ship it.
43049         * modules/timegm (Files): Likewise.
43050         Suggested by Bruno Haible.
43051
43052         test-update-copyright: update test to match script changes
43053         * tests/test-update-copyright.sh: Avoid hard-coding perl
43054         location.  Don't update *.bak created by earlier runs.
43055
43056 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43057             Simon Josefsson  <simon@josefsson.org>
43058             Bruno Haible  <bruno@clisp.org>
43059
43060         Fix link error on Solaris 8.
43061         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43062         also in libnsl. Define also INET_PTON_LIB.
43063         * modules/inet_pton (Link): New section.
43064
43065 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43066             Bruno Haible  <bruno@clisp.org>
43067
43068         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43069         * modules/inet_ntop (Link): New section.
43070         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43071
43072 2009-11-02  Eric Blake  <ebb9@byu.net>
43073
43074         maint: avoid compiler warnings in m4 macros
43075         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43076         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43077
43078 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43079
43080         * m4/pmccabe2html.m4: Remove file.
43081         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43082         function.  Change maintainer.
43083         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43084         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43085         Courtès).
43086
43087 2009-10-31  Eric Blake  <ebb9@byu.net>
43088
43089         fseeko: fix m4 regression
43090         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43091         regression from 2009-10-27.
43092         Reported by Ralf Wildenhues.
43093
43094 2009-10-31  Jim Meyering  <meyering@redhat.com>
43095
43096         inttostr: aesthetics and improved (compile-time) safety
43097         Define inttype_is_signed rather than inttype_is_unsigned,
43098         since the sole use is via "#if inttype_is_signed".
43099         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43100         inttype_is_unsigned.
43101         * lib/offtostr.c (inttype_is_signed): Likewise.
43102         * lib/uinttostr.c (inttype_is_signed): Likewise.
43103         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43104         * lib/inttostr.c (inttostr): Use verify to cross-check the
43105         inttype_is_signed value and the signedness of the actual type.
43106         * modules/inttostr (Depends-on): Add verify.
43107
43108 2009-10-30  Eric Blake  <ebb9@byu.net>
43109
43110         build: avoid compiler warnings
43111         * lib/fchmodat.c (lchmod): Mark unused variables.
43112         * lib/getopt.c (_getopt_initialize): Likewise.
43113         * lib/mktime.c (__mktime_internal): Provide prototype.
43114         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43115         older gcc that do not understand #pragma GCC diagnostic.
43116         * lib/uinttostr.c (inttype_is_unsigned): Define.
43117         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43118
43119 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43120
43121         stat: fix compilation on AIX
43122         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43123         only see struct stat64.
43124
43125 2009-10-30  Eric Blake  <ebb9@byu.net>
43126
43127         exclude: make more robust
43128         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43129         rather than masking a coding bug.
43130         Suggested by Bruno Haible.
43131
43132 2009-10-30  Jim Meyering  <meyering@redhat.com>
43133
43134         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43135         Rather than putting #!/usr/bin/perl on the first line,
43136         start with a variant of what's recommended by "man perlrun" that
43137         invokes the first "perl" program from your shell's search path.
43138         * build-aux/gitlog-to-changelog: Replace #!... as above.
43139         Add a "Local Variables" perl mode setting.
43140         Prompted by a patch from Ludovic Courtès.
43141         Improved by Eric Blake.
43142         * build-aux/useless-if-before-free: Likewise.
43143         * build-aux/announce-gen: Likewise.
43144         * build-aux/update-copyright: Likewise.
43145
43146 2009-10-29  Eric Blake  <ebb9@byu.net>
43147
43148         filenamecat-lgpl: adjust clients
43149         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43150         filenamecat.
43151         * modules/renameat (Depends-on): Likewise.
43152
43153         filenamecat: split into filenamecat-lgpl
43154         * modules/filenamecat-lgpl: New module.
43155         * modules/filenamecat (Files): Move library-safe files into
43156         filenamecat-lgpl.
43157         (Depends-on): Add filenamecat-lgpl.
43158         (configure.ac): Declare witness.
43159         * lib/filenamecat.h (file_name_concat): Only declare when using
43160         GPL module.
43161         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43162         Move...
43163         * lib/filenamecat-lgpl.c: ...into new file.
43164         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43165         (gl_FILE_NAME_CONCAT): Use it.
43166         * MODULES.html.sh (File system functions): Mention new module.
43167
43168         argp: avoid memory leak
43169         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43170         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43171         base_name, since the latter malloc()s and can call exit().
43172         Leak introduced 2006-07-03.
43173
43174         dirname-lgpl: adjust clients that don't need full dirname
43175         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43176         * modules/filenamecat (Depends-on): Likewise.
43177         * modules/linkat (Depends-on): Likewise.
43178         * modules/mkancesdirs (Depends-on): Likewise.
43179         * modules/mkdir (Depends-on): Likewise.
43180         * modules/openat (Depends-on): Likewise.
43181         * modules/savewd (Depends-on): Likewise.
43182         * modules/rename (Depends-on): Likewise.
43183         (License): Relax license.
43184         * modules/mkdir-tests (Depends-on): Drop progname.
43185         (Makefile.am): Delete unneeded LDADD.
43186         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43187
43188         dirname: split into dirname-lgpl
43189         * modules/dirname-lgpl: New module.
43190         * modules/dirname (Files): Move library-safe files into
43191         dirname-lgpl.
43192         (Depends-on): Add dirname-lgpl.
43193         (configure.ac): Declare witness.
43194         * modules/double-slash-root (License): Relax license.
43195         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43196         module.
43197         * lib/dirname.c (dir_len, mdir_name): Move...
43198         * lib/dirname-lgpl.c: ...into new file.
43199         * lib/basename.c (last_component, base_len): Move...
43200         * lib/basename-lgpl.c: ...into new file.
43201         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43202         (gl_DIRNAME): Use it.
43203         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43204         Mention new module.
43205         * modules/dirname-tests (Depends-on): Add progname.
43206         * tests/test-dirname.c (program_name): Delete.
43207
43208         mkdir: make safe for libraries
43209         * modules/mkdir (Depends-on): Drop xalloc.
43210         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43211         exit.
43212
43213         tests: avoid some compiler warnings
43214         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43215         literals.
43216         * tests/test-memchr.c (main): Avoid type mismatch.
43217         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43218         * tests/test-base64.c (main): Likewise.
43219         * tests/test-getdelim.c (main): Likewise.
43220         * tests/test-gethostname.c (main): Likewise.
43221         * tests/test-getline.c (main): Likewise.
43222         * tests/test-netinet_in.c (main): Likewise.
43223         * tests/test-select.c (open_server_socket, main): Likewise.
43224         * tests/test-select-stdin.c (main): Likewise.
43225         * tests/test-sockets.c (main): Likewise.
43226         * tests/test-strsignal.c (main): Likewise.
43227         * tests/test-sys_select.c (main): Likewise.
43228         * tests/test-sys_socket.c (main): Likewise.
43229         * tests/test-u64.c (main): Likewise.
43230         * tests/test-xfprintf-posix.c (main): Likewise.
43231         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43232
43233         sockets: avoid compiler warning
43234         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43235
43236         maint: detect usage(1) and other suspicious exits
43237         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43238
43239 2009-10-29  Jim Meyering  <meyering@redhat.com>
43240
43241         timespec: long-to-int truncation could make timespec_cmp malfunction
43242         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43243         a multiple of 2^32 nanoseconds as no difference.
43244
43245 2009-10-28  Jim Meyering  <meyering@redhat.com>
43246
43247         fprintftime: wrap macro code argument in "do {...} while(0)"
43248         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43249         cpy macro must be a statement that can be followed by a semicolon.
43250         Now that the else clause contains a comment and is hence longer
43251         than one line, I require curly braces.  That in turn requires
43252         that we wrap this code block in the standard do...while(0).
43253
43254         fprintftime: remove stray semicolon from previous change
43255         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43256
43257         fprintftime: avoid a warning about ignored fwrite return value
43258         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43259         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43260         that is unsafe.
43261         * modules/fprintftime (Depends-on): Add ignore-value.
43262
43263         exclude: avoid an unwarranted warning
43264         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43265
43266 2009-10-27  Eric Blake  <ebb9@byu.net>
43267
43268         fseek: avoid compilation failure when fflush is replaced
43269         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43270         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43271         module is in use.
43272         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43273         module is not in use; since REPLACE_FSEEK worked otherwise.
43274         (GNULIB_FTELLO): Likewise for ftell.
43275         Reported by Ian Beckwith and others.
43276
43277 2009-10-27  Bruno Haible  <bruno@clisp.org>
43278
43279         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43280         Reported by Jim Meyering.
43281
43282 2009-10-27  Jim Meyering  <jim@meyering.net>
43283             Bruno Haible  <bruno@clisp.org>
43284
43285         Avoid warning despite dropping the return value of fwrite.
43286         * lib/unicodeio.c: Include ignore-value.h.
43287         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43288         * modules/unicodeio (Depends-on): Add ignore-value.
43289
43290 2009-10-26  Eric Blake  <ebb9@byu.net>
43291
43292         areadlinkat: fix fallback path
43293         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43294         pointer and zero.
43295
43296 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43297
43298         Use a better IO block size for modern systems
43299         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43300         * lib/md2.c: Likewise.
43301         * lib/md4.c: Likewise.
43302         * lib/md5.c: Likewise.
43303         * lib/sha1.c: Likewise.
43304         * lib/sha256.c: Likewise.
43305         * lib/sha512.c: Likewise.
43306
43307 2009-10-22  Eric Blake  <ebb9@byu.net>
43308
43309         tests: avoid several compiler warnings
43310         * tests/test-getcwd.c (main): Avoid buffer underflow.
43311         * tests/test-getdate.c (main): String literals are not safe with
43312         putenv, so use setenv.  Declare unused argument.
43313         * modules/getdate-tests (Depends-on): Add setenv.
43314         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43315         problems with string literals in char *.
43316         * tests/test-hash.c (main): Avoid shadowing declaration.
43317         (insert_new): Treat string literals as char const *.
43318         * tests/test-getopt.h (test_getopt): Likewise.
43319         (getopt_loop): Alter types to minimize casting elsewhere.
43320         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43321         (test_getopt_long_posix): Likewise.
43322         (do_getopt_long): Add wrapper to minimize casting.
43323         * tests/test-atexit.c (clear_temp_file): Use void.
43324         * tests/test-areadlink-with-size.c (main): Declare unused
43325         arguments.
43326         * tests/test-areadlink.c (main): Likewise.
43327         * tests/test-areadlinkat-with-size.c (main): Likewise.
43328         * tests/test-areadlinkat.c (main): Likewise.
43329         * tests/test-canonicalize-lgpl.c (main): Likewise.
43330         * tests/test-canonicalize.c (main): Likewise.
43331         * tests/test-dirent-safer.c (main): Likewise.
43332         * tests/test-dirname.c (main): Likewise.
43333         * tests/test-dup2.c (main): Likewise.
43334         * tests/test-fchdir.c (main): Likewise.
43335         * tests/test-fcntl-h.c (main): Likewise.
43336         * tests/test-fcntl-safer.c (main): Likewise.
43337         * tests/test-fdopendir.c (main): Likewise.
43338         * tests/test-fdutimensat.c (main): Likewise.
43339         * tests/test-fflush.c (main): Likewise.
43340         * tests/test-filenamecat.c (main): Likewise.
43341         * tests/test-filevercmp.c (main): Likewise.
43342         * tests/test-fopen-safer.c (main): Likewise.
43343         * tests/test-fopen.c (main): Likewise.
43344         * tests/test-fpending.c (main): Likewise.
43345         * tests/test-fpurge.c (main): Likewise.
43346         * tests/test-freading.c (main): Likewise.
43347         * tests/test-fstatat.c (main): Likewise.
43348         * tests/test-fsync.c (main): Likewise.
43349         * tests/test-futimens.c (main): Likewise.
43350         * tests/test-getndelim2.c (main): Likewise.
43351         * tests/test-gettimeofday.c (main): Likewise.
43352         * tests/test-getopt.c (main): Likewise.
43353         * tests/test-i-ring.c (main): Likewise.
43354         * tests/test-inttypes.c (main): Likewise.
43355         * tests/test-link.c (main): Likewise.
43356         * tests/test-lstat.c (main): Likewise.
43357         * tests/test-math.c (main): Likewise.
43358         * tests/test-md5.c (main): Likewise.
43359         * tests/test-memchr2.c (main): Likewise.
43360         * tests/test-memrchr.c (main): Likewise.
43361         * tests/test-mkdir.c (main): Likewise.
43362         * tests/test-mkdirat.c (main): Likewise.
43363         * tests/test-mkfifoat.c (main): Likewise.
43364         * tests/test-open.c (main): Likewise.
43365         * tests/test-openat-safer.c (main): Likewise.
43366         * tests/test-openat.c (main): Likewise.
43367         * tests/test-quotearg.c (main): Likewise.
43368         * tests/test-rawmemchr.c (main): Likewise.
43369         * tests/test-readlink.c (main): Likewise.
43370         * tests/test-remove.c (main): Likewise.
43371         * tests/test-rename.c (main): Likewise.
43372         * tests/test-renameat.c (main): Likewise.
43373         * tests/test-rmdir.c (main): Likewise.
43374         * tests/test-sha1.c (main): Likewise.
43375         * tests/test-signal.c (main): Likewise.
43376         * tests/test-sigaction.c (main): Likewise.
43377         * tests/test-stat.c (main): Likewise.
43378         * tests/test-stat-time.c (main): Likewise.
43379         * tests/test-stddef.c (main): Likewise.
43380         * tests/test-stdint.c (main): Likewise.
43381         * tests/test-stdio.c (main): Likewise.
43382         * tests/test-stdlib.c (main): Likewise.
43383         * tests/test-strchrnul.c (main): Likewise.
43384         * tests/test-strerror.c (main): Likewise.
43385         * tests/test-string.c (main): Likewise.
43386         * tests/test-strtod.c (main): Likewise.
43387         * tests/test-strverscmp.c (main): Likewise.
43388         * tests/test-symlink.c (main): Likewise.
43389         * tests/test-symlinkat.c (main): Likewise.
43390         * tests/test-sys_stat.c (main): Likewise.
43391         * tests/test-sys_time.c (main): Likewise.
43392         * tests/test-time.c (main): Likewise.
43393         * tests/test-unistd.c (main): Likewise.
43394         * tests/test-unlink.c (main): Likewise.
43395         * tests/test-unlinkat.c (main): Likewise.
43396         * tests/test-utimens.c (main): Likewise.
43397         * tests/test-utimensat.c (main): Likewise.
43398         * tests/test-version-etc.c (main): Likewise.
43399         * tests/test-wchar.c (main): Likewise.
43400         * tests/test-wctype.c (main): Likewise.
43401         * tests/test-xprintf-posix.c (main): Likewise.
43402         * tests/test-posixtm.c (main): Likewise.
43403         (STREQ): Delete unused macro.
43404         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43405         shadowed variables.
43406         * tests/test-memchr.c (main): Likewise.
43407
43408 2009-10-21  Eric Blake  <ebb9@byu.net>
43409
43410         areadlinkat: avoid failure on older glibc
43411         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43412         rather than mis-comparing 0 against FUNC_RESULT of char*.
43413
43414 2009-10-21  Bruno Haible  <bruno@clisp.org>
43415
43416         * modules/stpncpy (License): Relicense under LGPLv2+.
43417         Reported by David Lutterkort <lutter@redhat.com>.
43418
43419 2009-10-20  Eric Blake  <ebb9@byu.net>
43420
43421         utimensat: work around Solaris 9 bug
43422         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43423         has trailing slash bugs.
43424         * tests/test-lutimens.h (test_lutimens): Enhance test.
43425         * tests/test-utimens.h (test_utimens): Likewise.
43426         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43427         * doc/posix-functions/utimes.texi (utimes): Likewise.
43428         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43429         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43430         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43431         * doc/posix-functions/futimens.texi (futimens): Likewise.
43432
43433         fdutimensat: new module
43434         * modules/fdutimensat: New file.
43435         * lib/fdutimensat.c (fdutimensat): Likewise.
43436         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43437         * MODULES.html.sh (File system functions): Mention module.
43438         * modules/fdutimensat-tests: New test.
43439         * tests/test-fdutimensat.c: Likewise.
43440
43441         doc: regenerate INSTALL
43442         * doc/INSTALL: Reflect recent autoconf update.
43443         * doc/INSTALL.ISO: Likewise.
43444         * doc/INSTALL.UTF-8: Likewise.
43445
43446 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43447
43448         acl: warn if ACL support is not detected
43449         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43450
43451 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43452
43453         * lib/nproc.h: Add extern "C" block for C++.
43454
43455 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43456             Bruno Haible  <bruno@clisp.org>
43457
43458         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43459         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43460         * doc/posix-functions/isalpha.texi: Likewise.
43461         * doc/posix-functions/isblank.texi: Likewise.
43462         * doc/posix-functions/iscntrl.texi: Likewise.
43463         * doc/posix-functions/isdigit.texi: Likewise.
43464         * doc/posix-functions/isgraph.texi: Likewise.
43465         * doc/posix-functions/islower.texi: Likewise.
43466         * doc/posix-functions/isprint.texi: Likewise.
43467         * doc/posix-functions/ispunct.texi: Likewise.
43468         * doc/posix-functions/isspace.texi: Likewise.
43469         * doc/posix-functions/isupper.texi: Likewise.
43470         * doc/posix-functions/isxdigit.texi: Likewise.
43471
43472 2009-10-18  Bruno Haible  <bruno@clisp.org>
43473
43474         Tests for module 'isblank'.
43475         * modules/isblank-tests: New file.
43476         * tests/test-isblank.c: New file.
43477
43478         New module 'isblank'.
43479         * lib/isblank.c: New file.
43480         * m4/isblank.m4: New file.
43481         * modules/isblank: New file.
43482         * doc/posix-functions/isblank.texi: Mention the new module.
43483
43484 2009-10-18  Bruno Haible  <bruno@clisp.org>
43485
43486         New module 'ctype'.
43487         * lib/ctype.in.h: New file.
43488         * m4/ctype.m4: New file.
43489         * modules/ctype: New file.
43490         * doc/posix-headers/ctype.texi: Mention the new module.
43491
43492 2009-10-18  Jim Meyering  <meyering@redhat.com>
43493
43494         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43495         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43496         right after its initialization, rather than farther down.
43497         Keeping these in close proximity makes it easier to ensure
43498         that each such variable is initialized.  E.g.,
43499
43500             LIB_CLOCK_GETTIME=
43501             AC_SUBST([LIB_CLOCK_GETTIME])
43502
43503         This change also increments these serial numbers.
43504         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43505         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43507
43508 2009-10-18  Bruno Haible  <bruno@clisp.org>
43509
43510         Don't let environment variables perturb build.
43511         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43512         (gl_PREREQ_GETHRXTIME): ... not here.
43513
43514 2009-10-18  Bruno Haible  <bruno@clisp.org>
43515
43516         Avoid symlink attack in localcharset module.
43517         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43518         (O_NOFOLLOW): Define fallback.
43519         (get_charset_aliases): Don't open the file if it is a symbolic link.
43520         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43521         gl_FCNTL_H.
43522         (gl_FCNTL_H): Require it.
43523         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43524         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43525         Reported by Fergal Glynn <fglynn@veracode.com>.
43526
43527 2009-10-18  Bruno Haible  <bruno@clisp.org>
43528
43529         Implement nproc for mingw.
43530         * lib/nproc.c: Include <windows.h>
43531         (num_processors): On native Windows platforms, try GetSystemInfo.
43532
43533 2009-10-18  Bruno Haible  <bruno@clisp.org>
43534
43535         Implement nproc for IRIX.
43536         * lib/nproc.c: Include <sys/sysmp.h>.
43537         (num_processors): On IRIX systems, try sysmp.
43538         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43539
43540 2009-10-18  Bruno Haible  <bruno@clisp.org>
43541
43542         Implement nproc for HP-UX.
43543         * lib/nproc.c: Include <sys/pstat.h>
43544         (num_processors): On HP-UX systems, try pstat_getdynamic.
43545         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43546         pstat_getdynamic.
43547
43548 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43549             Bruno Haible  <bruno@clisp.org>
43550
43551         Implement nproc for NetBSD, OpenBSD.
43552         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43553         (ARRAY_SIZE): New macro.
43554         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43555         * m4/nproc.m4: New file.
43556         * modules/nproc (Files): Add m4/nproc.m4.
43557         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43558         (Makefile.am): Instead, augment lib_SOURCES.
43559
43560 2009-10-18  Bruno Haible  <bruno@clisp.org>
43561
43562         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43563         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43564         sys/param.h.
43565
43566 2009-10-16  Eric Blake  <ebb9@byu.net>
43567
43568         utimensat: new module
43569         * modules/utimensat: New file.
43570         * lib/utimensat.c (utimensat): Likewise.
43571         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43572         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43573         so we can work around Linux bugs.
43574         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43575         * modules/sys_stat (Makefile.am): Substitute them.
43576         * lib/sys_stat.in.h (utimensat): Declare it.
43577         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43578         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43579         * modules/utimensat-tests: New test.
43580         * tests/test-utimensat.c: Likewise.
43581
43582         utimens: let lutimens work on non-symlinks
43583         * lib/utimens.c (lutimens): Fall back to utimens rather than
43584         failing with ENOSYS, when file is not a symlink.
43585         (utimens): Reduce redirection.
43586         * tests/test-lutimens.h (test_lutimens): Update test to cover
43587         non-symlinks.
43588         * tests/test-utimens.h (test_utimens): Update test to cover
43589         symlinks.
43590         * tests/test-utimens.c (main): Update caller.
43591
43592         utimens: cache whether utimensat syscall works
43593         * lib/utimens.c (utimensat_works_really): New cache variable.
43594         (fdutimens, lutimens): Use it to avoid failing syscall.
43595
43596         test-stat-time, test-utimens: improve portability
43597         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43598         ext4 on alpha, and for cygwin.
43599         * tests/test-utimens-common.h: New file.
43600         (nap): Factor delays into single function.
43601         * tests/test-lutimens.h (test_lutimens): Use new header.
43602         * tests/test-futimens.h (test_futimens): Likewise.
43603         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43604         timestamps to occur from same machine, as was done previously for
43605         test_utimens.
43606         * modules/utimens-tests (Files): Ship new file.
43607         * modules/futimens-tests (Files): Likewise.
43608         Reported in part by Jim Meyering.
43609
43610         sys_stat: sort replacement declarations
43611         * lib/sys_stat.in.h: Sort declarations.
43612         * lib/futimens.c (futimens): Fix typo.
43613
43614 2009-10-15  Jim Meyering  <meyering@redhat.com>
43615
43616         don't let environment settings perturb build
43617         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43618         could cause a configure-time and/or build-time malfunction.
43619         Typically, a configure-time function-in-library test is performed
43620         via code like this:
43621
43622           LIB_VAR=
43623           AC_SUBST([LIB_VAR])
43624           prefix_saved_LIBS=$LIBS
43625             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43626                        [test "$ac_cv_search_FUNC" = "none required" ||
43627                         LIB_VAR=$ac_cv_search_FUNC])
43628           LIBS=$prefix_saved_LIBS
43629
43630         However, in each of the files affected by this change, the LIB_VAR=
43631         initialization was omitted.  Thus, when set in the environment, its
43632         value would propagate into generated Makefiles when FUNC is not found
43633         in LIB_NAME.
43634         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43635         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43637
43638 2009-10-14  Eric Blake  <ebb9@byu.net>
43639
43640         fchdir: avoid infinite recursion in mingw
43641         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43642         recursing.
43643
43644         test-stat-time: port to mingw
43645         * tests/test-stat-time.c (force_unlink): Return a value.
43646         (test_ctime) [W32]: Fix compilation error.
43647         (nap): Don't call usleep with too large an argument.  Use
43648         force_unlink.
43649         * doc/pastposix-functions/usleep.texi (usleep): Document the
43650         portability issue.
43651
43652 2009-10-13  Jim Meyering  <meyering@redhat.com>
43653
43654         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43655         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43656         * modules/pipe-filter-ii: Likewise.
43657         * modules/sys_socket-tests: Likewise.
43658         * modules/tsearch-tests: Likewise.
43659         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43660         (check): Depend on it.
43661
43662 2009-10-12  Eric Blake  <ebb9@byu.net>
43663
43664         utimens-tests: port to NFS file systems
43665         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43666         comparisons to avoid spurious failures from timestamp drift
43667         between NFS machines.
43668
43669 2009-10-12  Eric Blake  <ebb9@byu.net>
43670
43671         stat-time-tests: minor cleanups
43672         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43673         * tests/test-stat-time.c (nap): Separate assignment from call.
43674         Suggested by Paolo Bonzini and Bruno Haible.
43675
43676         sys_stat: guarantee struct timespec
43677         * lib/sys_stat.in.h (includes): Always include <time.h>
43678         * modules/sys_stat (Depends-on): Add time.
43679         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43680         mode_t permission values.
43681         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43682         get at subsecond timestamps.
43683
43684 2009-10-10  Eric Blake  <ebb9@byu.net>
43685
43686         futimens: new module
43687         * modules/futimens: New file.
43688         * lib/futimens.c (futimens): Likewise.
43689         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43690         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43691         we can work around Linux bugs.
43692         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43693         * modules/sys_stat (Makefile.am): Substitute them.
43694         * lib/sys_stat.in.h (futimens): Declare it.
43695         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43696         * doc/posix-functions/futimens.texi (futimens): Likewise.
43697         * modules/futimens-tests: New test.
43698         * tests/test-futimens.c: Likewise.
43699
43700         utimens: introduce fdutimens
43701         * lib/utimens.h (fdutimens): New prototype.
43702         * lib/utimens.c (gl_futimens): Move guts...
43703         (fdutimens): ...to new interface.
43704         * tests/test-utimens.c (do_fdutimens): Use it.
43705
43706         utimens: add UTIME_NOW and UTIME_OMIT support
43707         * lib/utimens.c (validate_timespec, update_timespec): New helper
43708         functions.
43709         (gl_futimens, lutimens): Use them.
43710         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43711         stdbool, sys_stat.
43712         (Link): Mention resulting library dependency.
43713         * modules/utimecmp (Link): Likewise.
43714         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43715         (Makefile.am): Pick up library dependency.
43716         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43717         definition.
43718         * tests/test-sys_stat.c: Test the definitions.
43719         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43720         * NEWS: Document library dependency.
43721
43722         utimecmp: support symlink timestamps
43723         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43724         hashing when possible.  Use pathconf when available.
43725         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43726         * modules/utimecmp (Depends-on): Add lstat.
43727
43728         utimens: add lutimens interface
43729         * lib/utimens.c (lutimens): New function.
43730         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43731         * lib/utimens.h (lutimens): Declare new interface.
43732         * tests/test-utimens.c (main): Enhance test.
43733         * tests/test-lutimens.h (test_lutimens): New file.
43734         * modules/utimens-tests (Files): Distribute it.
43735         (Depends-on): Add symlink.
43736         (configure.ac): Check for usleep.
43737
43738         utimens: validate futimens usage
43739         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43740         fewer syscalls on failure later on.  Avoid compiler warning on
43741         mingw.
43742         * modules/utimens (Depends-on): Add dup2.
43743
43744         utimens: add test
43745         * modules/utimens-tests: New test.
43746         * tests/test-utimens.h: New file.
43747         * tests/test-futimens.h: Likewise.
43748         * tests/test-utimens.c: Likewise.
43749
43750         doc: mention timestamp portability issues
43751         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43752         instead.
43753         * doc/posix-functions/utime.texi (utime): Likewise.
43754         * doc/posix-functions/utimes.texi (utimes): Likewise.
43755         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43756         instead.
43757         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43758         module.
43759         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43760         Mention weakness with symlink timestamps.
43761         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43762         to utimensat/futimens instead.
43763         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43764
43765         test-dup2: enhance test
43766         * tests/test-dup2.c (main): Also check AT_FDCWD.
43767
43768         test-stat-time: avoid more spurious failures
43769         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
43770         xfs; and avoid race if the two timestamps cross quantization edge.
43771
43772         relocatable: prefer 'file system' over 'filesystem'
43773         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
43774         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
43775         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
43776         * doc/relocatable.texi (Enabling Relocatability): Likewise.
43777         * lib/relocatable.c (compute_curr_prefix): Likewise.
43778
43779 2009-10-10  Jim Meyering  <meyering@redhat.com>
43780
43781         stat-time-tests: check for the usleep function
43782         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
43783
43784 2009-10-10  Bruno Haible  <bruno@clisp.org>
43785
43786         * modules/xnanosleep: Put the Link section after the Include section.
43787
43788 2009-10-09  Eric Blake  <ebb9@byu.net>
43789
43790         dup2: work around FreeBSD 6.1 bug
43791         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
43792         * doc/posix-functions/dup2.texi (dup2): Document it.
43793         Reported by Nelson H. F. Beebe and Jim Meyering.
43794
43795         test-stat-time: port to buggy NFS clients
43796         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
43797         (test_ctime): Also skip test if mtime and ctime are skewed.
43798
43799         maint: prefer 'file system' over 'filesystem'
43800         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43801         * doc/posix-functions/lstat.texi (lstat): Likewise.
43802         * lib/file-has-acl.c (file_has_acl): Likewise.
43803         * lib/fwriteerror.c [TEST]: Likewise.
43804         * tests/test-areadlink.h (test_areadlink): Likewise.
43805         * tests/test-areadlinkat-with-size.c (main): Likewise.
43806         * tests/test-areadlinkat.c (main): Likewise.
43807         * tests/test-canonicalize-lgpl.c (main): Likewise.
43808         * tests/test-canonicalize.c (main): Likewise.
43809         * tests/test-fstatat.c (main): Likewise.
43810         * tests/test-linkat.c (main): Likewise.
43811         * tests/test-lstat.h (test_lstat_func): Likewise.
43812         * tests/test-mkdir.h (test_mkdir): Likewise.
43813         * tests/test-readlink.h (test_readlink): Likewise.
43814         * tests/test-remove.c (main): Likewise.
43815         * tests/test-rename.h (test_rename): Likewise.
43816         * tests/test-renameat.c (main): Likewise.
43817         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43818         * tests/test-symlink.h (test_symlink): Likewise.
43819         * tests/test-symlinkat.c (main): Likewise.
43820         * tests/test-unlink.h (test_unlink_func): Likewise.
43821         * tests/test-unlinkat.c (main): Likewise.
43822
43823         maint: make realtime library usage explicit
43824         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
43825         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
43826         * modules/settime (Link): Likewise.
43827         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
43828
43829         test-stat-time: speed up execution
43830         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
43831         warning on mingw.
43832         (nap): New helper function.
43833         (prepare_test): Use it to reduce sleep time.
43834         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
43835         execution.
43836         * modules/stat-time-tests (configure.ac): Check for usleep.
43837
43838 2009-10-09  Jim Meyering  <meyering@redhat.com>
43839
43840         selinux-h: always use getfilecon wrappers
43841         * lib/getfilecon.c: New file.
43842         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
43843         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
43844         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
43845         (fgetfilecon): Provide a stub.
43846         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
43847         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
43848         file unconditionally.
43849         When <selinux/selinux.h> is found, arrange to use wrappers.
43850         * modules/selinux-h (Files): Add getfilecon.c.
43851         (Makefile.am): Substitute include-next-related bits
43852         into the now-always-generated selinux/selinux.h file.
43853         * doc/glibc-functions/lgetfilecon.texi: New file.
43854         * doc/glibc-functions/fgetfilecon.texi: New file.
43855         * doc/glibc-functions/getfilecon.texi: New file.
43856         * doc/glibc-functions/getfilecon-desc.texi: New file.
43857         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
43858         which to pull in the new files.
43859         * MODULES.html.sh (Misc): Add selinux-h.
43860
43861 2009-10-08  Jim Meyering  <meyering@redhat.com>
43862
43863         unistd: fix comment typo
43864         * lib/unistd.in.h (euidaccess): Fix a comment typo.
43865
43866 2009-10-08  Eric Blake  <ebb9@byu.net>
43867
43868         areadlink: use SIZE_MAX consistently
43869         * modules/areadlink (Depends-on): Add stdint.
43870         * modules/areadlink-with-size (Depends-on): Likewise.
43871         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
43872         gives NULL; drop sys/types, since unistd gives size_t; and add
43873         stdint for SIZE_MAX.
43874         (SIZE_MAX): Rely on headers.
43875         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
43876         and add stdint.
43877         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
43878         (SIZE_MAX): Likewise.
43879         (INITIAL_BUF_SIZE): Turn into enum.
43880         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
43881
43882 2009-10-08  Jim Meyering  <meyering@redhat.com>
43883
43884         areadlinkat: avoid compilation failure
43885         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
43886         Fix typo in comment.
43887
43888 2009-10-07  Eric Blake  <ebb9@byu.net>
43889
43890         areadlinkat-with-size: new module
43891         * modules/areadlinkat-with-size: New module.
43892         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
43893         * lib/areadlink.h (areadlinkat): Declare it.
43894         * MODULES.html.sh (File system functions): Mention it.
43895         * modules/areadlinkat-with-size-tests: New test.
43896         * tests/test-areadlinkat-with-size.c: New file.
43897
43898         xreadlinkat: new module
43899         * modules/xreadlinkat: New module.
43900         * lib/xreadlinkat.c (xreadlinkat): New file.
43901         * lib/xreadlink.h (xreadlinkat): Declare it.
43902         * MODULES.html.sh (File system functions): Mention it.
43903
43904         areadlinkat: new module
43905         * lib/at-func.c (FUNC_FAIL): New define.
43906         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
43907         * modules/areadlinkat: New module.
43908         * lib/linkat.c (areadlinkat): Move...
43909         * lib/areadlinkat.c (areadlinkat): ...to new file.
43910         * lib/areadlink.h (areadlinkat): Declare it.
43911         * modules/linkat (Depends-on): Add areadlinkat.
43912         * MODULES.html.sh (File system functions): Mention it.
43913         * modules/areadlinkat-tests: New test.
43914         * tests/test-areadlinkat.c: New file.
43915
43916         areadlink, areadlink-with-size: add tests
43917         * modules/areadlink-tests: New test.
43918         * modules/areadlink-with-size-tests: Likewise.
43919         * tests/test-areadlink.h: New file.
43920         * tests/test-areadlink.c: Likewise.
43921         * tests/test-areadlink-with-size.c: Likewise.
43922
43923         maint: minor cleanups
43924         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
43925         _UNUSED_PARAMETER_ instead.
43926         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
43927         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
43928         * modules/linkat-tests (Files): Distribute test-link.h.
43929
43930         openat, utimens: whitespace cleanup
43931         * lib/openat.c: Prefer space throughout, rather than mix of 8
43932         spaces vs. tabs.
43933         * lib/at-func.c: Likewise.
43934         * lib/utimens.c: Likewise.
43935
43936         openat: avoid using wrong fd
43937         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43938         working directory chooses same fd.
43939         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43940
43941         mkdir, mkdirat: fix cygwin 1.5.x bug
43942         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
43943         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
43944         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
43945         bug.
43946         (gl_PREREQ_MKDIR): Delete unused macro.
43947         * modules/mkdir (Files): Track file rename.
43948         (configure.ac): Update macro name.
43949         * modules/openat (Depends-on): Add mkdir.
43950         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
43951
43952         mkdir, mkdirat: add tests
43953         * modules/mkdir-tests: New test.
43954         * tests/test-mkdir.h: New file.
43955         * tests/test-mkdir.c: Likewise.
43956         * tests/test-mkdirat.c: Likewise.
43957         * modules/openat-tests (Files): Add new files.
43958         (Makefile.am): Run new test.
43959
43960 2009-10-06  Eric Blake  <ebb9@byu.net>
43961
43962         doc: tweak *at function documentation
43963         * doc/posix-functions/faccessat.texi (faccessat): Mention
43964         known issue with replacement.
43965         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
43966         * doc/posix-functions/linkat.texi (linkat): Likewise.
43967         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43968         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43969         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43970         * doc/posix-functions/renameat.texi (renameat): Likewise.
43971         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43972
43973         openat: fix GNU/Hurd bug in unlinkat
43974         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
43975         broken.
43976         * doc/posix-functions/unlink.texi (unlink): Document this.
43977         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
43978
43979         fdopendir: fix GNU/Hurd bug
43980         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
43981         allowing non-directory fds.
43982         * lib/fdopendir.c (rpl_fdopendir): Work around it.
43983         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
43984         * modules/dirent (Makefile.am): Substitute it.
43985         * lib/dirent.in.h (fdopendir): Declare replacement.
43986         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
43987         * tests/test-fdopendir.c (main): Test something other than
43988         /dev/null, since on Hurd that behaves like a directory.
43989
43990         test-symlink: port to GNU/Hurd
43991         * tests/test-symlink.h (test_symlink): Relax expected errno.
43992
43993         doc: tweak more cygwin information
43994         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
43995         now compatible with glibc.
43996         * doc/posix-functions/getopt.texi (getopt): Likewise.
43997
43998         getopt-gnu: add another test
43999         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44000         guarantee behavior relied on by m4.
44001         * tests/test-getopt.c (main): Use it.
44002         * modules/getopt-posix-tests (Depends-on): Add setenv.
44003         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44004
44005         getopt: fix compilation on darwin
44006         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44007         include.
44008         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44009         Reported by Ludovic Courtès.
44010
44011 2009-10-06  Bruno Haible  <bruno@clisp.org>
44012
44013         * modules/size_max (Description): Discourage its use.
44014         Reported by Simon Josefsson.
44015
44016 2009-10-06  Jim Meyering  <meyering@redhat.com>
44017
44018         linkat: avoid compilation failure
44019         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44020
44021 2009-10-05  Eric Blake  <ebb9@byu.net>
44022
44023         linkat: support Linux 2.6.17
44024         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44025         linkat on Linux, but allow cache variable override.
44026         * lib/linkat.c (rpl_linkat): Define override.
44027         * modules/linkat (Depends-on): Add symlinkat.
44028         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44029         * modules/unistd (Makefile.am): Substitute it.
44030         * lib/unistd.in.h (linkat): Declare replacement.
44031         Reported by Pádraig Brady.
44032
44033         quotearg: port test to systems with C.UTF-8 locale
44034         * tests/test-quotearg.c (struct result_strings): Add another
44035         member, differentiating between C.ASCII and C.UTF-8 handling.
44036         (compare_strings): Add parameter.
44037         (main): Adjust all callers.
44038
44039         getopt: avoid clash with FreeBSD _getopt_internal
44040         * lib/getopt.in.h (_getopt_internal): Override the name.
44041         * lib/getopt_int.h (includes): Pick up any overrides.
44042         Reported by Reuben Thomas.
44043
44044         hash: allow C89 compilation
44045         * lib/hash.c (check_tuning): Move declaration before statement.
44046         Reported by Reuben Thomas.
44047
44048 2009-10-05  Karl Berry  <karl@gnu.org>
44049
44050         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44051
44052 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44053             Bruno Haible  <bruno@clisp.org>
44054
44055         * lib/uname.c (uname): Use a table-driven algorithm to compute
44056         Windows NT versions.
44057
44058 2009-10-04  Bruno Haible  <bruno@clisp.org>
44059
44060         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44061         program_invocation_short_name.
44062         * modules/progname (configure.ac): Test for presence of
44063         program_invocation_short_name.
44064         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44065
44066 2009-10-04  Bruno Haible  <bruno@clisp.org>
44067
44068         * lib/progname.c (set_program_name): Fix comment.
44069         Reported by Jim Meyering.
44070
44071 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44072             Bruno Haible  <bruno@clisp.org>
44073
44074         * lib/uname.c: Include <string.h>.
44075         (uname): Do only one call to GetVersionEx in the common case.
44076
44077 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44078             Bruno Haible  <bruno@clisp.org>
44079
44080         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44081         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44082         (uname): Add support for Windows CE and various non-x86 CPU types.
44083
44084 2009-10-03  Bruno Haible  <bruno@clisp.org>
44085
44086         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44087         invocation to tests/configure.ac.
44088         Reported by Ian Beckwith <ianb@erislabs.net>.
44089
44090 2009-10-02  Eric Blake  <ebb9@byu.net>
44091
44092         fchdir: avoid compiler warning
44093         * lib/fchdir.c (canonicalize_file_name)
44094         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44095
44096         test-open: support mingw errno values
44097         * tests/test-open.h (test_open): Relax test.
44098         * tests/test-fopen.h (test_fopen): Likewise.
44099         * tests/test-openat-safer.c (main): Likewise.
44100
44101         open: fix opening directory on mingw
44102         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44103
44104         test-open: on GNU/Hurd, /dev/null is a directory
44105         * tests/test-fopen.h (main): Rename...
44106         (test_fopen): ...to this.  Use a guaranteed non-directory when
44107         confirming open behavior on trailing slash.
44108         * tests/test-openat-safer.c (main): Likewise.
44109         * tests/test-open.h (main): Likewise....
44110         (test_open): ...to this.
44111         * tests/test-fopen.c (main): Adjust caller.
44112         * tests/test-fopen-safer.c (main): Likewise.
44113         * tests/test-open.c (main): Likewise.
44114         * tests/test-fcntl-safer.c (main): Likewise.
44115         Reported by Samuel Thibault.
44116
44117         rename, fchdir: don't ignore chdir failure
44118         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44119         * lib/rename.c (rpl_rename) [W32]: Likewise.
44120         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44121         an empty destination directory if source cannot be renamed,
44122         although there is still possibility for failure.
44123         * doc/posix-functions/rename.texi (rename): Document the race.
44124         Reported by Jim Meyering.
44125
44126         maint: cleanup whitespace in recent commits
44127         * lib/rename.c (rpl_rename): Remove tabs.
44128         * tests/test-link.h (test_link): Likewise.
44129         * lib/fchdir.c (get_name): Likewise.
44130         Reported by Jim Meyering.
44131
44132 2009-10-02  Ben Pfaff  <blp@gnu.org>
44133
44134         relocatable-prog-wrapper: Add missing dependency on
44135         double-slash-root.
44136         * modules/relocatable-prog-wrapper: Add dependency.
44137         Reported by Ian Beckwith <ianb@erislabs.net>.
44138
44139 2009-10-02  Eric Blake  <ebb9@byu.net>
44140
44141         renameat: fix Solaris bugs
44142         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44143         needed fixing.
44144         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44145         * modules/stdio (Makefile.am): Substitute it.
44146         * lib/stdio.in.h (renameat): Declare replacement.
44147         * lib/renameat.c (rpl_renameat): Implement fix.
44148
44149         renameat: new module
44150         * modules/renameat: New file.
44151         * lib/renameat.c (renameat): Likewise.
44152         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44154         * modules/stdio (Makefile.am): Substitute them.
44155         * lib/stdio.in.h (renameat): Declare it.
44156         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44157         * doc/posix-functions/renameat.texi (renameat): Likewise.
44158         * modules/renameat-tests: New test.
44159         * tests/test-renameat.c: Likewise.
44160
44161         rename: fix mingw bugs
44162         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44163         directory overwrite bugs.
44164
44165         rename: fix another cygwin 1.5 bug
44166         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44167         checks.
44168         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44169         unnecessary cygwin workarounds.  Also work around bug with moving
44170         full directory onto an empty one.
44171         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44172
44173         rename-dest-slash: merge into rename module
44174         * modules/rename-dest-slash (Status): Mark obsolete.
44175         (Depends-on): Add rename.
44176         (Files): Let rename do it all.
44177         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44178         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44179         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44180         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44181         * lib/rename.c (rpl_rename): Update comments.
44182
44183         rename: fix cygwin 1.5.x bugs
44184         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44185         * lib/rename.c (rpl_rename): Work around them.
44186         * modules/rename (Depends-on): Add same-inode.
44187
44188         rename: fix Solaris 10 bug
44189         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44190         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44191         was the only bug.
44192
44193         rename: fix Solaris 9 bug
44194         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44195         on non-directory.  Avoid calling exit.
44196         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44197         strdup.
44198         * modules/rename-tests (Depends-on): Drop lstat.
44199         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44200         (gl_PREREQ_RENAME): Delete unused macro.
44201
44202         rename-dest-slash: fix NetBSD bug
44203         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44204         links.
44205         * modules/rename-dest-slash (Depends-on): Add same-inode.
44206
44207         rename-tests: new test, exposes several platform bugs
44208         * modules/rename-tests: New file.
44209         * tests/test-rename.h: Likewise.
44210         * tests/test-rename.c: Likewise.
44211         * doc/posix-functions/rename.texi (rename): Improve documentation,
44212         including bugs that will eventually be fixed in gnulib.
44213
44214 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44215
44216         * lib/uname.c: Include <stdlib.h>
44217         (uname): Assume version info is available.
44218
44219 2009-10-02  Jim Meyering  <meyering@redhat.com>
44220
44221         gnu-web-doc-update: correct --help output
44222         * build-aux/gnu-web-doc-update: Make --help output relevant.
44223
44224         gnu-web-doc-update: add standard options
44225         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44226
44227         gnu-web-doc-update: New module.
44228         Use this script to automatically update the on-line web documentation
44229         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44230         * modules/gnu-web-doc-update: New file, from coreutils.
44231         * build-aux/gnu-web-doc-update: New script.
44232
44233 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44234
44235         link: LoadLibrary is not needed.
44236         * lib/link.c: Use GetModuleHandle.
44237
44238 2009-10-01  Eric Blake  <ebb9@byu.net>
44239
44240         getopt: bump serial number
44241         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44242         change.
44243
44244         tests: tighten link, rmdir, and remove tests
44245         * tests/test-link.h (includes): No need to use <config.h> here.
44246         Clean up if directory hard link was created, otherwise test for
44247         trailing '.'.
44248         * tests/test-linkat.c (main): Simplify.
44249         * tests/test-remove.c (main): Enhance test for trailing '.'.
44250         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44251
44252 2009-10-01  Jim Meyering  <meyering@redhat.com>
44253
44254         maint.mk: requiring "make major" was annoying, for a "minor" release.
44255         What is intended is "stable", to contrast with alpha and beta,
44256         so require "make stable", not "make major".
44257         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44258         (get_tool_versions): Likewise.
44259         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44260
44261 2009-09-30  Ben Pfaff  <blp@gnu.org>
44262
44263         Fix broken build of replacement for Windows tmpfile().
44264         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44265         flags argument added along with the 'mkostemp' module.
44266
44267 2009-09-28  Bruno Haible  <bruno@clisp.org>
44268
44269         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44270         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44271         to 'remove_elt'.
44272         (gl_list_remove): Update.
44273         * lib/gl_list.c (gl_list_remove): Update.
44274         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44275         to 'remove_elt'.
44276         (gl_oset_remove): Update.
44277         * lib/gl_list.c (gl_oset_remove): Update.
44278         Reported by Eric Blake.
44279
44280 2009-09-28  Eric Blake  <ebb9@byu.net>
44281
44282         doc: mention yet more cygwin 1.7 status
44283         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44284         cygwin.
44285         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44286         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44287
44288         argp: fix test failure
44289         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44290         that are not upper-case.  Pass correct range to tolower.
44291
44292 2009-09-27  Jim Meyering  <meyering@redhat.com>
44293
44294         test-yesno: work around sparc-dash here-document infelicity
44295         Without this change, the literal \177 byte in a here document
44296         would make dash 0.5.5.1-3 access uninitialized memory.
44297         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44298         Instead, use a marker, "@", and filter through tr to create the desired
44299         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44300
44301 2009-09-27  Bruno Haible  <bruno@clisp.org>
44302
44303         Disable untested support for new flavours of ACLs on AIX.
44304         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44305         progress.
44306         * lib/set-mode-acl.c (qset_acl): Likewise.
44307
44308 2008-12-07  Bruno Haible  <bruno@clisp.org>
44309
44310         Add support for new flavours of ACLs on AIX. (Untested.)
44311         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44312         (file_has_acl): Add support for newer AIX.
44313         * lib/set-mode-acl.c (qset_acl): Likewise.
44314         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44315         Rainer Tammer <tammer@tammer.net>.
44316
44317 2009-09-26  Eric Blake  <ebb9@byu.net>
44318
44319         argp: fix compilation of getopt
44320         * lib/getopt.in.h (includes): Use different guard than glibc.
44321         Reported by Sergey Poznyakoff.
44322
44323         doc: mention more cygwin 1.7 status
44324         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44325         bug.
44326         * doc/posix-functions/execl.texi (execl): Likewise.
44327         * doc/posix-functions/execle.texi (execle): Likewise.
44328         * doc/posix-functions/execlp.texi (execlp): Likewise.
44329         * doc/posix-functions/execv.texi (execv): Likewise.
44330         * doc/posix-functions/execve.texi (execve): Likewise.
44331         * doc/posix-functions/execvp.texi (execvp): Likewise.
44332         * doc/glibc-functions/canonicalize_file_name.texi
44333         (canonicalize_file_name): Cygwin 1.7 now provides this.
44334         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44335         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44336         on AT_SYMLINK_NOFOLLOW.
44337
44338 2009-09-24  Eric Blake  <ebb9@byu.net>
44339
44340         test-linkat: make test more robust
44341         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44342
44343         getopt: fix inclusion guards for cygwin
44344         * modules/getopt-posix (Depends-on): Add include-next.
44345         (Makefile.am): Substitute more items in replacement header.
44346         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44347         <getopt.h>.
44348         * lib/getopt.in.h (includes): Use split inclusion guard, and
44349         prefer <getopt.h> over include <unistd.h> when one is present.
44350         (option): Also override name of 'struct option'.
44351
44352         same-inode: revert prior change; it is not yet ready
44353         * NEWS: Undo mention of this change.
44354         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44355         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44356         * lib/cycle-check.c (cycle_check): Likewise.
44357         * lib/same.c (same_name): Likewise.
44358         * lib/at-func2.c (at_func2): Likewise.
44359
44360 2009-09-23  Eric Blake  <ebb9@byu.net>
44361
44362         linkat: new module
44363         * modules/linkat: New file.
44364         * lib/at-func2.c (at_func2): Likewise.
44365         * lib/linkat.c (linkat): Likewise.
44366         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44367         * lib/openat-priv.h (at_func2): Add declaration.
44368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44369         * modules/unistd (Makefile.am): Substitute them.
44370         * lib/unistd.in.h (linkat): Declare it.
44371         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44372         * doc/posix-functions/linkat.texi (linkat): Likewise.
44373         * doc/posix-functions/link.texi (link): Tweak wording.
44374         * tests/test-link.c (main): Move guts...
44375         * tests/test-link.h (test_link): ...into new file.
44376         * modules/linkat-tests: New test.
44377         * tests/test-linkat.c: Likewise.
44378         * modules/link-tests (Files): Ship new file.
44379         (Depends-on): Add stdbool.
44380
44381         dirname: add library-safe mdir_name
44382         * lib/dirname.h (mdir_name): New prototype.
44383         * lib/dirname.c (dir_name): Move guts...
44384         (mdir_name): ...to new function that avoids xalloc_die.
44385
44386         fchdir: another mingw fix
44387         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44388         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44389         on mingw (where it has not yet been ported), and make it optional
44390         elsewhere.
44391         (_gl_register_fd): Use it.
44392
44393         same-inode: make SAME_INODE tri-state, to port to mingw
44394         * NEWS: Mention this change.
44395         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44396         st_ino always being 0.
44397         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44398         * lib/cycle-check.c (cycle_check): Likewise.
44399         * lib/same.c (same_name): Likewise.
44400
44401         lstat: avoid mingw compilation error
44402         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44403         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44404         lstat ourselves.
44405         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44406         was adequate.
44407         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44408         the checks for lstat.
44409         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44410
44411         link: fix test failure on Solaris 9
44412         * lib/link.c (rpl_link): Don't assume link will catch bogus
44413         trailing slash on source.
44414
44415         test-symlinkat: enhance test
44416         * tests/test-readlink.c (main): Move guts...
44417         * tests/test-readlink.h (test_readlink): ...into new file.
44418         * tests/test-symlink.c (main): Move guts...
44419         * tests/test-symlink.h (test_symlink): ...into new file.
44420         * tests/test-symlinkat.c (main): Use new files for further
44421         coverage.
44422         (do_symlink, do_readlink): New helper functions.
44423         * modules/symlink-tests (Files): Ship new file.
44424         (Depends-on): Add stdbool.
44425         * modules/readlink-tests (Files): Ship new file.
44426         (Depends-on): Add stdbool.
44427         * modules/symlinkat-tests (Files): Use new files.
44428
44429 2009-09-23  Eric Blake  <ebb9@byu.net>
44430
44431         readlink: document portability issue with symlink length
44432         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44433         systems have bogus st_size on symlinks, and mention the
44434         areadlink-with-size module.
44435         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44436         * doc/posix-functions/readlink.texi (readlink): Mention the
44437         areadlink module, and ERANGE failure.
44438         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44439         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44440
44441         readlink: fix Solaris 9 bug with trailing slash
44442         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44443         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44444         * doc/posix-functions/readlink.texi (readlink): Document this.
44445         * modules/readlink-tests: New test.
44446         * tests/test-readlink.c: Likewise.
44447
44448         readlink: fix cygwin 1.5.x bug with return type
44449         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44450         * lib/unistd.in.h (readlink): Use ssize_t.
44451         * lib/readlink.c (readlink): Likewise.
44452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44453         * modules/unistd (Makefile.am): Substitute it.
44454         * lib/unistd.in.h (readlink): Declare replacement.
44455         * doc/posix-functions/readlink.texi (readlink): Document this.
44456
44457         symlink: use throughout gnulib
44458         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44459         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44460         symlink is not used.
44461         * modules/symlinkat (Depends-on): Add symlink.
44462         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44463         * modules/canonicalize-tests (Depends-on): Likewise.
44464         * modules/lstat-tests (Depends-on): Likewise.
44465         * modules/openat-tests (Depends-on): Likewise.
44466         * modules/remove-tests (Depends-on): Likewise.
44467         * modules/rmdir-tests (Depends-on): Likewise.
44468         * modules/unlink-tests (Depends-on): Likewise.
44469         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44470         * tests/test-canonicalize.c (symlink): Likewise.
44471         * tests/test-fstatat.c (symlink): Likewise.
44472         * tests/test-lstat.c (symlink): Likewise.
44473         * tests/test-remove.c (symlink): Likewise.
44474         * tests/test-rmdir.c (symlink): Likewise.
44475         * tests/test-unlink.c (symlink): Likewise.
44476         * tests/test-unlinkat.c (symlink): Likewise.
44477
44478         symlink: new module, for Solaris 9 bug
44479         * modules/symlink: New file.
44480         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44481         * lib/symlink.c: Likewise.
44482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44483         * modules/unistd (Makefile.am): Substitute them.
44484         * lib/unistd.in.h (symlink): Declare replacement.
44485         * MODULES.html.sh (File system functions): Mention it.
44486         * doc/posix-functions/symlink.texi (symlink): Likewise.
44487         * modules/symlink-tests: New test.
44488         * tests/test-symlink.c: Likewise.
44489
44490 2009-09-23  Bruno Haible  <bruno@clisp.org>
44491
44492         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44493         when needed.
44494         Test case: gnulib-tool --import --with-tests atexit inttypes.
44495         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44496
44497 2009-09-23  Bruno Haible  <bruno@clisp.org>
44498
44499         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44500         subcommand, not in a subshell.
44501
44502 2009-09-22  Eric Blake  <ebb9@byu.net>
44503
44504         unistd: sort replacement declarations
44505         * lib/unistd.in.h: Sort declarations.
44506
44507         open, openat: minor optimization
44508         * lib/open.c (open): If open succeeded, len is non-zero.
44509         * lib/openat.c (rpl_openat): Likewise.
44510
44511         link-follow: ensure correct result
44512         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44513         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44514         distinguish between possible failures.
44515
44516 2009-09-21  Eric Blake  <ebb9@byu.net>
44517
44518         fts: avoid compiler warning
44519         * lib/fts.c (dirent_inode_sort_may_be_useful)
44520         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44521
44522 2009-09-19  Bruno Haible  <bruno@clisp.org>
44523
44524         * lib/progreloc.c (canonicalize_file_name): New declaration.
44525
44526 2009-09-19  Eric Blake  <ebb9@byu.net>
44527
44528         link: fix quoting
44529         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44530
44531         openat: fix openat bugs on Solaris 9
44532         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44533         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44534         * modules/openat (Depends-on): Add open.
44535         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44536         * modules/fcntl-h (Makefile.am): Substitute it.
44537         * lib/fcntl.in.h (openat): Declare replacement.
44538         * doc/posix-functions/openat.texi (openat): Document this.
44539
44540         openat: move fstatat and unlinkat into correct files
44541         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44542         compiled.
44543         * lib/openat.c (fstatat, unlinkat): Move...
44544         * lib/fstatat.c (fstatat): ...into correct files.
44545         * lib/unlinkat.c (unlinkat): Likewise.
44546
44547         openat: fix unlinkat bugs on Solaris 9
44548         * lib/unlinkat.c (unlinkat): New file.
44549         * modules/openat (Depends-on): Add unlink.
44550         (Files): Distribute it.
44551         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44552         trailing slash behavior is broken.
44553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44554         * modules/unistd (Makefile.am): Substitute it.
44555         * lib/unistd.in.h (unlinkat): Declare replacement.
44556         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44557
44558         openat: fix fstatat bugs on Solaris 9
44559         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44560         stat.
44561         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44562
44563         test-unlinkat: enhance test, to expose Solaris 9 bug
44564         * tests/test-unlink.c (main): Factor guts...
44565         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44566         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44567         * tests/test-rmdir.c (main): Adjust caller.
44568         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44569         (unlinker): New helper function.
44570         (rmdirat): Enhance check.
44571         * modules/rmdir-tests (Depends-on): Add stdbool.
44572         * modules/unlink-tests (Depends-on): Likewise.
44573         (Files): Add test-unlink.h.
44574         * modules/openat-tests (Files): Likewise.
44575         (Depends-on): Add unlinkdir.
44576
44577         test-fstatat: new test, to expose Solaris 9 bugs
44578         * tests/test-stat.c (main): Factor guts...
44579         * tests/test-stat.h (test_stat_func): ...into new file.
44580         * tests/test-lstat.c (main): Factor guts...
44581         * tests/test-lstat.h (test_lstat_func): ...into new file.
44582         * tests/test-fstatat.c: New file.
44583         * modules/stat-tests (Files): Add test-stat.h.
44584         * modules/lstat-tests (Files): Add test-lstat.h.
44585         (Depends-on): Add stdbool.
44586         * modules/openat-tests (Depends-on): Add pathmax.
44587         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44588         (Makefile.am): Run new test.
44589
44590         remove: new module, for mingw and Solaris 9 bugs
44591         * modules/remove: New file.
44592         * lib/remove.c: Likewise.
44593         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44595         * modules/stdio (Makefile.am): Use them.
44596         * lib/stdio.in.h (remove): Declare replacement.
44597         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44598         * doc/posix-functions/remove.texi (remove): Likewise.
44599         * modules/remove-tests: New test.
44600         * tests/test-remove.c: Likewise.
44601
44602         unlink: new module, for Solaris 9 bug
44603         * modules/unlink: New file.
44604         * lib/unlink.c: Likewise.
44605         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44607         * modules/unistd (Makefile.am): Use them.
44608         * lib/unistd.in.h (stat): Declare replacement.
44609         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44610         * doc/posix-functions/unlink.texi (unlink): Likewise.
44611         * modules/unlink-tests: New test.
44612         * tests/test-unlink.c: Likewise.
44613
44614         lstat: fix Solaris 9 bug
44615         * lib/lstat.c (lstat): Also check for trailing slash on
44616         non-symlink, non-directories.  Use stat module to simplify logic.
44617         * doc/posix-functions/lstat.texi (lstat): Document it.
44618         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44619         (configure.ac): Check for symlink.
44620         * tests/test-lstat.c (main): Add more tests.
44621
44622         stat: add as dependency to other modules
44623         * modules/chown (Depends-on): Add stat.
44624         * modules/euidaccess (Depends-on): Likewise.
44625         * modules/fchdir (Depends-on): Likewise.
44626         * modules/isdir (Depends-on): Likewise.
44627         * modules/link (Depends-on): Likewise.
44628         * modules/lstat (Depends-on): Likewise.
44629         * modules/mkdir-p (Depends-on): Likewise.
44630         * modules/modechange (Depends-on): Likewise.
44631         * modules/open (Depends-on): Likewise.
44632         * modules/readlink (Depends-on): Likewise.
44633         * modules/same (Depends-on): Likewise.
44634
44635         stat: fix Solaris 9 bug
44636         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44637         slash.
44638         * lib/stat.c (rpl_stat): Work around it.
44639         * doc/posix-functions/stat.texi (stat): Update documentation.
44640
44641         stat: new module, for mingw bug
44642         * modules/stat: New file.
44643         * lib/stat.c: Likewise.
44644         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44645         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44646         * modules/sys_stat (Makefile.am): Use them.
44647         * lib/sys_stat.in.h (stat): Declare replacement.
44648         * lib/openat.c (fstatat): Deal with lstat and stat being function
44649         macros.
44650         * modules/openat (Depends-on): Add inline.
44651         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44652         * doc/posix-functions/stat.texi (stat): Likewise.
44653         * modules/stat-tests: New test.
44654         * tests/test-stat.c: Likewise.
44655
44656 2009-09-19  Jim Meyering  <meyering@redhat.com>
44657
44658         syntax-check: detect unnecessary inclusion of canonicalize.h
44659         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44660
44661 2009-09-19  Eric Blake  <ebb9@byu.net>
44662
44663         canonicalize-lgpl: adjust clients to use correct header
44664         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44665         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44666         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44667         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44668         * lib/progreloc.c (includes): Likewise.
44669
44670 2009-09-19  Jim Meyering  <meyering@redhat.com>
44671
44672         test-posixtm.c: correct a comment
44673         * tests/test-posixtm.c: Correct first-line comment.
44674         Spotted by Eric Blake.
44675
44676 2009-09-16  Jim Meyering  <meyering@redhat.com>
44677
44678         posixtm-tests: make T const-correct; add a test case
44679         * tests/test-posixtm.c (T): Declare const.
44680         Add a test for -(2^31+1).
44681         Remove useless can-succeed-only-in-2002 test.
44682
44683         posixtm-tests: adjust the sole failing test
44684         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44685         expected output matches what mktime now produces.  Cross-checked via
44686         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44687
44688         posixtm: move #ifdef'd tests into a new module
44689         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44690         * tests/test-posixtm.c: ... this new file.
44691         * modules/posixtm-tests: New module.
44692
44693 2009-09-19  Eric Blake  <ebb9@byu.net>
44694
44695         openat: simplify use of at-func.c
44696         * lib/at-func.c (includes): Include prerequisites here, to
44697         simplify requirements on client files.
44698         * lib/openat-priv.h: Add double-inclusion guard.
44699         * lib/faccessat.c (includes): Simplify.
44700         * lib/fchmodat.c (includes): Likewise.
44701         * lib/fchownat.c (includes): Likewise.
44702         * lib/mkdirat.c (includes): Likewise.
44703         * lib/mkfifoat.c (includes): Likewise.
44704         * lib/symlinkat.c (includes): Likewise.
44705
44706         openat: allow return of fd 0
44707         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44708         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44709         unistd-safer.
44710         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44711         <fcntl.h>; this module does not leak fds.
44712         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44713         must be allowed to return 0, leaving openat_safer to add the
44714         safety.
44715         (openat_permissive): Avoid writing to just-opened fd 2 if
44716         restoring the current directory fails.
44717         * lib/openat-die.c (openat_restore_fail): Add comment.
44718         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44719         (save_cwd): Guarantee safe fd, but without use of open_safer.
44720         * tests/test-openat.c: New test.
44721         * modules/openat-tests (Files, Makefile.am): Distribute and build
44722         new file.
44723
44724         relocatable-prog-wrapper: fix build
44725         * modules/relocatable-prog-wrapper (Files): Update name of
44726         canonicalize m4 file, broken on 2009-09-17.
44727         Reported by emad hajjar <aleppos@hotmail.com>.
44728
44729 2009-09-19  Bruno Haible  <bruno@clisp.org>
44730
44731         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44732         * lib/safe-alloc.c: Likewise.
44733         Reported by Ian Beckwith <ianb@erislabs.net>.
44734
44735 2009-09-18  Bruno Haible  <bruno@clisp.org>
44736
44737         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44738         Reported by <erobles@sensacd.com.mx>.
44739
44740 2009-09-17  Eric Blake  <ebb9@byu.net>
44741
44742         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44743         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44744         slashes when checking if last component is missing.
44745         * tests/test-canonicalize.c (main): Test this.
44746
44747         canonicalize, canonicalize-lgpl: honor // if distinct from /
44748         * modules/canonicalize (Files): Add double-slash-root.m4.
44749         * modules/canonicalize-lgpl (Files): Likewise.
44750         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44751         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44752         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44753         fallback definition.
44754         (canonicalize_filename_mode): Use it to protect //.
44755         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44756         (__realpath): Likewise.
44757         * tests/test-canonicalize.c (main): Test this.
44758         * tests/test-canonicalize-lgpl.c (main): Likewise.
44759         * modules/canonicalize-tests (Depends-on): Add same-inode.
44760         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44761
44762         canonicalize-lgpl: fix glibc bug with trailing slash
44763         * m4/canonicalize-lgpl.m4: Move contents...
44764         * m4/canonicalize.m4: ...here.
44765         (gl_CANONICALIZE_LGPL): Factor realpath check...
44766         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
44767         glibc 2.3.5 bug, fixed 2005-04-27.
44768         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
44769         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
44770         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
44771         * modules/canonicalize-lgpl (Files): Manage file rename.
44772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44773         * modules/stdlib (Makefile.am): Substitute witness.
44774         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
44775         is needed.
44776         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
44777         replacement is required.
44778         * lib/canonicalize.c (canonicalize_file_name): Likewise.
44779         * doc/glibc-functions/canonicalize_file_name.texi
44780         (canonicalize_file_name): Document this.
44781         * doc/posix-functions/realpath.texi (realpath): Likewise.
44782
44783         canonicalize-lgpl: reject non-directory with trailing slash
44784         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
44785         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
44786         catches failures in glibc 2.3.5.
44787         * tests/test-canonicalize.c (main): Likewise.
44788
44789         canonicalize-lgpl: use native realpath if it works
44790         * lib/canonicalize-lgpl.c (realpath): Guard with
44791         FUNC_REALPATH_WORKS.
44792         * lib/stdlib.in.h (realpath): Make declaration optional based on
44793         HAVE_REALPATH.
44794         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
44795         native realpath works.
44796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44797         * modules/stdlib (Makefile.am): Substitute witness.
44798
44799         canonicalize, canonicalize-lgpl: use <stdlib.h>
44800         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
44801         (Include): Mention <stdlib.h>.
44802         (configure.ac): Mention functions we provide.
44803         * modules/canonicalize (configure.ac): Likewise.
44804         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
44805         realpath if canonicalize_file_name is missing.
44806         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
44807         * modules/stdlib (Makefile.am): Substitute witnesses.
44808         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
44809         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
44810         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
44811         * NEWS: Document this.
44812         * doc/glibc-functions/canonicalize_file_name.texi
44813         (canonicalize_file_name): Likewise.
44814         * doc/posix-functions/realpath.texi (realpath): Likewise.
44815         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
44816
44817         test-canonicalize: consolidate into single C program
44818         * tests/test-canonicalize.sh: Delete; move setup into...
44819         * tests/test-canonicalize.c (main): ...the program, making it
44820         easier to run in debugger.  Add some tests.
44821         * modules/canonicalize-tests (Files): Remove unused file.
44822         (Depends-on): Add progname.
44823         (configure.ac, Makefile.am): Simplify.
44824
44825         test-canonicalize-lgpl: consolidate into single C program
44826         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
44827         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
44828         easier to run in debugger.  Add some tests.
44829         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
44830         (configure.ac, Makefile.am): Simplify.
44831
44832         canonicalize: avoid resolvepath
44833         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
44834         unnecessary checks.
44835         * lib/canonicalize.c (includes): Simplify.
44836         (canonicalize_file_name): Drop resolvepath implementation.
44837         * modules/canonicalize (Depends-on): Drop filenamecat.
44838
44839         canonicalize: don't lose errno
44840         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
44841         over calls to free.
44842
44843         canonicalize: simplify errno handling
44844         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
44845         assignment.
44846
44847         canonicalize, canonicalize-lgpl: update module dependencies
44848         * modules/canonicalize (Depends-on): Add extensions, lstat,
44849         pathmax, stdlib.
44850         (Files): Drop pathmax.h.
44851         (configure.ac): Adjust macro name.
44852         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
44853         lstat, stdlib, sys_stat.
44854         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
44855         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
44856         extensions.
44857         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
44858         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
44859         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
44860         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
44861         declaration, if available.
44862         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
44863         we can rely on the readlink module.
44864         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
44865         (includes): Use <unistd.h> unconditionally.
44866
44867 2009-09-17  Eric Blake  <ebb9@byu.net>
44868
44869         maint: make Include sections of modules consistent
44870         * modules/alloca: Use only header name; no need to list #include.
44871         * modules/alloca-opt: Likewise.
44872         * modules/arpa_inet: Likewise.
44873         * modules/canon-host: Likewise.
44874         * modules/configmake: Likewise.
44875         * modules/dirent: Likewise.
44876         * modules/eealloc: Likewise.
44877         * modules/environ: Likewise.
44878         * modules/fchdir: Likewise.
44879         * modules/fcntl: Likewise.
44880         * modules/fcntl-h: Likewise.
44881         * modules/gethrxtime: Likewise.
44882         * modules/gettime: Likewise.
44883         * modules/ignore-value: Likewise.
44884         * modules/inet_ntop: Likewise.
44885         * modules/inet_pton: Likewise.
44886         * modules/inttypes: Likewise.
44887         * modules/isnand-nolibm: Likewise.
44888         * modules/isnanf-nolibm: Likewise.
44889         * modules/mbchar: Likewise.
44890         * modules/mbfile: Likewise.
44891         * modules/mbiter: Likewise.
44892         * modules/mbuiter: Likewise.
44893         * modules/netdb: Likewise.
44894         * modules/netinet_in: Likewise.
44895         * modules/nproc: Likewise.
44896         * modules/pagealign_alloc: Likewise.
44897         * modules/poll: Likewise.
44898         * modules/printf-frexp: Likewise.
44899         * modules/pthread: Likewise.
44900         * modules/putenv: Likewise.
44901         * modules/random_r: Likewise.
44902         * modules/relocatable-prog: Likewise.
44903         * modules/search: Likewise.
44904         * modules/select: Likewise.
44905         * modules/selinux-h: Likewise.
44906         * modules/settime: Likewise.
44907         * modules/signal: Likewise.
44908         * modules/size_max: Likewise.
44909         * modules/socklen: Likewise.
44910         * modules/ssize_t: Likewise.
44911         * modules/stdarg: Likewise.
44912         * modules/stdbool: Likewise.
44913         * modules/stddef: Likewise.
44914         * modules/stdint: Likewise.
44915         * modules/stdio: Likewise.
44916         * modules/stdlib: Likewise.
44917         * modules/string: Likewise.
44918         * modules/strings: Likewise.
44919         * modules/sys_file: Likewise.
44920         * modules/sys_ioctl: Likewise.
44921         * modules/sys_select: Likewise.
44922         * modules/sys_socket: Likewise.
44923         * modules/sys_stat: Likewise.
44924         * modules/sys_time: Likewise.
44925         * modules/sys_times: Likewise.
44926         * modules/sys_utsname: Likewise.
44927         * modules/sys_wait: Likewise.
44928         * modules/sysexits: Likewise.
44929         * modules/time: Likewise.
44930         * modules/times: Likewise.
44931         * modules/tmpfile: Likewise.
44932         * modules/trim: Likewise.
44933         * modules/unistd: Likewise.
44934         * modules/wchar: Likewise.
44935         * modules/wctype: Likewise.
44936
44937 2009-09-17  Bruno Haible  <bruno@clisp.org>
44938
44939         Make getdate.y compile on QNX and NetBSD 5 / i386.
44940         * m4/getdate.m4 (gl_GETDATE): Conditionally define
44941         TIME_T_FITS_IN_LONG_INT.
44942         * lib/getdate.y (long_time_t): New type.
44943         (relative_time): Change type of 'seconds' field to long_time_t.
44944         (get_date): Update types of local variables. Check against overflow
44945         during conversion from long_time_t to time_t.
44946         Reported by Matt Kraai <kraai@ftbfs.org>
44947         and Hasso Tepper <hasso@netbsd.org>.
44948
44949 2009-09-17  Bruno Haible  <bruno@clisp.org>
44950
44951         * modules/COPYING: Update copyright years.
44952         * modules/README: Likeiwse.
44953         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
44954         Reported by Ian Beckwith <ianb@erislabs.net>.
44955
44956 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44957
44958         * users.txt: Update references for gnuit package.
44959
44960 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44961
44962         * m4/getdelim.m4: Fix typo in copyright line.
44963
44964 2009-09-17  Bruno Haible  <bruno@clisp.org>
44965
44966         * lib/atoll.c: Use the standard header with GPL copyright.
44967         * lib/argz.in.h: Likewise.
44968         * lib/glob.c: Likewise.
44969         * lib/glob-libc.h: Likewise.
44970         * lib/random_r.c: Likewise.
44971         * lib/siglist.h: Likewise.
44972         * lib/strsignal.c: Likewise.
44973         Reported by Ian Beckwith <ianb@erislabs.net>.
44974
44975 2009-09-17  Eric Blake  <ebb9@byu.net>
44976
44977         rmdir: ensure correct dependency order
44978         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
44979
44980 2009-09-17  Bruno Haible  <bruno@clisp.org>
44981
44982         Disable assertion that fails on NetBSD 5 / i386.
44983         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
44984         Reported by Sam Steingold <sds@gnu.org>
44985         and Hasso Tepper <hasso@netbsd.org>.
44986
44987 2009-09-16  Eric Blake  <ebb9@byu.net>
44988
44989         unlinkdir: port to mingw
44990         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
44991         on which no one can unlink a directory.
44992
44993         stdlib: sort witness names
44994         * modules/stdlib (Makefile.am): Sort replacements.
44995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44996         * lib/stdlib.in.h: Likewise.
44997
44998         parse-duration-tests: avoid link failure
44999         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45000         LIBINTL.
45001         Reported by Tom G. Christensen.
45002
45003         openat-tests: ensure unlinkat behaves like rmdir
45004         * tests/test-rmdir.c (main): Factor guts...
45005         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45006         * modules/rmdir-tests (Files): Ship new file.
45007         * modules/openat-tests: New test.
45008         * tests/test-unlinkat.c: Likewise.
45009
45010         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45011         * modules/rmdir-errno (Status, Notice): Now obsolete.
45012
45013         rmdir: work around cygwin 1.5.x and mingw bugs
45014         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45015         * lib/rmdir.c (rmdir): Work around it.
45016         * modules/rmdir (Status, Notice): No longer obsolete.
45017         (Files): Add dos.m4.
45018         (Depends-on): Add unistd.
45019         (configure.ac): Set witnesses.
45020         (License): Relax to LGPLv2+.
45021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45022         * modules/unistd (Makefile.am): Substitute witnesses.
45023         * lib/unistd.in.h (rmdir): Declare replacement.
45024         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45025         * modules/rmdir-tests: New tests.
45026         * tests/test-rmdir.c: Likewise.
45027
45028 2009-09-15  Eric Blake  <ebb9@byu.net>
45029
45030         fchdir: improve use of replacement functions
45031         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45032         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45033         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45034         REPLACE_CLOSEDIR.
45035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45036         * modules/sys_stat (Makefile.am): Substitute correct witness.
45037         * modules/dirent (Makefile.am): Likewise.
45038         * modules/unistd (Makefile.am): Likewise.
45039         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45040         * lib/unistd.in.h (dup): Likewise.
45041         * lib/sys_stat.in.h (fstat): Likewise.
45042
45043         maint: ignore gnulib-tool temp files
45044         * .gitignore: Ignore files created during gnulib-tool --test.
45045
45046 2009-09-13  Jim Meyering  <meyering@redhat.com>
45047
45048         posixtm: don't reject a time that specify "60" as the number of seconds
45049         * lib/posixtm.c (posixtime): The code to reject invalid dates
45050         would also reject a time specified with the .60 suffix.
45051         But POSIX allows that, in order to accommodate leap seconds.
45052         So don't reject it.
45053         (main): Adjust tests accordingly.
45054         * modules/posixtm (Depends-on): Add stpcpy.
45055
45056 2009-09-11  Jim Meyering  <meyering@redhat.com>
45057
45058         announce-gen: include [$release_type] in emitted Subject:
45059         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45060         e.g., [stable] in the emitted Subject: line.
45061
45062 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45063
45064         Remove obsolete macros from several modules.
45065         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45066         obsolete Autoconf macros with their modern counterparts.
45067         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45068         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45069         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45070         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45071         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45072         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45073         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45074         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45075         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45076         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45077         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45078         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45079         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45080         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45081         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45082         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45083         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45084         * m4/time_r.m4 (gl_TIME_R): Likewise.
45085         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45086         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45087         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45088
45089         Fix copyright header in build-aux scripts.
45090         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45091         recommendation.
45092         * build-aux/ncftpput-ftp: Likewise.
45093         * build-aux/update-copyright: Likewise.
45094
45095 2009-09-09  Eric Blake  <ebb9@byu.net>
45096
45097         test-link: allow Linux choice of errno
45098         * tests/test-link.c (main): Relax test for alternate error.
45099
45100         strndup: fix improper m4 caching
45101         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45102         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45103         (gl_PREREQ_STRNDUP): Delete.
45104         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45105         * modules/string (Makefile.am): Substitute it.
45106         * lib/string.in.h (strndup): Modernize prototype.
45107
45108         getcwd: port to mingw
45109         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45110         different from the POSIX assumptions made throughout the getcwd
45111         module; fortunately, the mingw getcwd does not need replacement.
45112         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45113         * modules/getcwd-tests: New test.
45114         * tests/test-getcwd.c: Likewise.
45115
45116         link: fix platform bugs
45117         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45118         * lib/link.c (link): Work around them.  Fix related mingw bug.
45119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45120         * modules/unistd (Makefile.am): Substitute it.
45121         * lib/unistd.in.h (link): Declare replacement.
45122         * doc/posix-functions/link.texi (link): Document this.
45123         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45124
45125         test-link: consolidate into single C program, test more cases
45126         * tests/test-link.sh: Delete.
45127         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45128         at least Cygwin and Solaris.
45129         * modules/link-tests (Files): Remove unused file.
45130         (Depends-on): Add errno, sys_stat.
45131         (Makefile.am): Simplify.
45132
45133 2009-09-08  Bruno Haible  <bruno@clisp.org>
45134
45135         Work around towlower, towupper bug on mingw.
45136         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45137         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45138         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45139         * doc/posix-functions/towupper.texi: Likewise.
45140         Reported by Eric Blake.
45141
45142 2009-09-08  Jim Meyering  <meyering@redhat.com>
45143
45144         build: don't try to run autoheader if we don't use it
45145         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45146         is not used in configure.ac.
45147
45148 2009-09-08  Eric Blake  <ebb9@byu.net>
45149
45150         euidaccess: fix compilation error
45151         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45152
45153         rawmemchr: relax license
45154         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45155         okay.
45156         Reported by Jim Meyering.
45157
45158         mkfifoat: new module
45159         * modules/mkfifoat: New file.
45160         * lib/mkfifoat.c: Likewise.
45161         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45162         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45163         * modules/sys_stat (Makefile.am): Use them.
45164         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45165         * MODULES.html.sh (File system functions): Mention module.
45166         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45167         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45168         * modules/mkfifoat-tests: New test.
45169         * tests/test-mkfifoat.c: Likewise.
45170
45171         strchrnul: relax license
45172         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45173         okay.
45174         Reported by Jim Meyering.
45175
45176 2009-09-08  Eric Blake  <ebb9@byu.net>
45177
45178         fstatat: fix compilation on Solaris
45179         * lib/fstatat.c (includes): Add fcntl.h.
45180         Reported by Pádraig Brady.
45181
45182 2009-09-07  Eric Blake  <ebb9@byu.net>
45183
45184         rename: modernize replacement
45185         * modules/rename (Depends-on): Add stdio.
45186         (configure.ac): Declare witness.
45187         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45188         stdio take care of replacement.
45189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45190         * modules/stdio (Makefile.am): Substitute them.
45191         * lib/stdio.in.h (rename): Declare replacement.
45192         * lib/rename.c (includes): Allow cross-compilation to non-windows
45193         machines.
45194         * doc/posix-functions/rename.texi (rename): Improve
45195         documentation.
45196
45197         stdio: sort witness names
45198         * modules/stdio (Makefile.am): Sort replacements.
45199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45200         * lib/stdio.in.h: Likewise.
45201
45202         getcwd: minor cleanups
45203         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45204         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45205
45206         openat: provide more convenience names
45207         * modules/faccessat (configure.ac): Add C witness.
45208         * lib/unistd.in.h (readlinkat): Fix typo.
45209         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45210         convenience wrappers.
45211         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45212         wrappers in syntax checks.
45213
45214 2009-09-06  Eric Blake  <ebb9@byu.net>
45215
45216         doc: fix comments in recent patches
45217         * lib/faccessat.c: Mention correct function.
45218         * lib/fchmodat.c: Likewise.
45219         * lib/fchownat.c: Likewise.
45220         * lib/symlinkat.c: Likewise.
45221         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45222         constants.
45223
45224         faccessat, symlinkat: continue cleanup of previous patch
45225         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45226         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45227         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45229         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45230         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45231         set.
45232
45233 2009-09-06  Bruno Haible  <bruno@clisp.org>
45234
45235         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45236         (fstatat): Declare if GNULIB_FSTATAT is set.
45237         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45238         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45239         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45240         * modules/fcntl-h (Files): Remove m4/openat.m4.
45241         * modules/sys_stat (Files): Remove m4/openat.m4.
45242         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45243         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45244         * modules/unistd (Files): Remove m4/openat.m4.
45245         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45246         GNULIB_OPENAT.
45247         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45248         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45249         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45250         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45251         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45252         gl_OPENAT_DEFAULTS.
45253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45254         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45255         Don't require gl_OPENAT_DEFAULTS.
45256         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45257         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45258         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45259         (gl_OPENAT_DEFAULTS): Remove macro.
45260
45261 2009-09-06  Bruno Haible  <bruno@clisp.org>
45262
45263         * modules/openat (configure.ac): Remove unneeded witness.
45264
45265 2009-09-06  Bruno Haible  <bruno@clisp.org>
45266
45267         Set errno to ENOSYS when a function is entirely unsupported.
45268         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45269         EOPNOTSUPP.
45270         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45271         * modules/chown (Depends-on): Remove errno.
45272
45273 2009-09-06  Bruno Haible  <bruno@clisp.org>
45274
45275         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45276
45277 2009-09-06  Bruno Haible  <bruno@clisp.org>
45278
45279         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45280
45281 2009-09-06  Ben Pfaff  <blp@gnu.org>
45282             Bruno Haible  <bruno@clisp.org>
45283
45284         Work around a glibc bug in strtok_r.
45285         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45286         Undefine if UNDEFINE_STRTOK_R is set.
45287         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45289         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45290         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45291         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45292         UNDEFINE_STRTOK_R.
45293         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45294
45295 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45296
45297         exclude: minor fix
45298         * lib/exclude.c: Include wctype.h
45299
45300 2009-09-06  Akim Demaille  <demaille@gostai.com>
45301
45302         bootstrap: improve error message
45303         * build-aux/bootstrap (find_tool): Upon failure, report the list
45304         of candidates.
45305         Honor the initial value of the envvar.
45306
45307 2009-09-05  Eric Blake  <ebb9@byu.net>
45308
45309         symlinkat: new module
45310         * modules/symlinkat: New file.
45311         * lib/symlinkat.c: Likewise.
45312         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45314         * modules/unistd (Makefile.am): Use them.
45315         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45316         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45317         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45318         * MODULES.html.sh (File system functions): Mention module.
45319         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45320         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45321         * modules/symlinkat-tests: New test.
45322         * tests/test-symlinkat.c: Likewise.
45323
45324         test-openat-safer: add more checks
45325         * tests/test-openat-safer.c (main): Check more code paths.
45326
45327 2009-09-05  Jim Meyering  <meyering@redhat.com>
45328
45329         syntax-check: detect unnecessary inclusion of openat.h
45330         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45331
45332 2009-09-05  Bruno Haible  <bruno@clisp.org>
45333
45334         Support towlower, towupper.
45335         * doc/posix-functions/towlower.texi: Mention module wctype.
45336         * doc/posix-functions/towupper.texi: Likewise.
45337         * lib/wctype.in.h (towlower, towupper): New functions.
45338         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45339         (ASSERT): New macro.
45340         (e): New variable.
45341         (main): Test also towlower, towupper. Test WEOF argument.
45342         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45343
45344 2009-09-05  Bruno Haible  <bruno@clisp.org>
45345
45346         Fix conversion behaviour when the input is invalid.
45347         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45348         mark occurring in first pass of indirect conversion.
45349         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45350         input.
45351         Found by clang's static analyzer.
45352
45353 2009-09-05  Bruno Haible  <bruno@clisp.org>
45354
45355         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45356         where direct conversion is possible.
45357
45358 2009-09-04  Eric Blake  <ebb9@byu.net>
45359
45360         openat: fail with ENOENT on empty name
45361         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45362         buffer.
45363
45364         link-follow: fix logic bug in prior patch
45365         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45366         reversed sense of yes and no in prior patch.  Avoid confusing
45367         compilation failure with desired semantics.
45368
45369         link-follow: accommodate mingw and cross-compilation
45370         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45371         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45372         cross-compilation results to -1, to make linkat easier to
45373         implement when cross-compiling.  Trivially support mingw.
45374         * modules/link-follow (configure.ac): Call new name.
45375         * NEWS: Mention this.
45376
45377 2009-09-03  Eric Blake  <ebb9@byu.net>
45378
45379         faccessat: compile replacement
45380         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45381         needed.
45382
45383         fts: fix compilation error
45384         * lib/fts.c (includes): Re-add "openat.h", for
45385         openat_needs_fchdir.
45386
45387         faccessat: new module
45388         * modules/faccessat: New file.
45389         * lib/faccessat.c: Likewise.
45390         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45392         * modules/unistd (Makefile.am): Use it.
45393         * lib/unistd.in.h (faccessat): Declare it.
45394         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45395         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45396         * MODULES.html.sh (File system functions): Mention it.
45397         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45398         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45399
45400         euidaccess: prefer POSIX over non-standard implementation
45401         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45402         * lib/euidaccess.c (euidaccess): Use it if available.
45403
45404         openat: make template easier to use
45405         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45406         AT_FUNC_F2 to be undefined.
45407         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45408         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45409         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45410         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45411         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45412         Likewise.
45413         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45414         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45415         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45416         Likewise.
45417
45418         openat: declare in POSIX headers
45419         * NEWS: Mention this.
45420         * modules/openat (configure.ac): Declare witnesses.
45421         (Depends-on): Add fcntl-h, sys_stat, unistd.
45422         (Include): Mention correct headers.
45423         * modules/fcntl-h (Depends-on): Add link-warning.
45424         (Files): Add openat.m4.
45425         (Makefile.am): Substitute witnesses.
45426         * modules/sys_stat (Files, Makefile.am): Likewise.
45427         * modules/unistd (Files, Makefile.am): Likewise.
45428         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45429         (gl_OPENAT_DEFAULTS): New macro.
45430         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45432         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45433         (SYS_STAT_H): Remove unused variable.
45434         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45435         * lib/fcntl--.h (includes): Remove unneeded header.
45436         * lib/openat-safer.c (includes): Likewise.
45437         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45438         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45439         appropriate headers.
45440         (__OPENAT_PREFIX): Delete.
45441         * lib/fcntl.in.h (openat): Provide declaration.
45442         (AT_FDCWD): Fix Solaris bug.
45443         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45444         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45445         * lib/fchmodat.c (includes):  Adjust to find declaration.
45446         * lib/fchownat.c (includes): Likewise.
45447         * lib/mkdirat.c (includes): Likewise.
45448         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45449         still visible.
45450
45451 2009-09-02  Eric Blake  <ebb9@byu.net>
45452
45453         errno: use consistently
45454         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45455         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45456         * lib/canonicalize.c (ELOOP): Likewise.
45457         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45458         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45459         * lib/lchown.c (EOPNOTSUPP): Likewise.
45460         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45461         * lib/savewd.c (ESTALE): Likewise.
45462         * lib/settime.c (ENOSYS): Likewise.
45463         * lib/utimens.c (ENOSYS): Likewise.
45464         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45465         * lib/chdir-safer.c (ELOOP): Likewise.
45466         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45467         * modules/c-stack (Depends-on): Add errno.
45468         * modules/canonicalize (Depends-on): Likewise.
45469         * modules/chdir-safer (Depends-on): Likewise.
45470         * modules/fdopendir (Depends-on): Likewise.
45471         * modules/inet_ntop (Depends-on): Likewise.
45472         * modules/inet_pton (Depends-on): Likewise.
45473         * modules/lchown (Depends-on): Likewise.
45474         * modules/openat (Depends-on): Likewise.
45475         * modules/savewd (Depends-on): Likewise.
45476         * modules/settime (Depends-on): Likewise.
45477         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45478
45479         fts: avoid leaking fds
45480         * modules/fts (Depends-on): Add cloexec.
45481         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45482         flag.
45483
45484         fts: make directory fds more robust
45485         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45486         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45487
45488         backupfile, chdir-long, fts, savedir: make safer
45489         * lib/backupfile.c (includes): Use "dirent--.h", since
45490         numbered_backup can write to stderr during readdir.
45491         * lib/savedir.c (includes): Likewise.
45492         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45493         emulation can write to stderr on failure.
45494         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45495         * lib/getcwd.c: Document why opendir_safer is unused.
45496         * lib/glob.c: Likewise.
45497         * lib/scandir.c: Likewise.
45498         * lib/openat-proc.c: Likewise, for open_safer.
45499         * modules/backupfile (Depends-on): Add dirent-safer.
45500         * modules/savedir (Depends-on): Likewise.
45501         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45502         * modules/chdir-long (Depends-on): Add openat-safer.
45503
45504         openat-safer: new module
45505         * modules/openat-safer: New file.
45506         * lib/openat-safer.c: Likewise.
45507         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45508         * lib/fcntl-safer.h (openat_safer): Declare.
45509         * lib/fcntl--.h (openat): Override.
45510         * MODULES.html.sh (File descriptor based I/O): Mention it.
45511         * lib/openat.h: Add double-inclusion guards.
45512         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45513         "fcntl--.h", so we can implement openat.
45514         * modules/openat-safer-tests: New test.
45515         * tests/test-openat-safer.c: New file.
45516
45517         dirent-safer: new module
45518         * modules/dirent-safer: New file.
45519         * lib/dirent--.h: Likewise.
45520         * lib/dirent-safer.h: Likewise.
45521         * lib/opendir-safer.c: Likewise.
45522         * m4/dirent-safer.m4: Likewise.
45523         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45524         * modules/dirent-safer-tests: New test.
45525         * tests/test-dirent-safer.c: New file.
45526         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45527
45528         fdopendir: optimize on mingw
45529         * lib/unistd.in.h (_gl_directory_name): New prototype.
45530         * lib/fchdir.c (_gl_directory_name): Implement it.
45531         (fchdir): Use it to simplify implementation.
45532         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45533         fchdir, when available, to avoid calling [f]chdir().
45534
45535         fdopendir: split into its own module
45536         * lib/openat.c (fdopendir): Move...
45537         * lib/fdopendir.c: ...into new file.
45538         * modules/fdopendir: New module.
45539         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45540         * modules/openat (Depends-on): Add fdopendir.
45541         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45542         fdopendir here.
45543         * modules/savedir (Depends-on): Only need fdopendir, not full
45544         openat.
45545         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45546         * lib/openat.h (fdopendir): Drop prototype.
45547         * lib/dirent.in.h (fdopendir): Provide prototype.
45548         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45549         * modules/dirent (Makefile.am): Substitute them.
45550         * MODULES.html.sh (File system functions): Mention it.
45551         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45552         * modules/fdopendir-tests: New file.
45553         * tests/test-fdopendir.c: Likewise.
45554
45555         fchdir: use more consistent macro convention
45556         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45557         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45558         REPLACE_FCHDIR, rather than relying on config.h macros.
45559         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45560         inside a single make-time REPLACE_FCHDIR block, rather than using
45561         the config.h FCHDIR_REPLACEMENT.
45562         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45563         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45564         Manage fstat replacement.
45565         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45566         REPLACE_FCHDIR.
45567         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45568         (Makefile.am): Substitute REPLACE_FCHDIR.
45569         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45570         FCHDIR_REPLACEMENT.
45571         * lib/dup-safer.c (dup_safer): Likewise.
45572         * lib/dup2.c (rpl_dup2): Likewise.
45573         * lib/dup3.c (rpl_dup3): Likewise.
45574         * lib/open.c (rpl_open): Likewise.
45575
45576         fchdir: simplify error handling, and support dup3
45577         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45578         stdbool, malloc-posix, realloc-posix.
45579         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45580         (ensure_dirs_slot): Return false on allocation failure.
45581         (rpl_dup2): Delete.
45582         (_gl_register_dup): New function.
45583         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45584         (_gl_register_fd): Close fd on allocation failure.
45585         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45586         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45587         prototype.
45588         (rpl_dup2_fchdir): Delete prototype.
45589         * lib/open.c (open): Update caller.
45590         * lib/dup2.c (dup2): Track fchdir metadata.
45591         * lib/dup3.c (dup3): Likewise.
45592         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45594
45595 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45596
45597         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45598         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45599         don't pass arguments to AC_OUTPUT.
45600
45601 2009-09-02  Bruno Haible  <bruno@clisp.org>
45602
45603         * modules/mkdtemp (License): Relicense under LGPLv2+.
45604         Reported by Paolo Bonzini.
45605
45606 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45607
45608         Replace uses of obsolete autoconf macros in Jim's modules.
45609         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45610         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45611         can evoke a warning from autoconf when run with -Wobsolete
45612         enabled.  They were declared obsolete for good reasons (see
45613         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45614         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45615         should not continue using the deprecated macros.
45616         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45617         obsolete Autoconf macros with modern counterparts.
45618         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45619         * m4/dos.m4 (gl_AC_DOS): Likewise.
45620         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45621         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45622         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45623         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45624         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45625         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45626         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45627         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45628         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45629         Likewise.
45630         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45631         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45632         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45633         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45634         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45635         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45636
45637 2009-09-01  Eric Blake  <ebb9@byu.net>
45638
45639         fchdir: fix off-by-one bug in previous patch
45640         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45641         (_gl_unregister_fd): Delete useless if.
45642
45643 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45644
45645         maint.mk: sort the list of syntax-check rules
45646         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45647         easier to get a sense of progress when the rules are run sequentially
45648         and take a long time.
45649
45650 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45651
45652         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45653         * modules/netinet_in: Likewise.
45654         * modules/sys_file: Likewise.
45655         * modules/sys_ioctl: Likewise.
45656         * modules/sys_select: Likewise.
45657         * modules/sys_socket: Likewise.
45658         * modules/sys_stat: Likewise.
45659         * modules/sys_time: Likewise.
45660         * modules/sys_times: Likewise.
45661         * modules/sys_utsname: Likewise.
45662         * modules/sys_wait: Likewise.
45663
45664 2009-09-01  Jim Meyering  <meyering@redhat.com>
45665
45666         fts: help ensure that return values are not ignored
45667         * lib/fts_.h (__GNUC_PREREQ): Define.
45668         (__attribute_warn_unused_result__): Define.
45669         (fts_children, fts_close, fts_open, fts_read): Declare with
45670         __attribute_warn_unused_result__.
45671
45672         fts: fts_close now fails also when closing a dir file descriptor fails
45673         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45674         and propagate to caller, along with errno.
45675
45676         announce-gen: correct formatting in --help output
45677         * build-aux/announce-gen (usage): Move the one-line description in
45678         --help output "up", to where it belongs, just after Usage:.
45679
45680 2009-08-31  Eric Blake  <ebb9@byu.net>
45681
45682         fchdir: port to mingw
45683         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45684         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45685         opened, then use a substitute.
45686         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45687         replacement.
45688         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45689         (_gl_register_fd): No need to check stat if open already filters
45690         all directories.
45691         (fchdir): Fix error condition to match POSIX.
45692         * modules/fchdir (Depends-on): Add sys_stat.
45693         * doc/posix-functions/open.texi (open): Document the limitation.
45694         * modules/fchdir-tests: New file.
45695         * tests/test-fchdir.c: Likewise.
45696
45697         canonicalize: allow cross-testing from cygwin to mingw
45698         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45699         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45700         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45701         Likewise.
45702         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45703         target does not support symlinks.
45704         * tests/test-canonicalize-lgpl.sh: Likewise.
45705
45706         chown: avoid compilation warning on mingw
45707         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45708         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45709         mingw.
45710         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45711         * modules/chown (Depends-on): Add errno.
45712
45713 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45714
45715         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45716         command.
45717
45718 2009-08-31  Jim Meyering  <meyering@redhat.com>
45719
45720         canonicalize: remove useless initialization
45721         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45722         initialization of local, "end".
45723
45724 2009-08-30  Bruno Haible  <bruno@clisp.org>
45725
45726         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45727         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45728         ENOSYS.
45729
45730 2009-08-30  Bruno Haible  <bruno@clisp.org>
45731
45732         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45733         /usr/xpg4/bin/tr when it exists.
45734         * tests/test-pipe-filter-gi1.sh: Likewise.
45735
45736 2009-08-30  Bruno Haible  <bruno@clisp.org>
45737
45738         Work around deficient /usr/bin/id program on Solaris.
45739         * tests/test-file-has-acl.sh (ID): New variable.
45740         * tests/test-set-mode-acl.sh (ID): Likewise.
45741         * tests/test-copy-acl.sh (ID): Likewise.
45742         * tests/test-copy-file.sh (ID): Likewise.
45743
45744 2009-08-30  Bruno Haible  <bruno@clisp.org>
45745
45746         New module 'xstriconveh'.
45747         * lib/xstriconveh.h: New file.
45748         * lib/xstriconveh.c: New file.
45749         * modules/xstriconveh: New file.
45750
45751 2009-08-30  Bruno Haible  <bruno@clisp.org>
45752
45753         Make it easier to use mem_cd_iconveh.
45754         * lib/striconveh.h (iconveh_t): New type.
45755         (iconveh_open, iconveh_close): New declarations.
45756         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45757         with a single 'const iconveh_t *' argument.
45758         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45759         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45760         with a single 'const iconveh_t *' argument.
45761         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45762         * tests/test-striconveh.c (main): Update.
45763         * NEWS: Mention the change.
45764
45765 2009-08-30  Bruno Haible  <bruno@clisp.org>
45766
45767         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
45768         problem.
45769
45770 2009-08-30  Bruno Haible  <bruno@clisp.org>
45771
45772         Work around iconv_open problem on Solaris.
45773         * lib/iconv_open-solaris.gperf: New file.
45774         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
45775         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
45776         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
45777         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
45778         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
45779         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
45780
45781 2009-08-29  Jim Meyering  <meyering@redhat.com>
45782
45783         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
45784         * top/maint.mk (cvs-check): Remove target; it was just an alias
45785         to the better-named vc-diff-check.
45786         (maintainer-distcheck): Remove rule.  It was used only from
45787         the (alpha/beta/major) target, and all of its commands but one
45788         were coreutils-specific.
45789         (vc-dist): Remove rule.
45790         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
45791         Run vc-diff-check, not vc-dist.
45792         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
45793
45794 2009-08-27  Bruno Haible  <bruno@clisp.org>
45795
45796         * tests/test-bitrotate.c (main): Remove test that uses a shift count
45797         of 0.
45798
45799 2009-08-27  Bruno Haible  <bruno@clisp.org>
45800
45801         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
45802         compilers.
45803         * doc/func.texi: Document the SunPRO C bug.
45804
45805 2009-08-27  Bruno Haible  <bruno@clisp.org>
45806
45807         Fix link error on Solaris.
45808         * tests/test-parse-duration.c (xstrdup): Remove function.
45809
45810 2009-08-26  Pádraig Brady  <P@draigbrady.com>
45811
45812         ignore-value: handle pointer types, too
45813         * lib/ignore-value.h (__attribute__): Remove definition.
45814         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
45815         of a more concise and more-often effective "(void) i" statement.
45816         (ignore_ptr): New function to suppress warnings from functions that
45817         return pointers, and to make it explicit that one function doesn't
45818         handle all cases.
45819
45820 2009-08-25  Bruno Haible  <bruno@clisp.org>
45821
45822         dup2: work around a Linux bug.
45823         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
45824         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
45825         * doc/posix-functions/dup2.texi: Mention the Linux bug.
45826         Reported by Simon Josefsson.
45827
45828 2009-08-25  Jim Meyering  <meyering@redhat.com>
45829
45830         libguestfs uses gnulib
45831         * users.txt: Add libguestfs.
45832
45833 2009-08-24  Eric Blake  <ebb9@byu.net>
45834
45835         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
45836         * lib/pipe2.c (includes): Add binary-io.h.
45837         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
45838
45839 2009-08-24  Bruno Haible  <bruno@clisp.org>
45840
45841         Tolerate declared but missing accept4 syscall.
45842         * lib/accept4.c (accept4): Invoke original accept4 function first, if
45843         available.
45844         * lib/sys_socket.in.h (accept4): If the function is already present,
45845         override it.
45846         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
45847         * modules/accept4 (Makefile.am): Compile accept4.c always.
45848         Reported by Paolo Bonzini and Eric Blake.
45849
45850 2009-08-23  Bruno Haible  <bruno@clisp.org>
45851
45852         New module 'accept4'.
45853         * lib/sys_socket.in.h (accept4): New declaration.
45854         * lib/accept4.c: New file.
45855         * m4/accept4.m4: New file.
45856         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45857         GNULIB_ACCEPT4, HAVE_ACCEPT4.
45858         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
45859         HAVE_ACCEPT4.
45860         * modules/accept4: New file.
45861         * doc/glibc-functions/accept4.texi: Mention the new module.
45862
45863 2009-08-24  Jim Meyering  <meyering@redhat.com>
45864
45865         progname: also set global program_invocation_name, when possible
45866         Before this change, a libtool-enabled program that calls glibc's
45867         error function would report the program name as
45868         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
45869         * modules/progname (configure.ac): Check for a declaration of
45870         program_invocation_name.
45871         * lib/progname.c:  Include <errno.h>.
45872         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
45873         Set program_invocation_name.
45874
45875 2009-08-23  Bruno Haible  <bruno@clisp.org>
45876
45877         * lib/dup3.c: Include <string.h>.
45878
45879 2009-08-23  Bruno Haible  <bruno@clisp.org>
45880
45881         * lib/dup3.c (dup3): Test only once whether the system actually exists.
45882         * lib/pipe2.c (pipe2): Likewise.
45883         Suggested by Eric Blake.
45884
45885 2009-08-23  Bruno Haible  <bruno@clisp.org>
45886
45887         Tolerate declared but missing dup3 syscall.
45888         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
45889         * lib/unistd.in.h (dup3): If the function is already present,
45890         override it.
45891         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
45892         * modules/dup3 (Makefile.am): Compile dup3.c always.
45893         Reported by Paolo Bonzini.
45894
45895 2009-08-23  Bruno Haible  <bruno@clisp.org>
45896
45897         Tolerate declared but missing pipe2 syscall.
45898         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
45899         available.
45900         * lib/unistd.in.h (pipe2): If the function is already present,
45901         override it.
45902         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
45903         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
45904         Reported by Paolo Bonzini.
45905
45906 2009-08-23  Bruno Haible  <bruno@clisp.org>
45907
45908         * lib/pipe2.c (pipe2): Move #ifs inside function.
45909
45910 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45911
45912         quotearg: document limitations of quote_these_too
45913         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
45914         those limitations are created.
45915         * lib/quotearg.h (set_char_quoting): Document that digits and
45916         letters that are special after backslash are not permitted.
45917         (quotearg_char): Cross-reference set_char_quoting documentation.
45918
45919 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
45920
45921         quotearg: implement custom_quoting_style
45922         * lib/quotearg.c: (struct quoting_options): Add left_quote and
45923         right_quote fields.
45924         (set_custom_quoting): New public function.
45925         (quotearg_buffer_restyled): Add left_quote and right_quote
45926         arguments, handle them very much like locale quoting, and update
45927         all uses.
45928         (quotearg_n_custom): New public function.
45929         (quotearg_n_custom_mem): New public function.
45930         (quotearg_custom): New public function.
45931         (quotearg_custom_mem): New public function.
45932         * lib/quotearg.h: Prototype and document new public functions.
45933         (enum quoting_style): For escape_quoting_style and
45934         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45935         ignored even though they're otherwise like c_quoting_style.
45936         Add custom_quoting_style member and document with comparison to
45937         clocale_quoting_style.
45938         * tests/test-quotearg.c (custom_quotes): New array.
45939         (custom_results): New array.
45940         (main): Extend to test custom quoting.
45941
45942 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45943
45944         quotearg: fix right quote escaping when it's in quote_these_too
45945         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
45946         quote, be sure to prepend only one backslash.
45947         * tests/test-quotearg.c (use_quote_double_quotes): New function.
45948         (main): Test it.
45949
45950 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45951
45952         quotearg-tests: test escaping of embedded locale quotes
45953         * tests/test-quotearg.c (struct result_strings): Add member for
45954         new input.
45955         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
45956         (inputs): Add new input.
45957         (results_g): Add expected results.
45958         (flag_results): Likewise.
45959         (locale_results): Likewise.
45960         (compare_strings): Check those.
45961
45962 2009-08-23  Bruno Haible  <bruno@clisp.org>
45963
45964         Tests for module 'dup3'.
45965         * modules/dup3-tests: New file.
45966         * tests/test-dup3.c: New file.
45967
45968         New module 'dup3'.
45969         * lib/unistd.in.h (dup3): New declaration.
45970         * lib/dup3.c: New file.
45971         * m4/dup3.m4: New file.
45972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
45973         HAVE_DUP3.
45974         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
45975         * modules/dup3: New file.
45976         * doc/glibc-functions/dup3.texi: Mention the new module.
45977
45978 2009-08-23  Bruno Haible  <bruno@clisp.org>
45979
45980         Tweak the dup2 test.
45981         * tests/test-dup2.c (main): Create the test file empty. Verify that an
45982         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
45983         the test file is still empty. Fix argument order of lseek.
45984
45985 2009-08-23  Bruno Haible  <bruno@clisp.org>
45986
45987         Avoid test link errors when the modules getopt-gnu, gettext are used.
45988         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
45989         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45990
45991 2009-08-23  Bruno Haible  <bruno@clisp.org>
45992
45993         Fix getdtablesize() on mingw.
45994         * lib/getdtablesize.c (getdtablesize): Implement differently.
45995         * lib/unistd.in.h (getdtablesize): Improve comment.
45996
45997 2009-08-23  Bruno Haible  <bruno@clisp.org>
45998
45999         New module 'mkostemp'.
46000         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46001         * lib/stdlib.in.h (mksotemp): New declaration.
46002         * lib/mkostemp.c: New file, from glibc with modifications.
46003         * lib/tempname.h (GT_FILE): Remove outdated comment.
46004         (gen_tempname): Add flags argument.
46005         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46006         (__GT_FILE): Map to 1.
46007         (small_open, large_open): Remove macros.
46008         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46009         * lib/mkstemp.c (mkstemp): Update.
46010         * lib/mkdtemp.c (mkdtemp): Likewise.
46011         * m4/mkostemp.m4: New file.
46012         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46013         HAVE_MKOSTEMP.
46014         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46015         HAVE_MKOSTEMP.
46016         * modules/mkostemp: New file, based on modules/mkstemp.
46017         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46018         * NEWS: Mention the change.
46019
46020 2009-08-23  Bruno Haible  <bruno@clisp.org>
46021
46022         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46023         Reported by Eric Blake.
46024
46025 2009-08-23  Bruno Haible  <bruno@clisp.org>
46026
46027         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46028         Reported by Eric Blake.
46029
46030 2009-08-23  Bruno Haible  <bruno@clisp.org>
46031
46032         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46033         * modules/pipe2 (Depends-on): Likewise.
46034
46035 2009-08-23  Eric Blake  <ebb9@byu.net>
46036
46037         fcntl-h: add O_TTY_INIT support
46038         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46039         * tests/test-fcntl-h.c (o): Test it.
46040         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46041
46042         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46043         * modules/fcntl: Move <fcntl.h> header replacement...
46044         * modules/fcntl-h: ...to new name, so as not to collide with
46045         like-named function.
46046         * tests/test-fcntl.c: Rename...
46047         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46048         * modules/fcntl-tests: Rename...
46049         * modules/fcntl-h-tests: ...to this.  Update test file name.
46050         * modules/chdir-long (Depends-on): Update clients.
46051         * modules/chdir-safer (Depends-on): Likewise.
46052         * modules/fcntl-safer (Depends-on): Likewise.
46053         * modules/fts (Depends-on): Likewise.
46054         * modules/mkancesdirs (Depends-on): Likewise.
46055         * modules/mkdir-p (Depends-on): Likewise.
46056         * modules/open (Depends-on): Likewise.
46057         * modules/savewd (Depends-on): Likewise.
46058         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46059         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46060
46061 2009-08-22  Bruno Haible  <bruno@clisp.org>
46062
46063         * modules/binary-io (License): Relicense under LGPL.
46064         * modules/pipe2 (License): Likewise.
46065
46066 2009-08-22  Bruno Haible  <bruno@clisp.org>
46067
46068         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46069         return value.
46070         * lib/pipe-filter-gi.c (filter_init): Likewise.
46071         Reported by Eric Blake.
46072
46073 2009-08-22  Bruno Haible  <bruno@clisp.org>
46074
46075         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46076         * modules/pipe (Depends-on): Add pipe2.
46077
46078 2009-08-22  Bruno Haible  <bruno@clisp.org>
46079
46080         Tests for module 'pipe2'.
46081         * modules/pipe2-tests: New file.
46082         * tests/test-pipe2.c: New file.
46083
46084         New module 'pipe2'.
46085         * lib/unistd.in.h (pipe2): New declaration.
46086         * lib/pipe2.c: New file.
46087         * m4/pipe2.m4: New file.
46088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46089         HAVE_PIPE2.
46090         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46091         * modules/pipe2: New file.
46092         * doc/glibc-functions/pipe2.texi: Mention the new module.
46093
46094 2009-08-22  Bruno Haible  <bruno@clisp.org>
46095
46096         Reference some new glibc functions.
46097         * doc/glibc-functions/accept4.texi: New file.
46098         * doc/glibc-functions/dup3.texi: New file.
46099         * doc/glibc-functions/mkostemp.texi: New file.
46100         * doc/glibc-functions/pipe2.texi: New file.
46101         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46102         (Glibc sys/socket.h): Refer to accept4.
46103         (Glibc unistd.h): Refer to dup3, pipe2.
46104         Reported by Eric Blake.
46105
46106 2009-08-22  Jim Meyering  <meyering@redhat.com>
46107             Bruno Haible  <bruno@clisp.org>
46108
46109         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46110         This makes it so packages using automake-1.11's silent-rules option
46111         can print e.g., a single "GEN    configmake.h" line, rather than
46112         the 30+ statements that perform the job.  If you want to see the
46113         actual commands, you can still run "make V=1".
46114         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46115         so that make output is abbreviated when those variables are defined
46116         appropriately.
46117         * modules/argz: Likewise.
46118         * modules/arpa_inet: Likewise.
46119         * modules/byteswap: Likewise.
46120         * modules/configmake: Likewise.
46121         * modules/dirent: Likewise.
46122         * modules/errno: Likewise.
46123         * modules/fcntl: Likewise.
46124         * modules/float: Likewise.
46125         * modules/fnmatch: Likewise.
46126         * modules/getopt-posix: Likewise.
46127         * modules/glob: Likewise.
46128         * modules/iconv_open: Likewise.
46129         * modules/inttypes: Likewise.
46130         * modules/localcharset: Likewise.
46131         * modules/locale: Likewise.
46132         * modules/math: Likewise.
46133         * modules/netdb: Likewise.
46134         * modules/netinet_in: Likewise.
46135         * modules/poll: Likewise.
46136         * modules/posix_spawnp-tests: Likewise.
46137         * modules/sched: Likewise.
46138         * modules/search: Likewise.
46139         * modules/selinux-h: Likewise.
46140         * modules/signal: Likewise.
46141         * modules/spawn: Likewise.
46142         * modules/stdarg: Likewise.
46143         * modules/stdbool: Likewise.
46144         * modules/stddef: Likewise.
46145         * modules/stdint: Likewise.
46146         * modules/stdio: Likewise.
46147         * modules/stdlib: Likewise.
46148         * modules/string: Likewise.
46149         * modules/strings: Likewise.
46150         * modules/sys_file: Likewise.
46151         * modules/sys_ioctl: Likewise.
46152         * modules/sys_select: Likewise.
46153         * modules/sys_socket: Likewise.
46154         * modules/sys_stat: Likewise.
46155         * modules/sys_time: Likewise.
46156         * modules/sys_times: Likewise.
46157         * modules/sys_utsname: Likewise.
46158         * modules/sys_wait: Likewise.
46159         * modules/sysexits: Likewise.
46160         * modules/time: Likewise.
46161         * modules/unistd: Likewise.
46162         * modules/wchar: Likewise.
46163         * modules/wctype: Likewise.
46164
46165 2009-08-22  Jim Meyering  <meyering@redhat.com>
46166
46167         announce-gen: detect write failure
46168         * build-aux/announce-gen: Add Coda at end.
46169         Remove equivalent-but-more-verbose block at top.
46170
46171 2009-08-19  Akim Demaille  <demaille@gostai.com>
46172
46173         bootstrap: --help to stdout.
46174         * bootstrap (usage): Don't send --help to stderr.
46175         Use a here doc instead of a long string.
46176
46177 2009-08-21  Eric Blake  <ebb9@byu.net>
46178
46179         test-popen-safer: split from test-popen
46180         * tests/test-popen.c (main): Move...
46181         * tests/test-popen.h: ...into new file.
46182         * tests/test-popen-safer2.c: New file.
46183         * modules/popen-tests (Files): Add test-popen.h.
46184         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46185         Suggested by Bruno Haible.
46186
46187         test-fcntl-safer: split from test-open
46188         * tests/test-open.c (main): Move...
46189         * tests/test-open.h: ...into new file.
46190         * tests/test-fcntl-safer.c: New file.
46191         * modules/open-tests (Files): Add test-open.h.
46192         * modules/fcntl-safer-tests: New file.
46193         Suggested by Bruno Haible.
46194
46195         test-fopen-safer: split from test-fopen
46196         * tests/test-fopen.c (main): Move...
46197         * tests/test-fopen.h: ...into new file.
46198         * tests/test-fopen-safer.c: New file.
46199         * modules/fopen-tests (Files): Add test-fopen.h.
46200         * modules/fopen-safer-tests: New file.
46201         Suggested by Bruno Haible.
46202
46203 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46204
46205         popen-safer: test O_CLOEXEC at run-time.
46206         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46207
46208 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46209
46210         fcntl: move more flags to the header
46211         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46212         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46213         * lib/fcntl.in.h: Do both things here.
46214
46215 2009-08-21  Jim Meyering  <meyering@redhat.com>
46216
46217         consistently remove $@-t before redirecting to it
46218         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46219         * modules/alloca-opt: Likewise.
46220         * modules/byteswap: Likewise.
46221         * modules/fnmatch: Likewise.
46222         * modules/getopt-posix: Likewise.
46223         * modules/glob: Likewise.
46224         * modules/poll: Likewise.
46225         * modules/posix_spawnp-tests: Likewise.
46226         * modules/sys_socket: Likewise.
46227         * modules/sysexits: Likewise.
46228
46229 2009-08-21  Eric Blake  <ebb9@byu.net>
46230
46231         popen: simplify access to original popen
46232         * lib/popen.c (rpl_popen): No need to worry about popen being a
46233         macro.
46234         Reported by Bruno Haible.
46235
46236 2009-08-20  Eric Blake  <ebb9@byu.net>
46237
46238         build: avoid some compiler warnings
46239         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46240         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46241         type.
46242         (new_exclude_segment, excluded_file_pattern_p)
46243         (excluded_file_name_p): Reduce scope.
46244         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46245         old-style declaration.
46246
46247 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46248
46249         * tests/test-exclude1.sh: Handle Windows EOL.
46250         * tests/test-exclude2.sh: Likewise.
46251         * tests/test-exclude3.sh: Likewise.
46252         * tests/test-exclude4.sh: Likewise.
46253         * tests/test-exclude5.sh: Likewise.
46254         * tests/test-exclude6.sh: Likewise.
46255         * tests/test-exclude7.sh: Likewise.
46256
46257 2009-08-19  Akim Demaille  <demaille@gostai.com>
46258
46259         bootstrap: find sha1sum when named gsha1sum.
46260         * bootstrap (find_tool): New.
46261         ($SHA1SUM): New.
46262         Use it.
46263
46264 2009-08-20  Jim Meyering  <meyering@redhat.com>
46265
46266         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46267         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46268         expression that converts "." in a file name to "\." in the resulting
46269         regexp.  Start with a dummy statement, so that prior shell variable
46270         definitions are expanded portably.  Reported by Simon Josefsson.
46271
46272 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46273
46274         Fix polling for writeability of a screen buffer.
46275         * lib/poll.c: Distinguish input and screen buffers for the
46276         Win32 implementation.
46277         * lib/select.c: Likewise.
46278
46279 2009-08-19  Eric Blake  <ebb9@byu.net>
46280
46281         popen-safer: prevent popen from clobbering std descriptors
46282         * modules/popen-safer: New file.
46283         * lib/popen-safer.c: Likewise.
46284         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46285         * lib/stdio--.h (popen): Provide override.
46286         * lib/stdio-safer.h (popen_safer): Provide declaration.
46287         * tests/test-popen.c (includes): Partially test this.
46288         * modules/popen-safer-tests: New file, for more tests.
46289         * tests/test-popen-safer.c: Likewise.
46290         * MODULES.html.sh (file stream based Input/Output): Mention it.
46291
46292         tests: test some of the *-safer modules
46293         * modules/fopen-safer (Depends-on): Add fopen.
46294         * modules/fcntl-safer (Depends-on): Add fcntl.
46295         * modules/stdlib-safer (Depends-on): Add stdlib.
46296         (configure.ac): Set indicator.
46297         * modules/unistd-safer (configure.ac): Likewise.
46298         * modules/tmpfile-safer (configure.ac): Likewise.
46299         (Depends-on): Add tmpfile.
46300         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46301         active.
46302         * tests/test-fopen.c (includes): Test safer versions when they are
46303         in use.
46304         * tests/test-open.c (includes): Likewise.
46305
46306         popen: fix cygwin 1.5 bug when stdin closed
46307         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46308         * modules/popen: New file.
46309         * modules/popen-tests: Likewise.
46310         * tests/test-popen.c: Likewise.
46311         * m4/popen.m4: Likewise.
46312         * lib/popen.c: Likewise.
46313         * lib/stdio.in.h (popen): New declaration.
46314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46315         * modules/stdio (Makefile.am): Likewise.
46316         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46317
46318 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46319
46320         maint.mk: give full control over update-copyright exclusions
46321         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46322         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46323         (update-copyright): Don't force inclusion of top-level
46324         ChangeLog.  Don't force exclusion of all COPYING files, but make
46325         them the default exclusion instead.
46326
46327 2009-08-16  Bruno Haible  <bruno@clisp.org>
46328
46329         Fix test failures on Solaris 10.
46330         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46331         tests when Solaris iconv() is used.
46332         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46333         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46334         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46335         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46336         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46337
46338 2009-08-16  Bruno Haible  <bruno@clisp.org>
46339
46340         Fix test failures on Solaris 10.
46341         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46342         'tr' program and pass it as first argument.
46343         * tests/test-pipe-filter-gi1.sh: Likewise.
46344         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46345         program as first argument.
46346         * tests/test-pipe-filter-gi1.c (main): Likewise.
46347
46348 2009-08-16  Eric Blake  <ebb9@byu.net>
46349
46350         fpurge: fix previous commits
46351         * modules/fpurge (Makefile.am): Make replacement conditional,
46352         partially reverting 2007-04-29 change; missed in previous
46353         attempt.
46354         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46355         is missing.
46356
46357 2009-08-16  Bruno Haible  <bruno@clisp.org>
46358
46359         Clarify fpurge's effect on the file position.
46360         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46361         * tests/test-fpurge.c (main): Make a second pass for checking the file
46362         position.
46363
46364 2009-08-16  Bruno Haible  <bruno@clisp.org>
46365
46366         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46367         declaration of fpurge is missing.
46368         * tests/test-fpurge.c (main): Check that the file has not more contents
46369         than expected. Close the file before removing it.
46370
46371 2009-08-15  Eric Blake  <ebb9@byu.net>
46372
46373         fpurge: don't wrap working cygwin implementation
46374         * lib/fpurge.c (fpurge): Fix comment typo.
46375         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46376         1.7 to avoid replacement.
46377         * tests/test-fpurge.c (main): Enhance test.
46378
46379 2009-08-15  Eric Blake  <ebb9@byu.net>
46380         and Jim Meyering  <meyering@redhat.com>
46381
46382         test-update-copyright: skip if perl is insufficient
46383         * tests/test-update-copyright.sh: Failure to run maintainer tool
46384         should not cause testsuite failure on cygwin 1.5.
46385
46386 2009-08-14  Eric Blake  <ebb9@byu.net>
46387
46388         doc: mention more functions added in cygwin 1.7.0
46389         * doc/posix-headers/limits.texi (limits.h): Update for recent
46390         cygwin additions.
46391         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46392         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46393         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46394         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46395         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46396
46397 2009-08-14  Eric Blake  <ebb9@byu.net>
46398
46399         maint.mk: simplify update-copyright rule
46400         * top/maint.mk (update-copyright-local): Delete, and document how
46401         to do it in cfg.mk instead.
46402         (update-copyright-exclude-regexp): Delete, and document how to do
46403         it in .x-update-copyright instead.
46404         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46405         exclude ChangeLog.
46406
46407 2009-08-14  Bruno Haible  <bruno@clisp.org>
46408
46409         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46410
46411 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46412
46413         maint.mk: support update-copyright-env
46414         * top/maint.mk (update-copyright-env): Define place-holder.
46415         (update-copyright): Expand $(update-copyright-env) before
46416         invoking update-copyright.
46417
46418 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46419
46420         update-copyright: implement forced reformatting
46421         * build-aux/update-copyright: Implement and document
46422         UPDATE_COPYRIGHT_FORCE.
46423         * tests/test-update-copyright.sh: Test it.
46424
46425 2009-08-14  Eric Blake  <ebb9@byu.net>
46426         and Bruno Haible  <bruno@clisp.org>
46427
46428         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46429         * tests/test-locale.c: Revert previous patch related to NULL.
46430         * tests/test-stdio.c: Likewise.
46431         * tests/test-stdlib.c: Likewise.
46432         * tests/test-string.c: Likewise.
46433         * tests/test-unistd.c: Likewise.
46434         * modules/time-tests (Depends-on): Add verify.
46435         * modules/wchar-tests (Depends-on): Likewise.
46436         * tests/test-time.c: Test for NULL compliance.
46437         * tests/test-wchar.c: Likewise.
46438         * modules/locale (Depends-on): Add stddef.
46439         * modules/stdio (Depends-on): Likewise.
46440         * modules/stdlib (Depends-on): Likewise.
46441         * modules/string (Depends-on): Likewise.
46442         * modules/time (Depends-on): Likewise.
46443         * modules/unistd (Depends-on): Likewise.
46444         * modules/wchar (Depends-on): Likewise.
46445         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46446         * lib/stdlib.in.h (includes): Likewise.
46447         * lib/string.in.h (includes): Likewise.
46448         * lib/time.in.h (includes): Likewise.
46449         * lib/unistd.in.h (includes): Likewise.
46450         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46451         replaced.
46452         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46453         * m4/stddef_h.m4: New file.
46454         * modules/stddef: Likewise.
46455         * lib/stddef.in.h: Likewise.
46456         * modules/stddef-tests: Likewise.
46457         * tests/test-stddef.c: Likewise.
46458         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46459         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46460         * doc/posix-headers/locale.texi (locale.h): Likewise.
46461         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46462         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46463         * doc/posix-headers/string.texi (string.h): Likewise.
46464         * doc/posix-headers/time.texi (time.h): Likewise.
46465         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46466         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46467
46468 2009-08-14  Eric Blake  <ebb9@byu.net>
46469
46470         doc: improve git diff of texinfo files
46471         * .gitattributes: Add rule for *.texi files, with hint on how to
46472         use it.
46473         Copied from m4, and based on a report by Bruno Haible.
46474
46475 2009-08-14  Bruno Haible  <bruno@clisp.org>
46476
46477         Disable multithread support by default on Cygwin 1.5.x for real.
46478         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46479
46480 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46481
46482         update-copyright: much ado about intervals
46483         * build-aux/update-copyright: Implement and document
46484         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46485         of copyright year intervals.
46486         Also, document UPDATE_COPYRIGHT_YEAR.
46487         * tests/test-update-copyright.sh: Test it.
46488
46489         update-copyright: convert 2-digit to 4-digit years
46490         * build-aux/update-copyright: Implement and document.
46491         * tests/test-update-copyright.sh: Update.
46492
46493 2009-08-14  Jim Meyering  <meyering@redhat.com>
46494
46495         test-exclude: avoid coreutils "make check" failure
46496         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46497         just as in test-argmatch.c.
46498
46499 2009-08-13  Eric Blake  <ebb9@byu.net>
46500
46501         test-dup2: fix bad assumption
46502         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46503         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46504
46505         test-version-etc: fix CRLF portability issue
46506         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46507         recognize \r.
46508         * tests/test-argp-version-etc-1.sh: Likewise.
46509
46510         getopt: update client modules
46511         * modules/argp (Depends-on): Use getopt-gnu.
46512         * modules/git-merge-changelog (Depends-on): Likewise.
46513         * modules/long-options (Depends-on): Likewise.
46514         * modules/xstrtol (Depends-on): Likewise.
46515
46516 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46517
46518         * tests/test-version-etc.sh: Don't fail on different
46519         project/version.  Don't fail on CRLF differences.  Rewrite to use
46520         multiple -e instead of multiple sed forks, suggested by Eric Blake
46521         <ebb9@byu.net>.
46522         * tests/test-argp-version-etc-1.sh: Likewise.
46523
46524 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46525
46526         * tests/test-version-etc.sh: Don't fail on different
46527         project/version.
46528
46529 2009-08-12  Bruno Haible  <bruno@clisp.org>
46530
46531         Tests for modules 'getopt-posix', 'getopt-gnu'.
46532         * modules/getopt-posix-tests: New file.
46533         * tests/test-getopt.c: New file.
46534         * tests/test-getopt.h: New file.
46535         * tests/test-getopt_long.h: New file.
46536
46537         New modules 'getopt-posix', 'getopt-gnu'.
46538         * modules/getopt-gnu: New file, renamed from modules/getopt.
46539         * modules/getopt-posix: New file.
46540         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46541         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46542         (gl_GETOPT): Remove macro.
46543         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46544         Disable the test against BSD systems that declare optreset. Test
46545         against mingw bug. Test against lack of support of optional arguments
46546         on many platforms.
46547         * doc/glibc-headers/getopt.texi: Update module name and list of
46548         relevant platforms.
46549         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46550         'getopt-gnu' and more portability problems.
46551         * NEWS: Mention the changes.
46552
46553 2009-08-12  Bruno Haible  <bruno@clisp.org>
46554
46555         Ensure that optarg etc. get declared by <unistd.h>.
46556         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46557         AC_USE_SYSTEM_EXTENSIONS.
46558         * modules/getopt (Depends-on): Add 'extensions'.
46559
46560 2009-08-12  Bruno Haible  <bruno@clisp.org>
46561
46562         Avoid test link errors.
46563         * modules/pipe-filter-ii-tests (Makefile.am): Define
46564         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46565         * modules/pipe-filter-gi-tests (Makefile.am): Define
46566         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46567         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46568
46569 2009-08-12  Bruno Haible  <bruno@clisp.org>
46570
46571         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46572         gl_GETOPT_SUBSTITUTE before.
46573         (gl_GETOPT): Use it.
46574         * m4/argp.m4 (gl_ARGP): Update.
46575         Reported by Sergey Poznyakoff.
46576
46577         * m4/getopt.m4: Reorder macros.
46578         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46579         (gl_GETOPT_SUBSTITUTE): Remove macro.
46580
46581 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46582
46583         Minor improvement in gitlog-to-changelog
46584
46585         * build-aux/gitlog-to-changelog: New option `--format' makes
46586         output format string configurable.
46587
46588 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46589
46590         Optimize exclude: use hash tables for non-wildcard patterns.
46591
46592         * lib/exclude.c: Include hash.h and mbuiter.h
46593         (struct exclude_pattern, exclude_segment): New data types.
46594         (struct exclude): Rewrite.
46595         (fnmatch_pattern_has_wildcards): New function.
46596         (new_exclude_segment, free_exclude_segment): New functions.
46597         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46598         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46599         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46600         * modules/exclude: Depend on hash and mbuiter.
46601
46602         * modules/exclude-tests: New file.
46603         * tests/test-exclude.c: New file.
46604         * tests/test-exclude1.sh: New file.
46605         * tests/test-exclude2.sh: New file.
46606         * tests/test-exclude3.sh: New file.
46607         * tests/test-exclude4.sh: New file.
46608         * tests/test-exclude5.sh: New file.
46609         * tests/test-exclude6.sh: New file.
46610         * tests/test-exclude7.sh: New file.
46611
46612 2009-08-12  Bruno Haible  <bruno@clisp.org>
46613
46614         Ensure that getopt() gets declared by <unistd.h>.
46615         * lib/unistd.in.h: Conditionally include getopt.h.
46616         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46617         Set GNULIB_UNISTD_H_GETOPT.
46618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46619         GNULIB_UNISTD_H_GETOPT.
46620         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46621
46622 2009-08-12  Bruno Haible  <bruno@clisp.org>
46623
46624         Clarify logic.
46625         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46626         gl_replace_getopt instead of GETOPT_H.
46627
46628 2009-08-12  Bruno Haible  <bruno@clisp.org>
46629
46630         * m4/getopt.m4: Add comments.
46631
46632 2009-08-12  Bruno Haible  <bruno@clisp.org>
46633
46634         Disable multithread support by default on Cygwin 1.5.x.
46635         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46636         set gl_use_threads=no if not specified otherwise.
46637
46638 2009-08-11  Bruno Haible  <bruno@clisp.org>
46639
46640         Avoid compilation error on NetBSD 5.0.
46641         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46642         * tests/test-stdio.c: Likewise.
46643         * tests/test-stdlib.c: Likewise.
46644         * tests/test-string.c: Likewise.
46645         * tests/test-unistd.c: Likewise.
46646         Reported by Greg Troxel <gdt@ir.bbn.com>
46647         at <https://savannah.gnu.org/support/?106973>.
46648
46649 2009-08-11  Bruno Haible  <bruno@clisp.org>
46650
46651         * modules/dup2-tests (Depends-on): Remove close.
46652
46653         Undo 2009-07-19 commit.
46654         * modules/acl-tests (Depends-on): Remove close.
46655         * modules/binary-io-tests (Depends-on): Likewise.
46656         * modules/closein-tests (Depends-on): Likewise.
46657         * modules/flock-tests (Depends-on): Likewise.
46658         * modules/fsync-tests (Depends-on): Likewise.
46659         * modules/lseek-tests (Depends-on): Likewise.
46660         * modules/pipe-tests (Depends-on): Likewise.
46661         * modules/posix_spawn-tests (Depends-on): Likewise.
46662         * modules/posix_spawnp-tests (Depends-on): Likewise.
46663         * modules/stat-time-tests (Depends-on): Likewise.
46664         * modules/yesno-tests (Depends-on): Likewise.
46665
46666 2009-08-10  Bruno Haible  <bruno@clisp.org>
46667
46668         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46669
46670 2009-08-10  Bruno Haible  <bruno@clisp.org>
46671
46672         Fix a gcc warning.
46673         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46674
46675 2009-08-10  Bruno Haible  <bruno@clisp.org>
46676
46677         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46678         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46679         not only the first time.
46680         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46681         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46682         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46683         is 1, not only the the first time.
46684
46685 2009-08-10  Bruno Haible  <bruno@clisp.org>
46686
46687         Make it possible to use module 'gethostname' without module 'close'.
46688         * lib/unistd.in.h (close): Evoke a link error only if
46689         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46691         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46692         * modules/unistd (Makefile.am): Substitute
46693         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46694         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46695         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46696         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46697         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46698         * modules/sys_ioctl (Makefile.am): Substitute
46699         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46700         * modules/socket (configure.ac): On native Windows, set
46701         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46702         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46703         Reported by Sam Steingold <sds@gnu.org>.
46704
46705 2009-08-10  Bruno Haible  <bruno@clisp.org>
46706
46707         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46708         * modules/ioctl (configure.ac): Likewise.
46709
46710 2009-08-10  Bruno Haible  <bruno@clisp.org>
46711
46712         Avoid collision between gnulib wrapper and libintl wrapper.
46713         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46714         already defined in intl/printf.c.
46715         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46716         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46717
46718 2009-08-09  Bruno Haible  <bruno@clisp.org>
46719
46720         Make <sys/select.h> really self-contained, also on Solaris 10.
46721         * lib/sys_select.in.h: Include <string.h>.
46722         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46723         Solaris 10 problem.
46724         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46725         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46726         Reported by Jim Meyering.
46727
46728 2009-08-09  Bruno Haible  <bruno@clisp.org>
46729
46730         Avoid warnings from 'aclocal' that are due to a use of macro name
46731         AM_XGETTEXT_OPTION that is not defined in automake.
46732         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46733         automake.
46734         * modules/error (configure.ac): Likewise.
46735         * modules/propername (configure.ac): Likewise.
46736         * modules/vasprintf (configure.ac): Likewise.
46737         * modules/verror (configure.ac): Likewise.
46738         * modules/xprintf (configure.ac): Likewise.
46739         * modules/xvasprintf (configure.ac): Likewise.
46740
46741 2009-08-08  Bruno Haible  <bruno@clisp.org>
46742
46743         Avoid compilation error in C++ mode.
46744         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46745         Reported by Sam Steingold <sds@gnu.org>.
46746
46747 2009-08-08  Bruno Haible  <bruno@clisp.org>
46748
46749         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46750         for the various Unix platforms.
46751         * doc/posix-headers/limits.texi: Update platforms list regarding
46752         HOST_NAME_MAX.
46753         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46754
46755 2009-08-07  Jim Meyering  <meyering@redhat.com>
46756
46757         selinux-at: fix typo in a comment
46758         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46759         Spotted by Paolo Bonzini.
46760
46761         selinux-at: remove redundant m4 code, add documentation
46762         * modules/selinux-at (configure.ac): Remove redundant code.
46763         LIB_SELINUX is already set via the dependent module, selinux-h.
46764         (Include): Add quotes around selinux-at.h.
46765         * lib/selinux-at.h: Add documentation.
46766         Reported by Bruno Haible in
46767         http://marc.info/?l=gnulib-bug&m=124958988300749
46768
46769 2009-08-07  Bruno Haible  <bruno@clisp.org>
46770
46771         Avoid link error on MacOS X 10.3 and 10.4.
46772         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
46773         on non-ELF systems.
46774         * lib/argp-pv.c (argp_program_version): Likewise.
46775         Reported by Simon Josefsson.
46776
46777 2009-08-07  Simon Josefsson  <simon@josefsson.org>
46778
46779         * tests/test-version-etc.sh: Use $EXEEXT.
46780
46781 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
46782
46783         update-copyright: update documentation to point to maint.mk
46784         * build-aux/update-copyright: Here.
46785
46786 2009-08-06  Jim Meyering  <meyering@redhat.com>
46787
46788         maint.mk: support update-copyright-local
46789         * top/maint.mk (update-copyright-local): Define place-holder.
46790         (update-copyright): Depend on $(update-copyright-local).
46791
46792 2009-08-06  Jim Meyering  <meyering@redhat.com>
46793
46794         selinux-at: new module
46795         Initially written for coreutils, this module will soon be
46796         used by findutils, too.
46797         * MODULES.html.sh [Misc]: Add selinux-at.
46798         * lib/selinux-at.h: New file, from coreutils.
46799         * lib/selinux-at.c: Likewise.
46800         * modules/selinux-at: Likewise.
46801         (License): Change from LGPL to GPL, since it depends
46802         on the GPL'd openat module.
46803
46804         doc: update README
46805         * README: Remove references to cogito.
46806         Remove cvs-repo-updating instructions from 2007.
46807         Don't imply that CVS is better if you have limited disk space.
46808
46809 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46810
46811         update-copyright: support C-style comments
46812         * build-aux/update-copyright: Implement and document.
46813         * tests/test-update-copyright.sh: Test.
46814
46815 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46816
46817         update-copyright: support omitted "(C)"
46818         * build-aux/update-copyright: Implement and document.  Also,
46819         allow variable whitespace before "(C)".
46820         * tests/test-update-copyright.sh: Test.
46821
46822 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46823
46824         update-copyright: don't trip on non-FSF copyright statements
46825         * build-aux/update-copyright: Fix so that the first correctly
46826         formatted FSF copyright statement is recognized no matter what
46827         appears before it.  Update documentation.
46828         * tests/test-update-copyright.sh: Test that.
46829
46830 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46831
46832         update-copyright: clean up code a little
46833         * build-aux/update-copyright: Append "_re" to the name of any
46834         variable holding a regular expression.
46835         Replace "old" and "new" with "stmt" in variable names.
46836         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
46837         handled correctly.
46838         Format code more consistently.
46839
46840 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46841
46842         update-copyright-tests: improve portability
46843         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
46844         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
46845
46846 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46847
46848         update-copyright: support @copyright{} and &copy;
46849         * build-aux/update-copyright: Implement and document.
46850         * tests/test-update-copyright.sh: Test.
46851
46852 2009-08-04  Jim Meyering  <meyering@redhat.com>
46853
46854         update-copyright-tests: correctly test EOL=\r\n handling
46855         * tests/test-update-copyright.sh: Put \r at the end of some lines
46856         for the dos-eol tests.  Based on a patch by Joel E. Denny.
46857
46858         maint.mk: make update-copyright exclusion list more configurable
46859         * top/maint.mk (update-copyright): Default to excluding COPYING,
46860         but allow an override, in case someone does want to update that file.
46861
46862         maint.mk: don't update copyright date in COPYING
46863         * top/maint.mk (update-copyright): Exclude COPYING.
46864
46865         maint.mk: add a copyright-updating rule
46866         * top/maint.mk (update-copyright): New rule.
46867         Derived from coreutils/Makefile.am.
46868
46869         update-copyright: rename some variables
46870         * build-aux/update-copyright: Rename a few variables for clarity.
46871         Tweak syntax.  List Joel E. Denny as coauthor.
46872
46873 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46874
46875         update-copyright: fix bug for 2-digit last year and add tests
46876         * build-aux/update-copyright: Fix bug.
46877         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
46878         specified.
46879         * modules/update-copyright-tests: New
46880         * tests/test-update-copyright.sh: New.
46881
46882 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46883
46884         update-copyright: handle leading tabs in line prefix
46885         * build-aux/update-copyright: Count leading tabs as 8 spaces
46886         when computing margin.  This helps with the formatting of
46887         ChangeLogs, for example.
46888         Fix documentation a little.
46889
46890 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46891
46892         update-copyright: support EOL=\r\n
46893         * build-aux/update-copyright: Implement that.
46894
46895 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46896
46897         update-copyright: automatically format copyright statements
46898         * build-aux/update-copyright: Implement that.
46899         Also, be a little more predictable and safer by always failing
46900         when the full copyright format is not perfectly recognized as an
46901         unbroken whole.  Discussed at
46902         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
46903         Rewrite documentation.
46904
46905 2009-08-03  Bruno Haible  <bruno@clisp.org>
46906
46907         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
46908
46909 2009-08-02  Bruno Haible  <bruno@clisp.org>
46910
46911         Tests for module 'uname'.
46912         * modules/uname-tests: New file.
46913         * tests/test-uname.c: New file.
46914
46915         New module 'uname'.
46916         * lib/uname.c: New file.
46917         * m4/uname.m4: New file.
46918         * modules/uname: New file.
46919         * doc/posix-functions/uname.texi: Mention the new module.
46920
46921 2009-08-02  Bruno Haible  <bruno@clisp.org>
46922
46923         Tests for module 'sys_utsname'.
46924         * modules/sys_utsname-tests: New file.
46925         * tests/test-sys_utsname.c: New file.
46926
46927         New module 'sys_utsname'.
46928         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
46929         * m4/sys_utsname_h.m4: New file.
46930         * modules/sys_utsname: New file.
46931         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46932
46933 2009-08-02  Bruno Haible  <bruno@clisp.org>
46934
46935         Implicitly initialize the sockets library.
46936         * lib/gethostname.c: Include sockets.h.
46937         (rpl_gethostname): Invoke gl_sockets_startup.
46938         * lib/socket.c: Include sockets.h.
46939         (rpl_socket): Invoke gl_sockets_startup.
46940         * modules/gethostname (Depends-on): Add sockets.
46941         * modules/socket (Depends-on): Likewise.
46942         * tests/test-poll.c: Don't include sockets.h.
46943         (main): Don't invoke gl_sockets_startup.
46944         * tests/test-select.c: Don't include sockets.h.
46945         (main): Don't invoke gl_sockets_startup.
46946
46947 2009-08-02  Bruno Haible  <bruno@clisp.org>
46948
46949         Allow multiple calls to gl_sockets_startup.
46950         * lib/sockets.c (initialized_sockets_version): New variable.
46951         (gl_sockets_startup): Do nothing if already called for this or a higher
46952         version.
46953         (gl_sockets_cleanup): Reset initialized_sockets_version.
46954
46955 2009-08-03  Simon Josefsson  <simon@josefsson.org>
46956
46957         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
46958         different project/version.
46959
46960 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
46961             Bruno Haible  <bruno@clisp.org>
46962
46963         Tests for module 'pipe-filter-gi'.
46964         * modules/pipe-filter-gi-tests: New file.
46965         * tests/test-pipe-filter-gi1.sh: New file.
46966         * tests/test-pipe-filter-gi1.c: New file.
46967         * tests/test-pipe-filter-gi2.sh: New file.
46968         * tests/test-pipe-filter-gi2-main.c: New file.
46969         * tests/test-pipe-filter-gi2-child.c: New file.
46970
46971         New module 'pipe-filter-gi'.
46972         * lib/pipe-filter-gi.c: New file.
46973         * modules/pipe-filter-gi: New file.
46974
46975 2009-08-02  Bruno Haible  <bruno@clisp.org>
46976             Paolo Bonzini  <bonzini@gnu.org>
46977
46978         Tests for module 'pipe-filter-ii'.
46979         * modules/pipe-filter-ii-tests: New file.
46980         * tests/test-pipe-filter-ii1.sh: New file.
46981         * tests/test-pipe-filter-ii1.c: New file.
46982         * tests/test-pipe-filter-ii2.sh: New file.
46983         * tests/test-pipe-filter-ii2-main.c: New file.
46984         * tests/test-pipe-filter-ii2-child.c: New file.
46985
46986         New module 'pipe-filter-ii'.
46987         * lib/pipe-filter.h: New file.
46988         * lib/pipe-filter-ii.c: New file.
46989         * lib/pipe-filter-aux.h: New file.
46990         * modules/pipe-filter-ii: New file.
46991
46992 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46993
46994         * lib/gc-libgcrypt.c: Change copyright to FSF.
46995         * lib/gc-gnulib.c: Likewise.
46996
46997 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
46998
46999         * lib/gethostname.c: Include limits.h.
47000
47001 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47002             Bruno Haible  <bruno@clisp.org>
47003
47004         Ensure HOST_NAME_MAX as part of the gethostname module.
47005         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47006         define also HOST_NAME_MAX.
47007         * tests/test-gethostname.c: Include <limits.h>.
47008         (main): Check also HOST_NAME_MAX.
47009         * doc/posix-headers/limits.texi: Document the mingw problem.
47010
47011 2009-08-02  Bruno Haible  <bruno@clisp.org>
47012
47013         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47014         Add comments.
47015
47016 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47017
47018         * lib/gethostname.c: Add Windows wrapper.
47019         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47020         * modules/gethostname: Depend on sys_socket & errno, for also
47021         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47022         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47023
47024 2009-07-31  Jim Meyering  <meyering@redhat.com>
47025
47026         getloadavg: fix symbol name in comment
47027         * lib/getloadavg.c: Correct a typo I introduced when adding
47028         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47029         Matt Kraai spotted the problem.
47030
47031 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47032
47033         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47034         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47035         code also if ! defined N_NAME_POINTER.
47036         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47037         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47038         but the n_name member is a 12-byte array.
47039
47040 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47041
47042         update-copyright: generalize comment handling
47043         * build-aux/update-copyright: Handle copyright statements
47044         within more comment styles.
47045         Document usage.
47046         Report any file with an external copyright holder or parse failure.
47047
47048 2009-07-29  Jim Meyering  <meyering@redhat.com>
47049
47050         mktime: correct setting of REPLACE_MKTIME
47051         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47052
47053         update-copyright: new module
47054         * modules/update-copyright: New file.
47055         * build-aux/update-copyright: New file.
47056         * MODULES.html.sh (maint+release support): Add update-copyright.
47057
47058 2009-07-27  Bruno Haible  <bruno@clisp.org>
47059
47060         Fix compilation error when <ctime> is used and mktime is replaced.
47061         * lib/time.in.h (mktime): New declaration.
47062         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47063         REPLACE_MKTIME instead of defining mktime in config.h.
47064         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47065         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47066         Reported by Ross McFarland <rwmcfa1@neces.com>.
47067
47068 2009-07-27  Bruno Haible  <bruno@clisp.org>
47069
47070         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47071         Reported by Matt Kraai <mkraai@beckman.com>.
47072
47073 2009-07-25  Jim Meyering  <meyering@redhat.com>
47074
47075         maint.mk: avoid warnings about missing files
47076         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47077         diagnostic when .prev-version does not exist.
47078         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47079         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47080         nonexistent cfg.mk.
47081         Suggestions from Simon Josefsson.
47082
47083 2009-07-25  Bruno Haible  <bruno@clisp.org>
47084
47085         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47086         defined as macros. Needed on QNX 6.4.1.
47087         Reported by Matt Kraai <mkraai@beckman.com>.
47088
47089 2009-07-23  Jim Meyering  <meyering@redhat.com>
47090
47091         maint.mk: invoke "make dist" with a working value of XZ_OPT
47092         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47093
47094 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47095
47096         Make fseeko.c compile on QNX.
47097         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47098
47099 2009-07-22  Peter Simons  <simons@cryp.to>
47100
47101         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47102         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47103         * lib/md4.h: Likewise.
47104         * lib/md5.h: Likewise.
47105         * lib/sha1.h: Likewise.
47106         * lib/sha256.h: Likewise.
47107         * lib/sha512.h: Likewise.
47108
47109         tests-sha1: don't assign literal string to 'char *' variable
47110         * tests/test-sha1.c (main): Declare locals with "const" to match
47111         attributes of the right hand side.
47112
47113 2009-07-21  Eric Blake  <ebb9@byu.net>
47114
47115         dup2: fix more mingw problems
47116         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47117         fd to itself.
47118         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47119         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47120         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47121         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47122         care of mingw bugs.
47123
47124 2009-07-21  Jim Meyering  <meyering@redhat.com>
47125
47126         vc-list-files: avoid failure when /bin/sh is dash
47127         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47128         On some Debian based systems, /bin/sh is a symlink to dash, and running
47129         this command would omit the "/" following each 'tests' prefix:
47130           dash -x build-aux/vc-list-files -C . tests
47131         That is because bash and dash work differently:
47132           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47133           bash ok
47134           dash odd
47135
47136 2009-07-21  Eric Blake  <ebb9@byu.net>
47137
47138         dup2-tests: test previous patch
47139         * modules/dup2-tests: New file.
47140         * tests/test-dup2.c: Likewise.
47141         * tests/test-open.c (main): Avoid unspecified behavior.
47142         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47143         test.
47144
47145         dup2: work around mingw and cygwin 1.5 bug
47146         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47148         * modules/unistd (Makefile.am): Substitute it.
47149         * lib/unistd.in.h (dup2): Declare the replacement.
47150         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47151         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47152         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47153         * modules/execute (Depends-on): Add dup2.
47154         * modules/fseterr (Depends-on): Likewise.
47155         * modules/pipe (Depends-on): Likewise.
47156         * modules/posix_spawn-internal (Depends-on): Likewise.
47157
47158 2009-07-21  Bruno Haible  <bruno@clisp.org>
47159
47160         * modules/.gitattributes: New file.
47161
47162 2009-07-20  Bruno Haible  <bruno@clisp.org>
47163
47164         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47165         (main): Use it.
47166
47167 2009-07-20  Eric Blake  <ebb9@byu.net>
47168
47169         test-pipe: make a bit more robust.
47170         * tests/test-pipe.c (myerr): Allow error messages regardless of
47171         what we do to stderr.
47172         (test_pipe): Rearrange to avoid deadlock.
47173         (child_main): Try a larger read, to ensure we avoided deadlock.
47174         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47175         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47176         if misused.
47177
47178 2009-07-19  Jim Meyering  <meyering@redhat.com>
47179
47180         fts: avoid false-positive cycle-detection
47181         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47182         for each new command line argument.
47183
47184 2009-07-19  Bruno Haible  <bruno@clisp.org>
47185
47186         Fix build error on mingw with the modules sys_select and unistd.
47187         * modules/acl-tests (Depends-on): Add close.
47188         * modules/binary-io-tests (Depends-on): Likewise.
47189         * modules/closein-tests (Depends-on): Likewise.
47190         * modules/flock-tests (Depends-on): Likewise.
47191         * modules/fsync-tests (Depends-on): Likewise.
47192         * modules/lseek-tests (Depends-on): Likewise.
47193         * modules/pipe-tests (Depends-on): Likewise.
47194         * modules/posix_spawn-tests (Depends-on): Likewise.
47195         * modules/posix_spawnp-tests (Depends-on): Likewise.
47196         * modules/stat-time-tests (Depends-on): Likewise.
47197         * modules/yesno-tests (Depends-on): Likewise.
47198
47199 2009-07-19  Bruno Haible  <bruno@clisp.org>
47200
47201         Unify conditionals.
47202         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47203         macros, not at the compiler macros.
47204         * lib/pipe.c: Likewise.
47205         * lib/execute.c: Likewise.
47206         * lib/spawni.c: Likewise.
47207
47208 2009-07-19  Bruno Haible  <bruno@clisp.org>
47209
47210         Fix handling of closed stdin/stdout/stderr on mingw.
47211         * lib/w32spawn.h: Include unistd.h.
47212         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47213         file descriptor with O_NOINHERIT flag.
47214         (fd_safer_noinherit): New function, based on fd-safer.c.
47215         (dup_safer_noinherit): New function, based on dup-safer.c.
47216         (undup_safer_noinherit): New function.
47217         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47218         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47219         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47220         instead of fd_safer.
47221         * tests/test-pipe.c: Include <windows.h>.
47222         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47223         result.
47224
47225         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47226         from main.
47227         (test_pipe): Pass an extra argument for disambiguation.
47228         (main): Invoke parent_main or child_main.
47229
47230         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47231         consistently.
47232
47233 2009-07-18  Eric Blake  <ebb9@byu.net>
47234
47235         test-pipe: fix mingw build
47236         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47237
47238 2009-07-18  Bruno Haible  <bruno@clisp.org>
47239
47240         * modules/pipe-tests (Makefile.am): Fix typo.
47241
47242 2009-07-18  Eric Blake  <ebb9@byu.net>
47243
47244         error: fix mingw build
47245         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47246         Reported by Bruno Haible.
47247
47248         error: avoid undefined use of stdout
47249         * lib/error.c (error, error_at_line): Check that fd 1 is open
47250         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47251         is handling faults and the close_stdout module wants to report the
47252         detection of closed stdout as an error.
47253
47254 2009-07-17  Eric Blake  <ebb9@byu.net>
47255
47256         pipe: be robust in face of closed fds
47257         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47258         should cause child to misbehave.
47259         * modules/pipe-tests: New module.
47260         * tests/test-pipe.c: New file.
47261         * tests/test-pipe.sh: New file.
47262         Reported by Akim Demaille.
47263
47264 2009-07-14  Bruno Haible  <bruno@clisp.org>
47265
47266         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47267         Reported by anonymous kc.
47268
47269 2009-07-07  Jim Meyering  <meyering@redhat.com>
47270
47271         maint.mk: don't look for translatable strings in *.m4 or *.mk
47272         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47273         when searching for translatable strings.
47274
47275 2009-07-05  Jim Meyering  <meyering@redhat.com>
47276
47277         remove superfluous parentheses in STREQ definition
47278         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47279         * lib/getugroups.c (STREQ): Likewise.
47280         * lib/fnmatch.c (STREQ): Likewise.
47281         Spotted by Bruno Haible.
47282
47283 2009-07-04  Jim Meyering  <meyering@redhat.com>
47284
47285         argv-iter: new module
47286         * MODULES.html.sh: Add argv-iter.
47287         * lib/argv-iter.c, lib/argv-iter.h: New files.
47288         * modules/argv-iter: New file.
47289         * modules/argv-iter-tests: New file.
47290         * tests/test-argv-iter.c: Test it.
47291
47292 2009-07-04  Bruno Haible  <bruno@clisp.org>
47293
47294         Fix assertion.
47295         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47296         contains more exact copies of a given entry than file2, leave the extra
47297         copies unpaired rather than aborting.
47298         Reported by Eric Blake.
47299
47300 2009-07-02  Bruno Haible  <bruno@clisp.org>
47301
47302         Speedup git-merge-changelog for git cherry-pick.
47303         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47304         (entries_mapping_get): New function, extracted from compute_mapping.
47305         (entries_mapping_reverse_get): New function.
47306         (compute_mapping): Add a 'full' argument. Return the result in a
47307         'struct entries_mapping'.
47308         (main): Update. Access the mappings through entries_mapping_get.
47309         Reported by Eric Blake.
47310
47311 2009-07-02  Bruno Haible  <bruno@clisp.org>
47312
47313         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47314         best_i.
47315
47316 2009-07-02  Bruno Haible  <bruno@clisp.org>
47317
47318         Speed up approximate search for matching ChangeLog entries.
47319         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47320         argument. Call fstrcmp_bounded instead of fstrcmp.
47321         (compute_mapping, try_split_merged_entry, main): Update callers.
47322
47323 2009-07-02  Bruno Haible  <bruno@clisp.org>
47324
47325         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47326
47327 2009-06-30  Bruno Haible  <bruno@clisp.org>
47328
47329         Reduce the number of uc_is_cased calls.
47330         * lib/unicase.h (casing_suffix_context_t): Add
47331         'first_char_except_ignorable' field.
47332         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47333         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47334         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47335         Update initializer.
47336         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47337         case-ignorable characters.
47338         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47339         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47340         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47341         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47342         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47343
47344 2009-06-30  Bruno Haible  <bruno@clisp.org>
47345
47346         Tests for module 'unicase/ignorable'.
47347         * modules/unicase/ignorable-tests: New file.
47348         * tests/unicase/test-ignorable.c: New file, generated by
47349         gen-uni-tables.
47350
47351         Tests for module 'unicase/cased'.
47352         * modules/unicase/cased-tests: New file.
47353         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47354         * tests/unicase/test-predicate-part1.h: New file, derived from
47355         tests/unictype/test-predicate-part1.h.
47356         * tests/unicase/test-predicate-part2.h: New file, same as
47357         tests/unictype/test-predicate-part2.h.
47358
47359         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47360         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47361         (output_casing_properties): New function.
47362         (main): Call it.
47363         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47364         * lib/unicase/cased.c: Include unictype/bitmap.h.
47365         (uc_is_cased): Define through a bitmap lookup.
47366         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47367         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47368         (uc_is_case_ignorable): Define through a bitmap lookup.
47369         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47370         lib/unictype/bitmap.h.
47371         (Depends-on): Add inline. Clean up.
47372         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47373         lib/unictype/bitmap.h.
47374         (Depends-on): Add inline. Clean up.
47375         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47376         recognition.
47377         * tests/unicase/test-u16-tolower.c (main): Likewise.
47378         * tests/unicase/test-u32-tolower.c (main): Likewise.
47379
47380 2009-06-30  Bruno Haible  <bruno@clisp.org>
47381
47382         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47383         * lib/unicase/u16-casemap.c: Likewise.
47384         * lib/unicase/u32-casemap.c: Likewise.
47385
47386 2009-06-29  Bruno Haible  <bruno@clisp.org>
47387
47388         Define u32_casefold as a wrapper around u32_ct_casefold.
47389         * lib/unicase/u32-casefold.c: Update.
47390         * modules/unicase/u32-casefold (Depends-on): Add
47391         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47392         unicase/empty-suffix-context. Clean up.
47393
47394         Define u16_casefold as a wrapper around u16_ct_casefold.
47395         * lib/unicase/u16-casefold.c: Update.
47396         * modules/unicase/u16-casefold (Depends-on): Add
47397         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47398         unicase/empty-suffix-context. Clean up.
47399
47400         Define u8_casefold as a wrapper around u8_ct_casefold.
47401         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47402         * lib/unicase/u8-casefold.c: Update.
47403         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47404         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47405
47406         Define u32_totitle as a wrapper around u32_ct_totitle.
47407         * lib/unicase/u32-totitle.c: Update.
47408         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47409         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47410
47411         Define u16_totitle as a wrapper around u16_ct_totitle.
47412         * lib/unicase/u16-totitle.c: Update.
47413         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47414         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47415
47416         Define u8_totitle as a wrapper around u8_ct_totitle.
47417         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47418         functions.
47419         (FUNC): Delegate to U_CT_TOTITLE.
47420         * lib/unicase/u8-totitle.c: Update.
47421         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47422         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47423
47424         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47425         invocation.
47426         * modules/unicase/u32-tolower (Depends-on): Add
47427         unicase/empty-prefix-context, unicase/empty-suffix-context.
47428
47429         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47430         invocation.
47431         * modules/unicase/u16-tolower (Depends-on): Add
47432         unicase/empty-prefix-context, unicase/empty-suffix-context.
47433
47434         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47435         * modules/unicase/u8-tolower (Depends-on): Add
47436         unicase/empty-prefix-context, unicase/empty-suffix-context.
47437
47438         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47439         invocation.
47440         * modules/unicase/u32-toupper (Depends-on): Add
47441         unicase/empty-prefix-context, unicase/empty-suffix-context.
47442
47443         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47444         invocation.
47445         * modules/unicase/u16-toupper (Depends-on): Add
47446         unicase/empty-prefix-context, unicase/empty-suffix-context.
47447
47448         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47449         * modules/unicase/u8-toupper (Depends-on): Add
47450         unicase/empty-prefix-context, unicase/empty-suffix-context.
47451
47452         New module 'unicase/u32-ct-casefold'.
47453         * lib/unicase/u32-ct-casefold.c: New file.
47454         * modules/unicase/u32-ct-casefold: New file.
47455
47456         New module 'unicase/u16-ct-casefold'.
47457         * lib/unicase/u16-ct-casefold.c: New file.
47458         * modules/unicase/u16-ct-casefold: New file.
47459
47460         New module 'unicase/u8-ct-casefold'.
47461         * lib/unicase/u8-ct-casefold.c: New file.
47462         * lib/unicase/u-ct-casefold.h: New file, derived from
47463         lib/unicase/u-casefold.h.
47464         * modules/unicase/u8-ct-casefold: New file.
47465
47466         New module 'unicase/u32-ct-totitle'.
47467         * lib/unicase/u32-ct-totitle.c: New file.
47468         * modules/unicase/u32-ct-totitle: New file.
47469
47470         New module 'unicase/u16-ct-totitle'.
47471         * lib/unicase/u16-ct-totitle.c: New file.
47472         * modules/unicase/u16-ct-totitle: New file.
47473
47474         New module 'unicase/u8-ct-totitle'.
47475         * lib/unicase/u8-ct-totitle.c: New file.
47476         * lib/unicase/u-ct-totitle.h: New file, derived from
47477         lib/unicase/u-totitle.h.
47478         * modules/unicase/u8-ct-totitle: New file.
47479
47480         New module 'unicase/u32-ct-tolower'.
47481         * lib/unicase/u32-ct-tolower.c: New file.
47482         * modules/unicase/u32-ct-tolower: New file.
47483
47484         New module 'unicase/u16-ct-tolower'.
47485         * lib/unicase/u16-ct-tolower.c: New file.
47486         * modules/unicase/u16-ct-tolower: New file.
47487
47488         New module 'unicase/u8-ct-tolower'.
47489         * lib/unicase/u8-ct-tolower.c: New file.
47490         * modules/unicase/u8-ct-tolower: New file.
47491
47492         New module 'unicase/u32-ct-toupper'.
47493         * lib/unicase/u32-ct-toupper.c: New file.
47494         * modules/unicase/u32-ct-toupper: New file.
47495
47496         New module 'unicase/u16-ct-toupper'.
47497         * lib/unicase/u16-ct-toupper.c: New file.
47498         * modules/unicase/u16-ct-toupper: New file.
47499
47500         New module 'unicase/u8-ct-toupper'.
47501         * lib/unicase/u8-ct-toupper.c: New file.
47502         * modules/unicase/u8-ct-toupper: New file.
47503
47504         Add context arguments to u*_casemap functions.
47505         * lib/unicase/unicasemap.h: Include unicase.h.
47506         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47507         suffix_context arguments.
47508         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47509         functions.
47510         (FUNC): Add prefix_context and suffix_context arguments. Use
47511         uc_is_cased and uc_is_case_ignorable.
47512         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47513         * lib/unicase/u16-casemap.c: Likewise.
47514         * lib/unicase/u32-casemap.c: Likewise.
47515         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47516         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47517         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47518         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47519         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47520         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47521
47522         New module 'unicase/u32-suffix-context'.
47523         * lib/unicase/u32-suffix-context.c: New file.
47524         * modules/unicase/u32-suffix-context: New file.
47525
47526         New module 'unicase/u16-suffix-context'.
47527         * lib/unicase/u16-suffix-context.c: New file.
47528         * modules/unicase/u16-suffix-context: New file.
47529
47530         New module 'unicase/u8-suffix-context'.
47531         * lib/unicase/u8-suffix-context.c: New file.
47532         * lib/unicase/u-suffix-context.h: New file.
47533         * modules/unicase/u8-suffix-context: New file.
47534
47535         New module 'unicase/empty-suffix-context'.
47536         * lib/unicase/empty-suffix-context.c: New file.
47537         * modules/unicase/empty-suffix-context: New file.
47538
47539         New module 'unicase/u32-prefix-context'.
47540         * lib/unicase/u32-prefix-context.c: New file.
47541         * modules/unicase/u32-prefix-context: New file.
47542
47543         New module 'unicase/u16-prefix-context'.
47544         * lib/unicase/u16-prefix-context.c: New file.
47545         * modules/unicase/u16-prefix-context: New file.
47546
47547         New module 'unicase/u8-prefix-context'.
47548         * lib/unicase/u8-prefix-context.c: New file.
47549         * lib/unicase/u-prefix-context.h: New file.
47550         * lib/unicase/context.h: New file.
47551         * modules/unicase/u8-prefix-context: New file.
47552
47553         New module 'unicase/empty-prefix-context'.
47554         * lib/unicase/empty-prefix-context.c: New file.
47555         * modules/unicase/empty-prefix-context: New file.
47556
47557         New module 'unicase/ignorable'.
47558         * lib/unicase/ignorable.c: New file.
47559         * modules/unicase/ignorable: New file.
47560
47561         New module 'unicase/cased'.
47562         * lib/unicase/caseprop.h: New file.
47563         * lib/unicase/cased.c: New file.
47564         * modules/unicase/cased: New file.
47565
47566         New functions for case mapping of substrings.
47567         * lib/unicase.h (casing_prefix_context_t): New type.
47568         (unicase_empty_prefix_context): New variable.
47569         (u8_casing_prefix_context, u16_casing_prefix_context,
47570         u32_casing_prefix_context, u8_casing_prefixes_context,
47571         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47572         declarations.
47573         (casing_suffix_context_t): New type.
47574         (unicase_empty_suffix_context): New variable.
47575         (u8_casing_suffix_context, u16_casing_suffix_context,
47576         u32_casing_suffix_context, u8_casing_suffixes_context,
47577         u16_casing_suffixes_context, u32_casing_suffixes_context,
47578         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47579         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47580         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47581         declarations.
47582
47583 2009-06-28  Jim Meyering  <meyering@redhat.com>
47584
47585         boostrap: indent only with spaces
47586         * build-aux/bootstrap: Indent only with spaces, never TABs.
47587
47588         bootstrap: split long lines
47589         * build-aux/bootstrap: Keep line length < 80.
47590
47591         bootstrap: sync from coreutils
47592         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47593         just as autoreconf does.  Verify a list of prerequisite
47594         package-name,version-number pairs if defined in bootstrap.conf.
47595         Refer to README-prereq, if prerequisites are not satisfied.
47596
47597 2009-06-27  Eric Blake  <ebb9@byu.net>
47598
47599         tests: add test for bogus NULL definition
47600         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47601         * tests/test-stdlib.c: Likewise.
47602         * tests/test-string.c: Likewise.
47603         * tests/test-locale.c: Likewise.
47604         * tests/test-unistd.c: Likewise.
47605         * modules/stdio-tests (Depends-on): Add verify.
47606         * modules/stdlib-tests (Depends-on): Likewise.
47607         * modules/string-tests (Depends-on): Likewise.
47608         * modules/locale-tests (Depends-on): Likewise.
47609         * modules/unistd-tests (Depends-on): Likewise.
47610
47611 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47612
47613         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47614         self-explaining comment.
47615         * m4/selinux-selinux-h: Update serial.
47616         (gl_LIBSELINUX): New macro, adding a warning for missing development
47617         packages to code extracted from...
47618         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47619         Add warning for missing development packages here, too.
47620
47621 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47622
47623         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47624
47625 2009-06-25  Eric Blake  <ebb9@byu.net>
47626
47627         version-etc: fix regression
47628         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47629         gcc.
47630         (version_etc): Use it, to catch bugs with trailing NULL.
47631         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47632         (version_etc_va): Fix logic bug.
47633         * modules/version-etc-tests: Add test.
47634         * tests/test-version-etc.c: New file.
47635         * tests/test-version-etc.sh: Likewise.
47636
47637 2009-06-25  Sam Steingold  <sds@gnu.org>
47638
47639         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47640         mbtowc declaration.
47641
47642 2009-06-25  Eric Blake  <ebb9@byu.net>
47643
47644         fpurge: migrate into <stdio.h>
47645         * lib/fpurge.h: Delete...
47646         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47647         * lib/fpurge.c (fpurge): Change declaring header.
47648         * modules/fpurge (Files): Drop deleted file.
47649         (Depends-on): Add stdio.
47650         (configure.ac): Set witness.
47651         * modules/stdio (Makefile.am): Support fpurge macros.
47652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47653         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47654         * lib/fflush.c: Update client.
47655         * tests/test-fpurge.c: Likewise.
47656         * NEWS: Mention the change.
47657
47658 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47659
47660         * lib/argp-version-etc.c (program_authors): Add const
47661         qualifier.
47662         * lib/version-etc.c: Fix typos in the comments.
47663         * modules/argp-version-etc: Depends on version-etc.
47664
47665 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47666
47667         argp-version-etc: new module.
47668
47669         * lib/argp-version-etc.c: New file.
47670         * lib/argp-version-etc.h: New file.
47671         * modules/argp-version-etc: New file.
47672         * modules/argp-version-etc-tests: New file.
47673         * tests/test-argp-version-etc.c: New test.
47674         * tests/test-argp-version-etc-1.sh: New test.
47675
47676 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47677
47678         Provide additional interfaces and documentation for version-etc
47679         module.
47680
47681         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47682         interfaces.
47683         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47684         prototypes.
47685
47686 2009-06-24  Bruno Haible  <bruno@clisp.org>
47687
47688         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47689         HAVE_LIB${NAME} macro.
47690         Reported by Sam Steingold <sds@gnu.org>.
47691
47692 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47693
47694         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47695         needed.
47696
47697 2009-06-21  Bruno Haible  <bruno@clisp.org>
47698
47699         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47700         work.
47701         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47702         together with LIB${NAME}, LTLIB${NAME}.
47703         Reported by Sam Steingold <sds@gnu.org>.
47704
47705 2009-06-20  Jim Meyering  <meyering@redhat.com>
47706
47707         tests: make sc_require_test_exit_idiom more generic
47708         * top/maint.mk (Exit_witness_file): New overridable variable.
47709         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47710         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47711
47712 2009-06-19  Jim Meyering  <meyering@redhat.com>
47713
47714         hash: reverse order of src/dst parameters in an internal interface
47715         * lib/hash.c (transfer_entries): Reverse order of parameters to
47716         put DST before SRC.  Adjust callers.
47717
47718         tests: test-hash: avoid wholesale duplication
47719         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47720         Instead, use a loop and add a single conditional.
47721
47722         tests: test-hash: allow seed selection via a command line argument
47723         * tests/test-hash.c (get_seed): New function.
47724         (main): Use it.
47725
47726 2009-06-19  Eric Blake  <ebb9@byu.net>
47727
47728         hash: avoid memory leak on allocation failure
47729         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47730         failure.  Factor repeated algorithm...
47731         (transfer_entries): ...into new helper routine.
47732         (hash_delete): React to hash_rehash return value.
47733
47734         hash: reduce memory pressure in hash_rehash no-op case
47735         * lib/hash.c (next_prime): Avoid overflow.
47736         (hash_initialize): Factor bucket size computation...
47737         (compute_bucket_size): ...into new helper function.
47738         (hash_rehash): Use new function and open coding to reduce memory
47739         pressure, and avoid a memory leak in USE_OBSTACK code.
47740         Reported by Jim Meyering.
47741
47742 2009-06-18  Eric Blake  <ebb9@byu.net>
47743
47744         hash: make rotation more obvious
47745         * modules/hash (Depends-on): Add bitrotate and stdint.
47746         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47747         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47748         (SIZE_MAX): Rely on headers for definition.
47749         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47750         (raw_hasher): Use rotr_sz.
47751         Suggested by Jim Meyering.
47752
47753         hash: fix memory leak in last patch
47754         * lib/hash.c (hash_rehash): Avoid memory leak.
47755
47756         hash: avoid no-op rehashing
47757         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47758
47759         hash: provide default callback functions
47760         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47761         (hash_initialize): Use them as defaults.
47762         * tests/test-hash.c (main): Test this.
47763
47764         hash: minor optimization
47765         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
47766         when possible.
47767         (hash_initialize): Document this promise.
47768         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
47769         * tests/test-hash.c (hash_compare_strings): Test this.
47770
47771 2009-06-18  Bruno Haible  <bruno@clisp.org>
47772
47773         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
47774         going to be replaced anyway.
47775
47776 2009-06-18  Bruno Haible  <bruno@clisp.org>
47777
47778         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
47779         in one place.
47780         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
47781         be replaced anyway.
47782
47783 2009-06-18  Eric Blake  <ebb9@byu.net>
47784
47785         hash: check for resize before insertion
47786         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
47787         threshold before insertion, so that a pathological hash_rehash
47788         that fills every bucket can still trigger another rehash.
47789
47790 2009-06-18  Jim Meyering  <meyering@redhat.com>
47791
47792         hash-tests: add a loop around the small tests
47793         * tests/test-hash.c (main): Repeat small tests with selected
47794         small initial table sizes.
47795
47796 2009-06-17  Eric Blake  <ebb9@byu.net>
47797
47798         hash: minor cleanups
47799         * lib/hash.h (hash_entry): Make opaque, by moving...
47800         * lib/hash.c (hash_entry): ...here.
47801         (hash_insert): Clarify restrictions on what can be inserted.
47802         (hash_get_next): Clarify when it is safe to remove an element
47803         during traversal.
47804         (check_tuning): Skip verification when tuning is known safe.
47805         (hash_initialize): Clarify restrictions on tuning.
47806
47807 2009-06-17  Jim Meyering  <jim@meyering.net>
47808         and Eric Blake  <ebb9@byu.net>
47809
47810         hash-tests: new module
47811         * modules/hash-tests: New file.
47812         * tests/test-hash.c: New file.
47813
47814 2009-06-17  Eric Blake  <ebb9@byu.net>
47815
47816         strstr-simple: document new module
47817         * MODULES.html.sh: Document new module.
47818
47819         strstr, strcasestr: replace on platforms with broken memchr
47820         * modules/strstr: Split into...
47821         * modules/strstr-simple: ...new module that does not care about
47822         performance, but does care about glibc bug.
47823         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
47824         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
47825         if platform memchr is broken, per Debian bug 521737.
47826         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
47827         memchr.
47828         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
47829         * doc/posix-functions/strstr.texi (strstr): Document the fix.
47830         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47831         * modules/mountlist (Depends-on): Add strstr-simple.
47832         * modules/gen-uni-tables (Depends-on): Likewise.
47833         * modules/argz (Depends-on): Add strstr.
47834
47835 2009-06-17  Bruno Haible  <bruno@clisp.org>
47836
47837         * modules/posix_spawn-internal (Depends-on): Add errno.
47838
47839 2009-06-17  Bruno Haible  <bruno@clisp.org>
47840
47841         Define missing ESTALE on Interix 3.5.
47842         * lib/errno.in.h (ESTALE): Assign a value if missing.
47843         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
47844         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
47845         missing.
47846         * doc/posix-headers/errno.texi: Mention the Interix bug.
47847         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
47848
47849 2009-06-15  Eric Blake  <ebb9@byu.net>
47850
47851         memchr, memchr2: add valgrind exception
47852         * lib/memchr.valgrind: New file.
47853         * lib/memchr2.valgrind: New file.
47854         * modules/memchr (Files): Distribute valgrind file.
47855         * modules/memchr2 (Files): Likewise.
47856
47857         docs: memchr is no longer obsolete
47858         * MODULES.html.sh: Move memchr from obsolete to string.h section.
47859         * lib/string.in.h (memchr): Simplify logic.
47860
47861 2009-06-14  Jim Meyering  <meyering@redhat.com>
47862
47863         link-follow: fix the "checking..." message to not mention trailing slash
47864         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
47865         never considered trailing slashes.
47866
47867 2009-06-14  Bruno Haible  <bruno@clisp.org>
47868
47869         * m4/memchr.m4: Mention also the bug on IA-64.
47870         * doc/posix-functions/memchr.texi: Likewise.
47871
47872 2009-06-12  Eric Blake  <ebb9@byu.net>
47873
47874         memchr: detect broken x86_64 and alpha implementations
47875         * modules/memchr-tests (Depends-on): Move mmap detection...
47876         * modules/memchr (Depends-on): ...here.
47877         (configure.ac): Set indicator.
47878         * lib/string.in.h (memchr): Declare replacement.
47879         * modules/string (Makefile.am): Trigger replacement.
47880         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47881         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
47882         bugs.
47883         * doc/posix-functions/memchr.texi (memchr): Document the bug.
47884         * modules/getpagesize (License): Relax license.
47885
47886 2009-06-11  Bruno Haible  <bruno@clisp.org>
47887
47888         * lib/idpriv.h: Add more references.
47889
47890 2009-06-08  Bruno Haible  <bruno@clisp.org>
47891
47892         Tests for module 'idpriv-droptemp'.
47893         * modules/idpriv-droptemp-tests: New file.
47894         * tests/test-idpriv-droptemp.sh: New file.
47895         * tests/test-idpriv-droptemp.su.sh: New file.
47896         * tests/test-idpriv-droptemp.c: New file.
47897
47898         New module 'idpriv-droptemp'.
47899         * lib/idpriv-droptemp.c: New file.
47900         * modules/idpriv-droptemp: New file.
47901
47902 2009-06-08  Bruno Haible  <bruno@clisp.org>
47903
47904         Tests for module 'idpriv-drop'.
47905         * modules/idpriv-drop-tests: New file.
47906         * tests/test-idpriv-drop.sh: New file.
47907         * tests/test-idpriv-drop.su.sh: New file.
47908         * tests/test-idpriv-drop.c: New file.
47909
47910         New module 'idpriv-drop'.
47911         * lib/idpriv.h: New file.
47912         * lib-idpriv-drop.c: New file.
47913         * m4/idpriv.m4: New file.
47914         * modules/idpriv-drop: New file.
47915
47916 2009-06-08  Bruno Haible  <bruno@clisp.org>
47917
47918         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
47919         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47920         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47921         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47922         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47923         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47924         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47925
47926 2009-06-08  Eric Blake  <ebb9@byu.net>
47927
47928         test-strstr: use memory fence, when possible
47929         * tests/test-strstr.c (main): Use memory fence, in order to be
47930         more likely to trigger Debian bug 521737.
47931         * modules/strstr-tests (Files): Pull in additional files.
47932
47933         memchr: no longer obsolete, for wider field testing
47934         * modules/memchr (Status, Notice): Delete, this module is no
47935         longer obsolete.
47936         * modules/vasnprintf (Depends-on): Add memchr.
47937
47938 2009-06-07  Jim Meyering  <meyering@redhat.com>
47939
47940         hash: declare some functions with the warn_unused_result attribute
47941         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
47942
47943 2009-06-07  Bruno Haible  <bruno@clisp.org>
47944
47945         * tests/test-alignof.c: Don't test int64_t if it does not exist.
47946         Reported by Eric Blake.
47947
47948 2009-06-06  Eric Blake  <ebb9@byu.net>
47949
47950         test-alignof: fix typo with long double
47951         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
47952         compiler error.
47953
47954 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
47955
47956         Escape non-texinfo { and }s.
47957         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
47958         markup error.
47959
47960 2009-06-04  Jim Meyering  <meyering@redhat.com>
47961
47962         gitlog-to-changelog: don't infloop on an empty commit log
47963         * build-aux/gitlog-to-changelog: Warn about an empty log message.
47964         Reported by Boris Petersen <transacid@centerim.org>.
47965
47966 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
47967
47968         version-etc: extend for packagers
47969         Add three new configure options, intended for packagers:
47970           --with-packager="packager name"
47971           --with-packager-version="packager-specific version"
47972           --with-packager-bug-reports="packager bug reporting"
47973         An example with coreutils:
47974           $ ./configure \
47975             --with-packager=Gentoo \
47976             --with-packager-bug-report=http://bugs.gentoo.org/ \
47977             --with-packager-version="patchset 1.6"
47978           $ ./src/ls --version | head -n2
47979           ls (GNU coreutils) 7.1-dirty
47980           Packaged by Gentoo (patchset 1.6)
47981         Note that the bug reporting info via --help doesn't show up because
47982         coreutils uses its own custom emit_bug_reporting_address() implementation
47983         in src/system.h.  If it didn't, it'd look like:
47984           $ ./src/ls --help | tail -n4
47985           Report bugs to <bug-coreutils@gnu.org>.
47986           Report Gentoo bugs to <http://bugs.gentoo.org/>.
47987           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
47988           General help using GNU software: <http://www.gnu.org/gethelp/>.
47989         * lib/version-etc.c: Print new information, if provided.
47990         * m4/version-etc.m4: New file.
47991         * modules/version-etc (Files): Add m4/version-etc.m4.
47992         (configure.ac): Add gl_VERSION_ETC.
47993
47994 2009-05-31  Bruno Haible  <bruno@clisp.org>
47995
47996         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
47997         and 'int64_t'.
47998         * modules/alignof-tests (Dependencies): Add stdint.
47999         Reported by Eric Blake.
48000
48001 2009-05-31  Bruno Haible  <bruno@clisp.org>
48002
48003         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48004         restriction due to compiler bugs.
48005         Reported by Eric Blake.
48006
48007 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48008             Bruno Haible  <bruno@clisp.org>
48009
48010         Fix test-alignof failure.
48011         * lib/alignof.h (alignof_slot): New macro.
48012         (alignof_type): New macro, with the same semantics as the previous
48013         'alignof'.
48014         (alignof): Alias to alignof_slot.
48015         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48016         check that the results are usable as constant expressions.
48017
48018 2009-05-31  Bruno Haible  <bruno@clisp.org>
48019
48020         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48021         * tests/test-memchr.c (main): Check that memchr does not read past the
48022         first occurrence of the byte.
48023         * tests/test-strstr.c (main): Update comment.
48024         Suggested by Eric Blake.
48025
48026 2009-05-30  Bruno Haible  <bruno@clisp.org>
48027
48028         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48029         detail how to use dumpbin.
48030         Reported by David Byron <dbyron@dbyron.com>.
48031
48032 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48033
48034         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48035
48036 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48037
48038         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48039
48040 2009-05-28  Bruno Haible  <bruno@clisp.org>
48041
48042         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48043         build-aux/ files.
48044
48045 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48046
48047         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48048
48049 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48050
48051         * gnulib-tool (sed_transform_main_lib_file)
48052         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48053         regexps.
48054
48055 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48056
48057         * tests/test-strstr.c: Add another self-test.
48058         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48059         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48060
48061 2009-05-23  Bruno Haible  <bruno@clisp.org>
48062
48063         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48064         change.
48065
48066 2009-05-21  Bruno Haible  <bruno@clisp.org>
48067
48068         Simplify use of mode_t varargs.
48069         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48070         uses 'mode_t' or 'int'.
48071         * lib/openat.c (openat): Likewise.
48072         * lib/open-safer.c (open_safer): Likewise.
48073         * m4/mode_t.m4: New file.
48074         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48075         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48076         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48077         * modules/open (Files): Add m4/mode_t.m4.
48078         * modules/openat (Files): Likewise.
48079         * modules/fcntl-safer (Files): Likewise.
48080         Suggested by Eric Blake.
48081
48082 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48083
48084         * doc/glibc-functions/fallocate.texi: New file.
48085         * doc/gnulib.texi: Include it.
48086
48087 2009-05-21  Eric Blake  <ebb9@byu.net>
48088             Bruno Haible  <bruno@clisp.org>
48089
48090         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48091         invocations.
48092         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48093
48094 2009-05-21  Eric Blake  <ebb9@byu.net>
48095             Bruno Haible  <bruno@clisp.org>
48096
48097         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48098         include_next. Fix of 2008-11-20 commit.
48099         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48100         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48101         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48102         NEXT_MATH_H.
48103         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48104         instead of NEXT_MATH_H.
48105
48106 2009-05-21  Bruno Haible  <bruno@clisp.org>
48107
48108         Avoid redefinition warnings for SIZE_MAX.
48109         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48110         Reported by Simon Josefsson.
48111
48112 2009-05-21  Bruno Haible  <bruno@clisp.org>
48113
48114         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48115         AC_CACHE_VAL.
48116
48117 2009-05-20  Bruno Haible  <bruno@clisp.org>
48118
48119         Make zeroptr.h work on mingw.
48120         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48121         mprotect.
48122         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48123         * modules/memchr2-tests (configure.ac): Likewise.
48124         * modules/memcmp-tests (configure.ac): Likewise.
48125         * modules/memmem-tests (configure.ac): Likewise.
48126         * modules/memrchr-tests (configure.ac): Likewise.
48127         Reported by Simon Josefsson.
48128
48129 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48130
48131         * tests/test-glob.c: Include string.h for strcmp prototype.
48132
48133 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48134
48135         * modules/getdelim (Depends-on): Add explicit stdint, although it
48136         was implicitly already pulled in via realloc-posix.
48137         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48138
48139 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48140
48141         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48142         G. Christensen" <tgc@jupiterrise.com>.
48143         * m4/sys_socket_h.m4: Check for sa_family_t.
48144         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48145         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48146         * tests/test-sys_socket.c: Check that sa_family_t works.
48147
48148 2009-05-18  Eric Blake  <ebb9@byu.net>
48149
48150         maint.mk: allow gnulib_dir in VPATH build
48151         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48152
48153 2009-05-15  Jim Meyering  <meyering@redhat.com>
48154
48155         maint.mk: Give gnulib_dir a default definition.
48156         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48157         Thus, most packages no longer need to specify this variable in cfg.mk
48158
48159 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48160
48161         rename.m4: fix typos that would make non-mingw cross-configure fail
48162         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48163
48164 2009-05-13  Eric Blake  <ebb9@byu.net>
48165
48166         mmap-anon: avoid out-of-order autoconf expansion
48167         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48168         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48169         * modules/memchr-tests (Depends-on): Add extensions.
48170         * modules/memchr2-tests (Depends-on): Add extensions.
48171         * modules/memcmp-tests (Depends-on): Add extensions.
48172         * modules/memmem-tests (Depends-on): Add extensions.
48173         * modules/memrchr-tests (Depends-on): Add extensions.
48174
48175 2009-05-13  Bruno Haible  <bruno@clisp.org>
48176
48177         Make some tests ISO C 99 compliant.
48178         * tests/zerosize-ptr.h: New file.
48179         * tests/test-memchr.c: Include zerosize-ptr.h.
48180         (main): Use a zero-size object pointer instead of NULL.
48181         * tests/test-memchr2.c: Include zerosize-ptr.h.
48182         (main): Use a zero-size object pointer instead of NULL.
48183         * tests/test-memcmp.c: Include zerosize-ptr.h.
48184         (main): Use a zero-size object pointer instead of NULL.
48185         * tests/test-memmem.c: Include zerosize-ptr.h.
48186         (main): Use a zero-size object pointer instead of NULL.
48187         * tests/test-memrchr.c: Include zerosize-ptr.h.
48188         (main): Use a zero-size object pointer instead of NULL.
48189         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48190         m4/mmap-anon.m4.
48191         (Depends-on): Add getpagesize.
48192         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48193         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48194         m4/mmap-anon.m4.
48195         (Depends-on): Add getpagesize.
48196         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48197         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48198         m4/mmap-anon.m4.
48199         (Depends-on): Add getpagesize.
48200         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48201         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48202         m4/mmap-anon.m4.
48203         (Depends-on): Add getpagesize.
48204         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48205         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48206         m4/mmap-anon.m4.
48207         (Depends-on): Add getpagesize.
48208         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48209
48210 2009-05-12  Bruno Haible  <bruno@clisp.org>
48211
48212         Tests for module 'alignof'.
48213         * modules/alignof-tests: New file.
48214         * tests/test-alignof.c: New file.
48215
48216 2009-05-12  Bruno Haible  <bruno@clisp.org>
48217
48218         Fix alignof macro.
48219         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48220         vendor compilers that are always correct.
48221
48222 2009-05-12  Bruno Haible  <bruno@clisp.org>
48223
48224         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48225         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48226         not whether its fully works.
48227
48228 2009-05-12  Bruno Haible  <bruno@clisp.org>
48229
48230         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48231
48232 2009-05-12  Jim Meyering  <meyering@redhat.com>
48233
48234         * top/maint.mk: Adjust backslash alignment.
48235
48236 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48237
48238         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48239
48240 2009-05-11  Eric Blake  <ebb9@byu.net>
48241
48242         argp: avoid undefined behavior
48243         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48244         macros.
48245
48246 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48247
48248         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48249         user.name to prevent git commit from complaining.
48250
48251 2009-05-10  Bruno Haible  <bruno@clisp.org>
48252
48253         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48254         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48255         it rewrites every file name only once.
48256         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48257
48258 2009-05-08  Bruno Haible  <bruno@clisp.org>
48259
48260         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48261         instead of 'max'.
48262
48263 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48264
48265         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48266         sockaddr_storage test.
48267
48268 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48269
48270         * modules/sys_socket (Makefile.am): Substitute
48271         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48272         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48273         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48274         * tests/test-sys_socket.c: Check sockaddr_storage.
48275
48276 2009-05-08  Bruno Haible  <bruno@clisp.org>
48277
48278         New module 'alignof'.
48279         * lib/alignof.h: New file.
48280         * modules/alignof: New file.
48281
48282 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48283             Bruno Haible  <bruno@clisp.org>
48284
48285         Fix test-file-has-acl on FreeBSD.
48286         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48287         mask is implicitly added.
48288         * tests/test-file-has-acl.c: Include <signal.h>.
48289         (main): Terminate the test after 5 seconds.
48290         * modules/acl-tests (configure.ac): Check for alarm function.
48291
48292 2009-05-04  Bruno Haible  <bruno@clisp.org>
48293
48294         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48295         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48296         * modules/errno (configure.ac): Drop AC_REQUIRE.
48297         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48298         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48299
48300 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48301
48302         * modules/glob-tests: New module.
48303         * tests/test-glob.c: Add.
48304
48305 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48306
48307         * modules/fnmatch-tests: New module.
48308         * tests/test-fnmatch.c: Add.
48309
48310 2009-05-04  Eric Blake  <ebb9@byu.net>
48311
48312         maint: make the new no-submodule-changes rule VPATH-safe
48313         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48314
48315 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48316             Bruno Haible  <bruno@clisp.org>
48317
48318         acl: Fix infinite loop on FreeBSD.
48319         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48320         of return value from acl_get_entry.
48321         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48322         Likewise.
48323
48324 2009-05-03  Bruno Haible  <bruno@clisp.org>
48325
48326         * lib/acl-internal.h (acl_entries): Clarify return value.
48327         * lib/acl_entries.c (acl_entries): Likewise.
48328
48329 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48330
48331         Bug fix in acl module.
48332         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48333
48334 2009-05-03  Bruno Haible  <bruno@clisp.org>
48335
48336         Create gperf-generated file in the source dir, not in the build dir.
48337         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48338         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48339         * modules/unicase/locale-language (unicase/locale-languages.h):
48340         Likewise.
48341         * modules/unicase/special-casing (unicase/special-casing-table.h):
48342         Likewise.
48343         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48344         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48345         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48346         Reported by Ralf Wildenhues.
48347
48348 2009-05-03  Bruno Haible  <bruno@clisp.org>
48349
48350         * modules/fnmatch (Description, configure.ac): Taken from
48351         fnmatch-posix.
48352         * modules/fnmatch-posix: Turn into a symbolic reference to the
48353         'fnmatch' module, and deprecate.
48354         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48355
48356 2009-05-03  Bruno Haible  <bruno@clisp.org>
48357
48358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48359         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48360         Reported by Ralf Wildenhues.
48361
48362 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48363
48364         * m4/fnmatch.m4: Fix fnmatch re-define.
48365
48366 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48367
48368         priv-set: new module and tests; adapt write-any-file
48369         * lib/priv-set.c: New file.
48370         * lib/priv-set.h: New file.
48371         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48372         * lib/write-any-file.c: Simplify by using priv-set module.
48373         * m4/priv-set.m4: New file.
48374         * modules/priv-set: New file.
48375         * modules/unlinkdir: Add dependency on priv-set module.
48376         * modules/write-any-file: Likewise.
48377
48378         Tests for module 'priv-set'.
48379         * modules/priv-set-tests: New file.
48380         * tests/test-priv-set.c: New file.
48381
48382 2009-05-03  Jim Meyering  <meyering@redhat.com>
48383             Bruno Haible  <bruno@clisp.org>
48384
48385         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48386         use the converted UTF-8 variant of the name instead.
48387
48388 2009-05-03  Jim Meyering  <meyering@redhat.com>
48389
48390         tests: tighten some getdate tests
48391         * tests/test-getdate.c (main): Tighten tests: require equality,
48392         not just greater than.  Set TZ envvar to UTC0.
48393
48394 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48395
48396         getdate: correctly interpret "next monday" when run on a Monday
48397         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48398         that e.g., "next tues" (when run on a tuesday) results in a date
48399         that is one week in the future, and not today's date.
48400         I.e., add a week when the wday is the same as the current one.
48401         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48402         and earlier by Martin Bernreuther and Jan Minář.
48403         * tests/test-getdate.c (main): Check that "next DAY" is always in
48404         the future and that "last DAY" is always in the past.
48405
48406 2009-05-02  Jim Meyering  <meyering@redhat.com>
48407
48408         build: ensure that a release build fails when a submodule is unclean
48409         * top/maint.mk (no-submodule-changes): New rule.
48410         (alpha beta major): Depend on it.
48411
48412 2009-05-02  Bruno Haible  <bruno@clisp.org>
48413
48414         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48415         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48416         shell variable gl_fnmatch_required to detect which variant is
48417         requested.
48418         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48419         gl_FUNC_FNMATCH_POSIX.
48420         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48421         exclude fnmatch-posix.
48422
48423 2009-05-02  Bruno Haible  <bruno@clisp.org>
48424
48425         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48426         * modules/mbsrtowcs (License): Change to LGPLv2+.
48427         * modules/strnlen1 (License): Likewise.
48428         Reported by Simon Josefsson.
48429
48430 2009-05-02  Bruno Haible  <bruno@clisp.org>
48431
48432         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48433         "cross".
48434         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48435         gnulib-tool was called with option --source-base=lib.
48436
48437 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48438
48439         Use automake *-local hooks without commands, for extensibility.
48440         * modules/localcharset (Makefile.am): Rename install-exec-local
48441         rule to install-exec-localcharset, and make it a prerequisite of
48442         install-exec-local.  Likewise, rename the uninstall-local rule to
48443         uninstall-localcharset, and make it a prerequisite of the former.
48444
48445 2009-05-01  Bruno Haible  <bruno@clisp.org>
48446
48447         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48448         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48449         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48450         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48451         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48452         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48453         m4/locale-zh.m4, m4/codeset.m4.
48454
48455         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48456         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48457         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48458         m4/locale-zh.m4.
48459
48460         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48461         REPLACE_WCRTOMB if mbstate_t must be replaced.
48462         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48463         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48464
48465 2009-05-01  Bruno Haible  <bruno@clisp.org>
48466
48467         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48468         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48469         dngettext, dcngettext, textdomain, bindtextdomain,
48470         bind_textdomain_codeset): Undefine before redefining.
48471
48472 2009-04-30  Bruno Haible  <bruno@clisp.org>
48473
48474         Fix bug introduced on 2009-04-25.
48475         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48476         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48477         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48478         is defined.
48479         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48480         is defined.
48481         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48482         is defined.
48483         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48484
48485 2009-04-28  Bruno Haible  <bruno@clisp.org>
48486
48487         Comment tweaks.
48488         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48489         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48490         * lib/unicase.h (u*_casexfrm): Likewise.
48491         Reported by Paolo Bonzini.
48492
48493 2009-04-28  Bruno Haible  <bruno@clisp.org>
48494
48495         Fix a compilation error.
48496         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48497         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48498         Reported by Jim Meyering.
48499
48500 2009-04-27  Bruno Haible  <bruno@clisp.org>
48501
48502         New module 'libunistring'.
48503         * modules/libunistring: New file.
48504         * m4/libunistring.m4: New file.
48505         * MODULES.html.sh (Unicode string functions): Add it.
48506
48507 2009-04-27  Eric Blake  <ebb9@byu.net>
48508
48509         maint.mk: allow package-specific header to provide <config.h>
48510         * top/maint.mk (sc_require_config_h): New variable.
48511         (sc_require_config_h, sc_require_config_h_first): Use it.
48512
48513 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48514
48515         * top/maint.mk (sc_avoid_if_before_free): Except
48516         useless-if-before-free script.
48517
48518 2009-04-27  Eric Blake  <ebb9@byu.net>
48519
48520         maintainer-makefile: depend on all required helper scripts
48521         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48522         useless-if-before-free.
48523         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48524         version, rather than assuming gnulib checkout is available.
48525         Reported by Simen Josefsson.
48526
48527 2009-04-26  Bruno Haible  <bruno@clisp.org>
48528
48529         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48530         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48531         "../" or "..".
48532
48533 2009-04-26  Bruno Haible  <bruno@clisp.org>
48534
48535         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48536         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48537         AC_LIB_HAVE_LINKFLAGS.
48538
48539 2009-04-26  Bruno Haible  <bruno@clisp.org>
48540
48541         Simplify calling convention of u*_conv_from_encoding.
48542         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48543         u32_conv_from_encoding): Expect a resultbuf argument and return the
48544         result directly as a pointer.
48545         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48546         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48547         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48548         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48549         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48550         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48551         Update.
48552         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48553         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48554         * lib/vasnprintf.c (VASNPRINTF): Update.
48555         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48556         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48557         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48558         * NEWS: Mention the change.
48559
48560 2009-04-26  Bruno Haible  <bruno@clisp.org>
48561
48562         Simplify calling convention of u*_conv_to_encoding.
48563         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48564         u32_conv_to_encoding): Expect a resultbuf argument and return the
48565         result directly as a pointer.
48566         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48567         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48568         freeing scaled_offsets if mem_iconveha failed.
48569         * lib/unicase/u-casexfrm.h (FUNC): Update.
48570         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48571         * lib/vasnprintf.c (VASNPRINTF): Update.
48572         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48573         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48574         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48575         * NEWS: Mention the change.
48576
48577 2009-04-26  Bruno Haible  <bruno@clisp.org>
48578
48579         Avoid test failures on AIX and OSF/1.
48580         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48581         malloc(0).
48582         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48583         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48584         Likewise.
48585         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48586         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48587         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48588         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48589         * doc/posix-functions/malloc.texi: Document the portability problem
48590         related to malloc(0).
48591
48592 2009-04-26  Bruno Haible  <bruno@clisp.org>
48593
48594         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48595         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48596         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48597
48598 2009-04-25  Bruno Haible  <bruno@clisp.org>
48599
48600         Avoid link error when creating a namespace clean library.
48601         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48602         as macro with arguments if already defined as an alias.
48603         * lib/signbitf.c (gl_signbitf): Don't undefine.
48604         * lib/signbitd.c (gl_signbitd): Don't undefine.
48605         * lib/signbitl.c (gl_signbitl): Don't undefine.
48606
48607 2009-04-25  Jim Meyering  <meyering@redhat.com>
48608
48609         vc-list-files: fix another quoting bug
48610         * build-aux/vc-list-files: Avoid sed backslash expansion
48611         of pathological directory names.
48612
48613 2009-04-25  Eric Blake  <ebb9@byu.net>
48614
48615         vc-list-files: fix shell quoting error
48616         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48617         timestamp.
48618
48619 2009-04-25  Jim Meyering  <meyering@redhat.com>
48620
48621         vc-list-files: restore lost functionality with subdir argument
48622         * build-aux/vc-list-files: When given a non-"." sub-directory
48623         argument, substitute the $dir/ prefix back onto each resulting name.
48624         Otherwise, coreutils' root_tests check would fail.
48625
48626 2009-04-24  Eric Blake  <ebb9@byu.net>
48627
48628         vc-list-files: ignore git symlinks
48629         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48630         than ls-files, to ignore git symlinks.
48631
48632         maint.mk: import improvements from m4
48633         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48634         (move_if_change): Delete unused macro.
48635         (news-date-check, vc-diff-check): Support VPATH builds.
48636         (announcement): Likewise.  Split --bootstrap-tools list...
48637         (boostrap-tools): ...into separate list, which can be overridden
48638         in cfg.mk.
48639         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48640         requiring dependency on useless-if-before-free module.
48641         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48642         Support VPATH builds.
48643
48644 2009-04-24  Jim Meyering  <meyering@redhat.com>
48645
48646         maint.mk: remove coreutils-specific rules and variables
48647         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48648         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48649         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48650
48651         maint.mk: remove obsolete rule
48652         * top/maint.mk (rel-check): Remove rule.
48653         (WGET, WGETFLAGS): Remove now-unused variables.
48654
48655 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48656
48657         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48658         consistency.
48659
48660         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48661         '$(PATH_SEPARATOR)' instead of ':'.
48662
48663 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48664
48665         * lib/getopt1.c (main): Use 'const' for static array.
48666
48667 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48668
48669         * top/maint.mk: Sync with coreutils.
48670         * NEWS: Explain incompatibilities.
48671
48672 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48673             Bruno Haible  <bruno@clisp.org>
48674
48675         Fix cross-compilation results.
48676         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48677         statement, as third argument of AC_TRY_RUN.
48678         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48679         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48680         Likewise.
48681         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48682         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48683         Likewise.
48684         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48685         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48686         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48687
48688 2009-04-20  Bruno Haible  <bruno@clisp.org>
48689
48690         Avoid test failure on mingw.
48691         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48692
48693 2009-04-20  Bruno Haible  <bruno@clisp.org>
48694
48695         Avoid compilation error on mingw.
48696         * modules/localename-tests (Depends-on): Add locale.
48697
48698 2009-04-19  Bruno Haible  <bruno@clisp.org>
48699
48700         Support for building a shared library on Windows platforms.
48701         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48702         (main): Test the presence of UNINORM_NFC here.
48703         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48704         (main): Test the presence of UNINORM_NFD here.
48705         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48706         (main): Test the presence of UNINORM_NFKC here.
48707         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48708         (main): Test the presence of UNINORM_NFKD here.
48709
48710 2009-04-19  Bruno Haible  <bruno@clisp.org>
48711
48712         Avoid a compiler warning.
48713         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48714         Change type of variable 'sequence'.
48715
48716 2009-04-19  Bruno Haible  <bruno@clisp.org>
48717
48718         * modules/configmake (Makefile.am): When the contents of configmake.h
48719         does not change, arrange to preserve its modification time.
48720
48721 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48722
48723         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48724         gettext domain.
48725
48726 2009-04-16  Jim Meyering  <meyering@redhat.com>
48727
48728         useless-if-before-free: improve conversion code
48729         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48730         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48731
48732 2009-04-14  Bruno Haible  <bruno@clisp.org>
48733
48734         * modules/fcntl (Depends-on): Add extensions.
48735         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48736
48737 2009-04-12  Ben Pfaff  <blp@gnu.org>
48738
48739         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48740         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48741
48742 2009-03-20  Ben Pfaff  <blp@gnu.org>
48743
48744         Make rename replace existing destinations on Windows.
48745         * m4/rename.m4: Add test for Mingw.
48746         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48747         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48748         * doc/posix-functions/rename.texi: Document.
48749
48750 2009-04-10  Bruno Haible  <bruno@clisp.org>
48751
48752         New include file "iconveh.h".
48753         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48754         * lib/striconveh.h: Include it.
48755         (enum iconv_ilseq_handler): Remove definition.
48756         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48757         striconveh.h.
48758         * lib/striconveha.c: Include striconveh.h.
48759         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48760         * modules/striconveh (Files): Add lib/iconveh.h.
48761         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48762         lib/striconveh.h.
48763
48764 2009-04-10  Bruno Haible  <bruno@clisp.org>
48765
48766         * lib/uniconv.h: Update comment.
48767
48768 2009-04-10  Bruno Haible  <bruno@clisp.org>
48769
48770         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
48771         always.
48772         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48773         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48774         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48775         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
48776         "unistring-notinline.h", so that the function gets defined always.
48777         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48778         * lib/unistr/u8-uctomb.c: Likewise.
48779         * lib/unistr/u16-mbtouc.c: Likewise.
48780         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48781         * lib/unistr/u16-uctomb.c: Likewise.
48782         * lib/unistr/u32-mbtouc.c: Likewise.
48783         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48784         * lib/unistr/u32-uctomb.c: Likewise.
48785
48786 2009-04-10  Bruno Haible  <bruno@clisp.org>
48787
48788         Mark 'utime' obsolete.
48789         * modules/utime (Status, Notice): New sections.
48790         Suggested by Jim Meyering.
48791
48792         Fix cross-compile guess for utime test.
48793         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
48794         autoconf.
48795         * doc/posix-functions/utime.texi: Give more precisions.
48796         Reported by Jan <ipif@ymail.com>.
48797
48798 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
48799
48800         filevercmp: correct today's change
48801         * lib/filevercmp.c: Also handle coreutils' test inputs.
48802         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
48803
48804         Fix regression in 'filevercmp' module. Thanks Sven Joachim
48805         for reporting it.
48806         * lib/filevercmp.c: Special handle for "", "." and "..".
48807         * tests/test-filevercmp.c: Enlarge the set suite.
48808
48809 2009-04-07  Jim Meyering  <meyering@redhat.com>
48810
48811         useless-if-before-free: show how to remove braced useless free, too
48812         * build-aux/useless-if-before-free: still only in a comment, though.
48813
48814 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
48815
48816         maint.mk: import changes to syntax-check macros from coreutils
48817         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
48818         Use them in the relevant macros.
48819
48820 2009-04-06  Bruno Haible  <bruno@clisp.org>
48821
48822         Fix unportable use of bit-fields.
48823         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
48824         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
48825         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
48826
48827 2009-04-06  Bruno Haible  <bruno@clisp.org>
48828
48829         Avoid test failures on AIX and OSF/1.
48830         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
48831         that malloc(0) = NULL.
48832         * tests/unicase/test-u8-tolower.c (check): Likewise.
48833         * tests/unicase/test-u8-totitle.c (check): Likewise.
48834         * tests/unicase/test-u8-toupper.c (check): Likewise.
48835         * tests/unicase/test-u16-casefold.c (check): Likewise.
48836         * tests/unicase/test-u16-tolower.c (check): Likewise.
48837         * tests/unicase/test-u16-totitle.c (check): Likewise.
48838         * tests/unicase/test-u16-toupper.c (check): Likewise.
48839         * tests/unicase/test-u32-casefold.c (check): Likewise.
48840         * tests/unicase/test-u32-tolower.c (check): Likewise.
48841         * tests/unicase/test-u32-totitle.c (check): Likewise.
48842         * tests/unicase/test-u32-toupper.c (check): Likewise.
48843         * tests/uninorm/test-u8-nfc.c (check): Likewise.
48844         * tests/uninorm/test-u8-nfd.c (check): Likewise.
48845         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
48846         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
48847         * tests/uninorm/test-u16-nfc.c (check): Likewise.
48848         * tests/uninorm/test-u16-nfd.c (check): Likewise.
48849         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
48850         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
48851         * tests/uninorm/test-u32-nfc.c (check): Likewise.
48852         * tests/uninorm/test-u32-nfd.c (check): Likewise.
48853         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
48854         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
48855
48856 2009-04-05  Bruno Haible  <bruno@clisp.org>
48857
48858         Work around an autoconf limitation.
48859         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
48860         comment line if it would be longer than 3 KB.
48861
48862 2009-04-05  Bruno Haible  <bruno@clisp.org>
48863
48864         Avoid test failure with libiconv-1.13.
48865         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
48866         of the expected test results.
48867
48868 2009-04-05  Bruno Haible  <bruno@clisp.org>
48869
48870         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
48871         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
48872         that it should be installed.
48873
48874 2009-04-05  Bruno Haible  <bruno@clisp.org>
48875
48876         * gnulib-tool: New option --copy-file.
48877         (func_usage): Document it.
48878         (func_dest_tmpfilename): Moved out of func_import.
48879         (func_add_file, func_update_file): New functions, extracted from
48880         func_import.
48881         (func_import): Update.
48882
48883 2009-04-05  Karl Berry  <karl@gnu.org>
48884
48885         * README: prominently mention gnulib-tool.
48886         Rearrange sections so getting the code is near the top.
48887
48888 2009-04-05  Bruno Haible  <bruno@clisp.org>
48889
48890         * lib/unicase.h: Mention u*_cmp2.
48891         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48892         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
48893         * lib/unicase/ulc-casecmp.c: Likewise.
48894         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
48895         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
48896         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
48897         unistr/u8-cmp.
48898         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
48899         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
48900         unistr/u16-cmp.
48901         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
48902         unistr/u32-cmp.
48903
48904         * lib/uninorm.h: Mention u*_cmp2.
48905         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48906         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
48907         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
48908         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
48909         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
48910         unistr/u8-cmp.
48911         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
48912         unistr/u16-cmp.
48913         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
48914         unistr/u32-cmp.
48915
48916         New module 'unistr/u32-cmp2'.
48917         * lib/unistr/u32-cmp2.c: New file.
48918         * modules/unistr/u32-cmp2: New file.
48919
48920         New module 'unistr/u16-cmp2'.
48921         * lib/unistr/u16-cmp2.c: New file.
48922         * modules/unistr/u16-cmp2: New file.
48923
48924         New module 'unistr/u8-cmp2'.
48925         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
48926         * lib/unistr/u8-cmp2.c: New file.
48927         * lib/unistr/u-cmp2.h: New file.
48928         * modules/unistr/u8-cmp2: New file.
48929
48930 2009-04-05  Bruno Haible  <bruno@clisp.org>
48931
48932         * lib/unictype.h (uc_property_is_valid): New macro.
48933         * tests/unictype/test-pr_byname.c (main): Use it.
48934
48935         * lib/unistr.h: Doc fixes.
48936         * lib/uniconv.h: Doc fixes.
48937         * lib/unictype.h: Doc fixes.
48938
48939 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48940
48941         Port coreutils 7.2 to Solaris 8.
48942
48943         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
48944         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
48945         for Solaris 8.  This is a bit of a hack, as it means it's the
48946         caller's responsibility to add -lnsl if needed, but most likely it
48947         won't be needed since only getaddrinfo uses this and getaddrinfo
48948         isn't needed on Solaris 8.
48949
48950         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
48951         problem to Solaris 8 encountered with coreutils 7.2, which
48952         resulted in a message "fnmatch.c:292: warning: passing argument 4
48953         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
48954         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
48955
48956 2009-04-03  Simon Josefsson  <simon@josefsson.org>
48957
48958         * m4/ld-version-script.m4: Add FIXME comment.
48959
48960 2009-04-02  Simon Josefsson  <simon@josefsson.org>
48961
48962         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
48963         SOVERSION variable.
48964
48965 2009-04-02  Bruno Haible  <bruno@clisp.org>
48966
48967         * Makefile (info, html, dvi, pdf): Combine the rules.
48968         Suggested by Jim Meyering.
48969
48970 2009-04-01  Bruno Haible  <bruno@clisp.org>
48971
48972         * Makefile (info, html, dvi, pdf): New targets.
48973         Reported by Reuben Thomas <rrt@sc3d.org>.
48974
48975 2009-04-01  Bruno Haible  <bruno@clisp.org>
48976
48977         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
48978         can be put into PATH.
48979         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
48980
48981 2009-04-01  Bruno Haible  <bruno@clisp.org>
48982
48983         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
48984
48985 2009-04-01  Bruno Haible  <bruno@clisp.org>
48986
48987         Rename module 'visibility'.
48988         * modules/lib-symbol-visibility: Renamed from modules/visibility.
48989         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
48990         * doc/gnulib.texi: Update.
48991         * MODULES.html.sh (Misc): Update.
48992         * NEWS: Mention the change.
48993
48994 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48995
48996         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
48997         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
48998         Eric Blake <ebb9@byu.net> for review.
48999         * MODULES.html.sh: Add lib-msvc-compat.
49000         * doc/gnulib.texi: Link to new section.
49001         * m4/ld-output-def.m4: New file.
49002         * doc/ld-output-def.texi: New file.
49003
49004 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49005
49006         Rename ld-version-script to lib-symbol-versions.  Suggested by
49007         Bruno Haible <bruno@clisp.org>.
49008         * modules/ld-version-script: Renamed to lib-symbol-versions.
49009         * doc/ld-version-script.texi: Fix module name.
49010         * MODULES.html.sh: Add lib-symbol-versions.
49011
49012 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49013
49014         * modules/u64-tests: New file.
49015         * tests/test-u64.c: New file.
49016
49017 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49018
49019         * MODULES.html.sh: Mention u64.
49020         * modules/u64: New module.
49021         * modules/crypto/sha512: Depend on u64 module instead of providing
49022         u64.h.
49023
49024 2009-03-27  Eric Blake  <ebb9@byu.net>
49025
49026         test-strerror: make debugging EAI_SYSTEM easier
49027         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49028         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49029         failure was EAI_SYSTEM.
49030
49031 2009-03-25  Bruno Haible  <bruno@clisp.org>
49032
49033         Fix a problem with --enable-relocatable on Solaris 7.
49034         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49035         since 2008-02-24.
49036
49037 2009-03-25  Eric Blake  <ebb9@byu.net>
49038
49039         test-sockets: avoid gcc warning
49040         * tests/test-sockets.c (main): Silence compiler warning.
49041
49042 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49043
49044         New modules nproc, pthread, contributed by Glen Lenker.
49045
49046         * MODULES.html.sh: Add pthread, nproc.
49047         * lib/nproc.c: New file.
49048         * lib/nproc.h: New file.
49049         * lib/pthread.in.h: New file.
49050         * m4/pthread.m4: New file.
49051         * modules/nproc: New file.
49052         * modules/pthread: New file.
49053
49054 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49055
49056         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49057         New variable.
49058
49059 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49060
49061         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49062         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49063         * tests/test-filevercmp.c: Add tests for backup suffixes.
49064
49065 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49066
49067         * modules/stdlib (Depends-on): Add stdint, needed when defining
49068         struct random_data on, for example, HP-UX 10.20.  Reported by
49069         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49070
49071 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49072
49073         * lib/readline.c (readline): Call fflush on stdout after printing
49074         prompt.
49075
49076 2009-03-20  Bruno Haible  <bruno@clisp.org>
49077
49078         Remove dependency from 'close' module to -lws2_32 on native Windows.
49079         * lib/close-hook.h: New file.
49080         * lib/close-hook.c: New file.
49081         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49082         w32sock.h.
49083         (_gl_close_fd_maybe_socket): Remove function.
49084         (rpl_close): Invoke execute_all_close_hooks instead of
49085         _gl_close_fd_maybe_socket.
49086         * lib/sockets.c: Include close-hook.h, w32sock.h.
49087         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49088         (close_sockets_hook): New variable.
49089         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49090         (gl_sockets_cleanup): Unregister it.
49091         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49092         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49093         * modules/close-hook: New file.
49094         * modules/close (Files): Remove lib/w32sock.h.
49095         (Depends-on): Add close-hook.
49096         (Link): Remove section.
49097         * modules/sockets (Files): Add lib/w32sock.h.
49098         (Depends-on): Add close-hook.
49099         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49100         invocation.
49101         * NEWS: Mention that LIB_CLOSE is gone.
49102
49103 2009-03-23  Eric Blake  <ebb9@byu.net>
49104
49105         signal-tests: test previous patch
49106         * tests/test-signal.c: New file.
49107         * modules/signal-tests: Likewise.
49108
49109         signal.h: always support 'volatile sig_atomic_t'
49110         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49111         (gl_SIGNAL_H_DEFAULTS): Add a default.
49112         * modules/signal (Makefile.am): Substitute if needed.
49113         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49114         users can blindly add volatile.
49115         * doc/posix-headers/signal.texi (signal.h): Document it.
49116         Reported by Matthew Woehlke.
49117
49118 2009-03-23  Jim Meyering  <meyering@redhat.com>
49119
49120         pathmax: PATH_MAX: use pathconf only when available
49121         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49122         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49123         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49124         This avoids a link failure in a PSP cross-compilation environment
49125         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49126
49127         * lib/vasnprintf.c (divide): Fix typo in comment.
49128
49129 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49130
49131         * gnulib-tool (func_filter_filelist): Fix comment.
49132
49133 2009-03-20  Bruno Haible  <bruno@clisp.org>
49134
49135         Make sockets.h self-contained.
49136         * lib/sockets.c: Include sockets.h first.
49137         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49138
49139 2009-03-19  Eric Blake  <ebb9@byu.net>
49140
49141         doc: mention more functions added in cygwin 1.7.0
49142         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49143         addition.
49144         * doc/posix-functions/log2f.texi: Likewise.
49145
49146 2009-03-19  Jim Meyering  <meyering@redhat.com>
49147
49148         fsusage: avoid syntax error due to statement-before-declaration
49149         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49150         after all declarations.  Reported by Matthew Woehlke in
49151         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49152
49153 2009-03-18  Eric Blake  <ebb9@byu.net>
49154
49155         build-aux/compile: sync from automake
49156         * build-aux/compile: New file, from automake.
49157         * config/srclist.txt: Mention build-aux/compile.
49158
49159 2009-03-17  Bruno Haible  <bruno@clisp.org>
49160
49161         * lib/git-merge-changelog.c: Fix typo in comment.
49162         Reported by Reuben Thomas <rrt@sc3d.org>.
49163
49164 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49165
49166         * m4/regex.m4: update and improve help for
49167         --without-included-regex.
49168
49169 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49170
49171         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49172         failure on missing include files.
49173
49174 2009-03-17  Eric Blake  <ebb9@byu.net>
49175
49176         doc: mention more functions added in cygwin 1.7.0
49177         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49178         addition.
49179         * doc/posix-functions/fwscanf.texi: Likewise.
49180         * doc/posix-functions/swprintf.texi: Likewise.
49181         * doc/posix-functions/swscanf.texi: Likewise.
49182         * doc/posix-functions/vfwprintf.texi: Likewise.
49183         * doc/posix-functions/vfwscanf.texi: Likewise.
49184         * doc/posix-functions/vswprintf.texi: Likewise.
49185         * doc/posix-functions/vswscanf.texi: Likewise.
49186         * doc/posix-functions/vwprintf.texi: Likewise.
49187         * doc/posix-functions/vwscanf.texi: Likewise.
49188         * doc/posix-functions/wcscasecmp.texi: Likewise.
49189         * doc/posix-functions/wcsdup.texi: Likewise.
49190         * doc/posix-functions/wcsftime.texi: Likewise.
49191         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49192         * doc/posix-functions/wprintf.texi: Likewise.
49193         * doc/posix-functions/wscanf.texi: Likewise.
49194         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49195
49196 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49197
49198         maint.mk: really add $(AM_MAKEFLAGS)
49199         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49200         was inadvertently omitted in the last commit.
49201         Spotted by Bruno Haible.
49202
49203         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49204         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49205         $(AM_MAKEFLAGS)' rather than plain `make'.
49206
49207         gnulib-tool: execute $MAKE not make
49208         * gnulib-tool: Default $MAKE to 'make'.
49209         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49210         than make.  Initialize $MAKE in the do-autobuild script.
49211
49212         gnulib-tool: use $MAKE not make in generated files
49213         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49214         make, in generated files.  Initialize $MAKE in the do-autobuild
49215         script.
49216
49217         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49218
49219         GNUmakefile: disable parallelism only for multiple, recursive targets
49220         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49221         additions in the Makefile.
49222         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49223         by Automake.
49224         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49225         are listed on the command line and at least one of them is
49226         listed in $(ALL_RECURSIVE_TARGETS).
49227
49228 2009-03-14  Bruno Haible  <bruno@clisp.org>
49229
49230         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49231         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49232         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49233         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49234         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49235         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49236         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49237         unistr/u8-uctomb.
49238         * modules/unistr/u8-strchr (Depends-on): Likewise.
49239         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49240         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49241         unistr/u16-uctomb.
49242         * modules/unistr/u16-strchr (Depends-on): Likewise.
49243         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49244
49245 2009-03-12  Bruno Haible  <bruno@clisp.org>
49246
49247         Work around select() bug on Interix 3.5.
49248         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49249         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49250         * m4/select.m4: New file.
49251         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49252         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49253         * modules/select (Files): Add m4/select.m4.
49254         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49255         * modules/nanosleep (Depends-on): Add select.
49256         * modules/poll (Depends-on): Likewise.
49257         * doc/posix-functions/select.texi: Mention the Interix bug.
49258         Reported by Markus Duft <mduft@gentoo.org>.
49259
49260         * lib/select.c: Renamed from lib/winsock-select.c.
49261         * modules/select (Files): Add lib/select.c, remove
49262         lib/winsock-select.c.
49263         (configure.ac): Update.
49264
49265 2009-03-12  Jim Meyering  <meyering@redhat.com>
49266
49267         avoid gcc warnings about unused macro definitions
49268         * lib/readtokens.c (STREQ): Remove unused definition.
49269         * lib/xmalloc.c (SIZE_MAX): Likewise.
49270         * lib/openat-die.c (N_): Likewise.
49271         * lib/mountlist.c (SIZE_MAX): Remove definition.
49272         Instead, include <stdint.h>.
49273         * lib/readutmp.c: Likewise.
49274         * modules/readutmp (Depends-on): Add stdint.
49275         * modules/mountlist (Depends-on): Add stdint.
49276         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49277
49278 2009-03-10  Bruno Haible  <bruno@clisp.org>
49279
49280         Tests for module 'mbmemcasecoll'.
49281         * modules/mbmemcasecoll-tests: New file.
49282         * tests/test-mbmemcasecoll1.sh: New file.
49283         * tests/test-mbmemcasecoll2.sh: New file.
49284         * tests/test-mbmemcasecoll3.sh: New file.
49285         * tests/test-mbmemcasecoll.c: New file.
49286
49287         New module 'mbmemcasecoll'.
49288         * lib/mbmemcasecoll.h: New file.
49289         * lib/mbmemcasecoll.c: New file.
49290         * modules/mbmemcasecoll: New file.
49291
49292         * tests/test-mbmemcasecmp.h: New file, extracted from
49293         tests/test-mbmemcasecmp.c.
49294         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49295         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49296         (main): Update.
49297         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49298
49299 2009-03-09  Bruno Haible  <bruno@clisp.org>
49300
49301         Tests for module 'mbmemcasecmp'.
49302         * modules/mbmemcasecmp-tests: New file.
49303         * tests/test-mbmemcasecmp1.sh: New file.
49304         * tests/test-mbmemcasecmp2.sh: New file.
49305         * tests/test-mbmemcasecmp3.sh: New file.
49306         * tests/test-mbmemcasecmp.c: New file.
49307
49308         New module 'mbmemcasecmp'.
49309         * lib/mbmemcasecmp.h: New file.
49310         * lib/mbmemcasecmp.c: New file.
49311         * modules/mbmemcasecmp: New file.
49312
49313 2009-03-09  Bruno Haible  <bruno@clisp.org>
49314
49315         Tests for module 'unicase/ulc-casecoll'.
49316         * modules/unicase/ulc-casecoll-tests: New file.
49317         * tests/unicase/test-ulc-casecoll1.sh: New file.
49318         * tests/unicase/test-ulc-casecoll2.sh: New file.
49319         * tests/unicase/test-ulc-casecoll.c: New file.
49320
49321         New module 'unicase/ulc-casecoll'.
49322         * lib/unicase.h (ulc_casecoll): New declaration.
49323         * lib/unicase/ulc-casecoll.c: New file.
49324         * modules/unicase/ulc-casecoll: New file.
49325
49326         New module 'unicase/ulc-casexfrm'.
49327         * lib/unicase.h (ulc_casexfrm): New declaration.
49328         * lib/unicase/ulc-casexfrm.c: New file.
49329         * modules/unicase/ulc-casexfrm: New file.
49330
49331 2009-03-09  Bruno Haible  <bruno@clisp.org>
49332
49333         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49334         invocations.
49335
49336         * m4/mbscasecmp.m4: Remove file.
49337         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49338         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49339
49340         * m4/mbscasestr.m4: Remove file.
49341         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49342         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49343
49344         * m4/mbschr.m4: Remove file.
49345         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49346         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49347
49348         * m4/mbscspn.m4: Remove file.
49349         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49350         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49351
49352         * m4/mbslen.m4: Remove file.
49353         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49354         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49355
49356         * m4/mbsncasecmp.m4: Remove file.
49357         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49358         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49359
49360         * m4/mbsnlen.m4: Remove file.
49361         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49362         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49363
49364         * m4/mbspbrk.m4: Remove file.
49365         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49366         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49367
49368         * m4/mbspcasecmp.m4: Remove file.
49369         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49370         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49371
49372         * m4/mbsrchr.m4: Remove file.
49373         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49374         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49375
49376         * m4/mbssep.m4: Remove file.
49377         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49378         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49379
49380         * m4/mbsspn.m4: Remove file.
49381         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49382         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49383
49384         * m4/mbsstr.m4: Remove file.
49385         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49386         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49387
49388         * m4/mbstok_r.m4: Remove file.
49389         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49390         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49391
49392         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49393
49394         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49395         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49396
49397         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49398
49399 2009-03-08  Bruno Haible  <bruno@clisp.org>
49400
49401         Tests for module 'unicase/ulc-casecmp'.
49402         * modules/unicase/ulc-casecmp-tests: New file.
49403         * tests/unicase/test-ulc-casecmp1.sh: New file.
49404         * tests/unicase/test-ulc-casecmp2.sh: New file.
49405         * tests/unicase/test-ulc-casecmp.c: New file.
49406
49407         New module 'unicase/ulc-casecmp'.
49408         * lib/unicase.h (ulc_casecmp): New declaration.
49409         * lib/unicase/ulc-casecmp.c: New file.
49410         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49411         'const SRC_UNIT *'.
49412         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49413         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49414         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49415         * modules/unicase/ulc-casecmp: New file.
49416
49417         Tests for module 'unicase/u32-is-cased'.
49418         * modules/unicase/u32-is-cased-tests: New file.
49419         * tests/unicase/test-u32-is-cased.c: New file.
49420
49421         Tests for module 'unicase/u16-is-cased'.
49422         * modules/unicase/u16-is-cased-tests: New file.
49423         * tests/unicase/test-u16-is-cased.c: New file.
49424
49425         Tests for module 'unicase/u8-is-cased'.
49426         * modules/unicase/u8-is-cased-tests: New file.
49427         * tests/unicase/test-u8-is-cased.c: New file.
49428         * tests/unicase/test-is-cased.h: New file.
49429
49430         New module 'unicase/u32-is-cased'.
49431         * lib/unicase/u32-is-cased.c: New file.
49432         * modules/unicase/u32-is-cased: New file.
49433
49434         New module 'unicase/u16-is-cased'.
49435         * lib/unicase/u16-is-cased.c: New file.
49436         * modules/unicase/u16-is-cased: New file.
49437
49438         New module 'unicase/u8-is-cased'.
49439         * lib/unicase/u8-is-cased.c: New file.
49440         * lib/unicase/u-is-cased.h: New file.
49441         * modules/unicase/u8-is-cased: New file.
49442
49443         Tests for module 'unicase/u32-is-casefolded'.
49444         * modules/unicase/u32-is-casefolded-tests: New file.
49445         * tests/unicase/test-u32-is-casefolded.c: New file.
49446
49447         Tests for module 'unicase/u16-is-casefolded'.
49448         * modules/unicase/u16-is-casefolded-tests: New file.
49449         * tests/unicase/test-u16-is-casefolded.c: New file.
49450
49451         Tests for module 'unicase/u8-is-casefolded'.
49452         * modules/unicase/u8-is-casefolded-tests: New file.
49453         * tests/unicase/test-u8-is-casefolded.c: New file.
49454         * tests/unicase/test-is-casefolded.h: New file.
49455
49456         New module 'unicase/u32-is-casefolded'.
49457         * lib/unicase/u32-is-casefolded.c: New file.
49458         * modules/unicase/u32-is-casefolded: New file.
49459
49460         New module 'unicase/u16-is-casefolded'.
49461         * lib/unicase/u16-is-casefolded.c: New file.
49462         * modules/unicase/u16-is-casefolded: New file.
49463
49464         New module 'unicase/u8-is-casefolded'.
49465         * lib/unicase/u8-is-casefolded.c: New file.
49466         * modules/unicase/u8-is-casefolded: New file.
49467
49468         Tests for module 'unicase/u32-is-titlecase'.
49469         * modules/unicase/u32-is-titlecase-tests: New file.
49470         * tests/unicase/test-u32-is-titlecase.c: New file.
49471
49472         Tests for module 'unicase/u16-is-titlecase'.
49473         * modules/unicase/u16-is-titlecase-tests: New file.
49474         * tests/unicase/test-u16-is-titlecase.c: New file.
49475
49476         Tests for module 'unicase/u8-is-titlecase'.
49477         * modules/unicase/u8-is-titlecase-tests: New file.
49478         * tests/unicase/test-u8-is-titlecase.c: New file.
49479         * tests/unicase/test-is-titlecase.h: New file.
49480
49481         New module 'unicase/u32-is-titlecase'.
49482         * lib/unicase/u32-is-titlecase.c: New file.
49483         * modules/unicase/u32-is-titlecase: New file.
49484
49485         New module 'unicase/u16-is-titlecase'.
49486         * lib/unicase/u16-is-titlecase.c: New file.
49487         * modules/unicase/u16-is-titlecase: New file.
49488
49489         New module 'unicase/u8-is-titlecase'.
49490         * lib/unicase/u8-is-titlecase.c: New file.
49491         * modules/unicase/u8-is-titlecase: New file.
49492
49493         Tests for module 'unicase/u32-is-lowercase'.
49494         * modules/unicase/u32-is-lowercase-tests: New file.
49495         * tests/unicase/test-u32-is-lowercase.c: New file.
49496
49497         Tests for module 'unicase/u16-is-lowercase'.
49498         * modules/unicase/u16-is-lowercase-tests: New file.
49499         * tests/unicase/test-u16-is-lowercase.c: New file.
49500
49501         Tests for module 'unicase/u8-is-lowercase'.
49502         * modules/unicase/u8-is-lowercase-tests: New file.
49503         * tests/unicase/test-u8-is-lowercase.c: New file.
49504         * tests/unicase/test-is-lowercase.h: New file.
49505
49506         New module 'unicase/u32-is-lowercase'.
49507         * lib/unicase/u32-is-lowercase.c: New file.
49508         * modules/unicase/u32-is-lowercase: New file.
49509
49510         New module 'unicase/u16-is-lowercase'.
49511         * lib/unicase/u16-is-lowercase.c: New file.
49512         * modules/unicase/u16-is-lowercase: New file.
49513
49514         New module 'unicase/u8-is-lowercase'.
49515         * lib/unicase/u8-is-lowercase.c: New file.
49516         * modules/unicase/u8-is-lowercase: New file.
49517
49518         Tests for module 'unicase/u32-is-uppercase'.
49519         * modules/unicase/u32-is-uppercase-tests: New file.
49520         * tests/unicase/test-u32-is-uppercase.c: New file.
49521
49522         Tests for module 'unicase/u16-is-uppercase'.
49523         * modules/unicase/u16-is-uppercase-tests: New file.
49524         * tests/unicase/test-u16-is-uppercase.c: New file.
49525
49526         Tests for module 'unicase/u8-is-uppercase'.
49527         * modules/unicase/u8-is-uppercase-tests: New file.
49528         * tests/unicase/test-u8-is-uppercase.c: New file.
49529         * tests/unicase/test-is-uppercase.h: New file.
49530
49531         New module 'unicase/u32-is-uppercase'.
49532         * lib/unicase/u32-is-uppercase.c: New file.
49533         * modules/unicase/u32-is-uppercase: New file.
49534
49535         New module 'unicase/u16-is-uppercase'.
49536         * lib/unicase/u16-is-uppercase.c: New file.
49537         * modules/unicase/u16-is-uppercase: New file.
49538
49539         New module 'unicase/u8-is-uppercase'.
49540         * lib/unicase/u8-is-uppercase.c: New file.
49541         * modules/unicase/u8-is-uppercase: New file.
49542
49543         New module 'unicase/u32-is-invariant'.
49544         * lib/unicase/u32-is-invariant.c: New file.
49545         * modules/unicase/u32-is-invariant: New file.
49546
49547         New module 'unicase/u16-is-invariant'.
49548         * lib/unicase/u16-is-invariant.c: New file.
49549         * modules/unicase/u16-is-invariant: New file.
49550
49551         New module 'unicase/u8-is-invariant'.
49552         * lib/unicase/u8-is-invariant.c: New file.
49553         * lib/unicase/invariant.h: New file.
49554         * lib/unicase/u-is-invariant.h: New file.
49555         * modules/unicase/u8-is-invariant: New file.
49556
49557         Tests for module 'unicase/u32-casecoll'.
49558         * modules/unicase/u32-casecoll-tests: New file.
49559         * tests/unicase/test-u32-casecoll.c: New file.
49560
49561         Tests for module 'unicase/u16-casecoll'.
49562         * modules/unicase/u16-casecoll-tests: New file.
49563         * tests/unicase/test-u16-casecoll.c: New file.
49564
49565         Tests for module 'unicase/u8-casecoll'.
49566         * modules/unicase/u8-casecoll-tests: New file.
49567         * tests/unicase/test-u8-casecoll.c: New file.
49568
49569         New module 'unicase/u32-casecoll'.
49570         * lib/unicase/u32-casecoll.c: New file.
49571         * modules/unicase/u32-casecoll: New file.
49572
49573         New module 'unicase/u16-casecoll'.
49574         * lib/unicase/u16-casecoll.c: New file.
49575         * modules/unicase/u16-casecoll: New file.
49576
49577         New module 'unicase/u8-casecoll'.
49578         * lib/unicase/u8-casecoll.c: New file.
49579         * lib/unicase/u-casecoll.h: New file.
49580         * modules/unicase/u8-casecoll: New file.
49581
49582         New module 'unicase/u32-casexfrm'.
49583         * lib/unicase/u32-casexfrm.c: New file.
49584         * modules/unicase/u32-casexfrm: New file.
49585
49586         New module 'unicase/u16-casexfrm'.
49587         * lib/unicase/u16-casexfrm.c: New file.
49588         * modules/unicase/u16-casexfrm: New file.
49589
49590         New module 'unicase/u8-casexfrm'.
49591         * lib/unicase/u8-casexfrm.c: New file.
49592         * lib/unicase/u-casexfrm.h: New file.
49593         * modules/unicase/u8-casexfrm: New file.
49594
49595         Tests for module 'unicase/u32-casecmp'.
49596         * modules/unicase/u32-casecmp-tests: New file.
49597         * tests/unicase/test-u32-casecmp.c: New file.
49598
49599         Tests for module 'unicase/u16-casecmp'.
49600         * modules/unicase/u16-casecmp-tests: New file.
49601         * tests/unicase/test-u16-casecmp.c: New file.
49602
49603         Tests for module 'unicase/u8-casecmp'.
49604         * modules/unicase/u8-casecmp-tests: New file.
49605         * tests/unicase/test-u8-casecmp.c: New file.
49606         * tests/unicase/test-casecmp.h: New file.
49607
49608         New module 'unicase/u32-casecmp'.
49609         * lib/unicase/u32-casecmp.c: New file.
49610         * modules/unicase/u32-casecmp: New file.
49611
49612         New module 'unicase/u16-casecmp'.
49613         * lib/unicase/u16-casecmp.c: New file.
49614         * modules/unicase/u16-casecmp: New file.
49615
49616         New module 'unicase/u8-casecmp'.
49617         * lib/unicase/u8-casecmp.c: New file.
49618         * lib/unicase/u-casecmp.h: New file.
49619         * modules/unicase/u8-casecmp: New file.
49620
49621         Tests for module 'unicase/u32-casefold'.
49622         * modules/unicase/u32-casefold-tests: New file.
49623         * tests/unicase/test-u32-casefold.c: New file.
49624
49625         Tests for module 'unicase/u16-casefold'.
49626         * modules/unicase/u16-casefold-tests: New file.
49627         * tests/unicase/test-u16-casefold.c: New file.
49628
49629         Tests for module 'unicase/u8-casefold'.
49630         * modules/unicase/u8-casefold-tests: New file.
49631         * tests/unicase/test-u8-casefold.c: New file.
49632
49633         New module 'unicase/u32-casefold'.
49634         * lib/unicase/u32-casefold.c: New file.
49635         * modules/unicase/u32-casefold: New file.
49636
49637         New module 'unicase/u16-casefold'.
49638         * lib/unicase/u16-casefold.c: New file.
49639         * modules/unicase/u16-casefold: New file.
49640
49641         New module 'unicase/u8-casefold'.
49642         * lib/unicase/u8-casefold.c: New file.
49643         * lib/unicase/u-casefold.h: New file.
49644         * modules/unicase/u8-casefold: New file.
49645
49646         New module 'unicase/tocasefold'.
49647         * lib/unicase/casefold.h: New file.
49648         * lib/unicase/tocasefold.c: New file.
49649         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49650         * modules/unicase/tocasefold: New file.
49651
49652         Tests for module 'unicase/u32-totitle'.
49653         * modules/unicase/u32-totitle-tests: New file.
49654         * tests/unicase/test-u32-totitle.c: New file.
49655
49656         Tests for module 'unicase/u16-totitle'.
49657         * modules/unicase/u16-totitle-tests: New file.
49658         * tests/unicase/test-u16-totitle.c: New file.
49659
49660         Tests for module 'unicase/u8-totitle'.
49661         * modules/unicase/u8-totitle-tests: New file.
49662         * tests/unicase/test-u8-totitle.c: New file.
49663
49664         New module 'unicase/u32-totitle'.
49665         * lib/unicase/u32-totitle.c: New file.
49666         * modules/unicase/u32-totitle: New file.
49667
49668         New module 'unicase/u16-totitle'.
49669         * lib/unicase/u16-totitle.c: New file.
49670         * modules/unicase/u16-totitle: New file.
49671
49672         New module 'unicase/u8-totitle'.
49673         * lib/unicase/u8-totitle.c: New file.
49674         * lib/unicase/u-totitle.h: New file.
49675         * modules/unicase/u8-totitle: New file.
49676
49677         Tests for module 'unicase/u32-tolower'.
49678         * modules/unicase/u32-tolower-tests: New file.
49679         * tests/unicase/test-u32-tolower.c: New file.
49680
49681         Tests for module 'unicase/u16-tolower'.
49682         * modules/unicase/u16-tolower-tests: New file.
49683         * tests/unicase/test-u16-tolower.c: New file.
49684
49685         Tests for module 'unicase/u8-tolower'.
49686         * modules/unicase/u8-tolower-tests: New file.
49687         * tests/unicase/test-u8-tolower.c: New file.
49688
49689         New module 'unicase/u32-tolower'.
49690         * lib/unicase/u32-tolower.c: New file.
49691         * modules/unicase/u32-tolower: New file.
49692
49693         New module 'unicase/u16-tolower'.
49694         * lib/unicase/u16-tolower.c: New file.
49695         * modules/unicase/u16-tolower: New file.
49696
49697         New module 'unicase/u8-tolower'.
49698         * lib/unicase/u8-tolower.c: New file.
49699         * modules/unicase/u8-tolower: New file.
49700
49701         Tests for module 'unicase/u32-toupper'.
49702         * modules/unicase/u32-toupper-tests: New file.
49703         * tests/unicase/test-u32-toupper.c: New file.
49704
49705         Tests for module 'unicase/u16-toupper'.
49706         * modules/unicase/u16-toupper-tests: New file.
49707         * tests/unicase/test-u16-toupper.c: New file.
49708
49709         Tests for module 'unicase/u8-toupper'.
49710         * modules/unicase/u8-toupper-tests: New file.
49711         * tests/unicase/test-u8-toupper.c: New file.
49712
49713         New module 'unicase/u32-toupper'.
49714         * lib/unicase/u32-toupper.c: New file.
49715         * modules/unicase/u32-toupper: New file.
49716
49717         New module 'unicase/u16-toupper'.
49718         * lib/unicase/u16-toupper.c: New file.
49719         * modules/unicase/u16-toupper: New file.
49720
49721         New module 'unicase/u8-toupper'.
49722         * lib/unicase/u8-toupper.c: New file.
49723         * modules/unicase/u8-toupper: New file.
49724
49725         New module 'unicase/u32-casemap'.
49726         * lib/unicase/u32-casemap.c: New file.
49727         * modules/unicase/u32-casemap: New file.
49728
49729         New module 'unicase/u16-casemap'.
49730         * lib/unicase/u16-casemap.c: New file.
49731         * modules/unicase/u16-casemap: New file.
49732
49733         New module 'unicase/u8-casemap'.
49734         * lib/unicase/unicasemap.h: New file.
49735         * lib/unicase/u8-casemap.c: New file.
49736         * lib/unicase/u-casemap.h: New file.
49737         * modules/unicase/u8-casemap: New file.
49738
49739         New module 'unicase/special-casing'.
49740         * lib/unicase/special-casing.h: New file.
49741         * lib/unicase/special-casing.c: New file.
49742         * lib/unicase/special-casing-table.gperf: New file, generated by
49743         gen-uni-tables.c.
49744         * modules/unicase/special-casing: New file.
49745
49746         Tests for module 'unicase/locale-language'.
49747         * modules/unicase/locale-language-tests: New file.
49748         * tests/unicase/test-locale-language.sh: New file.
49749         * tests/unicase/test-locale-language.c: New file.
49750
49751         New module 'unicase/locale-language'.
49752         * lib/unicase/locale-language.c: New file.
49753         * lib/unicase/locale-languages.gperf: New file.
49754         * modules/unicase/locale-language: New file.
49755
49756         Generate more tables for case conversion and case folding.
49757         * lib/gen-uni-tables.c (SCC_*): New enum items.
49758         (struct special_casing_rule): New type.
49759         (casing_rules, num_casing_rules, allocated_casing_rules): New
49760         variables.
49761         (add_casing_rule, fill_casing_rules): New functions.
49762         (struct casefold_rule): New type.
49763         (casefolding_rules, num_casefolding_rules,
49764         allocated_casefolding_rules): New variables.
49765         (fill_casefolding_rules): New function.
49766         (unicode_casefold): New variable.
49767         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
49768         sort_casing_rules, output_casing_rules): New functions.
49769         (main): Accept to more arguments: SpecialCasing.txt and
49770         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
49771         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
49772         Output mapping for casefolding.
49773
49774         * lib/unicase.h: Include stdbool.h, uninorm.h.
49775         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
49776         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
49777         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
49778         arguments.
49779         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
49780         resultp arguments.
49781         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
49782         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
49783         resultp arguments.
49784         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
49785         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
49786         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
49787         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
49788         declarations.
49789         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
49790
49791 2009-03-08  Bruno Haible  <bruno@clisp.org>
49792
49793         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49794         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
49795         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
49796         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49797
49798 2009-03-07  Bruno Haible  <bruno@clisp.org>
49799
49800         Adjust u*_normcmp, u*_normcoll API.
49801         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49802         u16_normcoll, u32_normcoll): Change failure conventions.
49803         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
49804         errno and return -1.
49805         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49806
49807 2009-03-07  Bruno Haible  <bruno@clisp.org>
49808
49809         Tests for module 'uninorm/u32-normcoll'.
49810         * modules/uninorm/u32-normcoll-tests: New file.
49811         * tests/uninorm/test-u32-normcoll.c: New file.
49812
49813         Tests for module 'uninorm/u16-normcoll'.
49814         * modules/uninorm/u16-normcoll-tests: New file.
49815         * tests/uninorm/test-u16-normcoll.c: New file.
49816
49817         Tests for module 'uninorm/u8-normcoll'.
49818         * modules/uninorm/u8-normcoll-tests: New file.
49819         * tests/uninorm/test-u8-normcoll.c: New file.
49820
49821 2009-03-07  Bruno Haible  <bruno@clisp.org>
49822
49823         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
49824         tests/uninorm/test-u32-normcmp.c.
49825         * tests/uninorm/test-u32-normcmp.c: Include it.
49826         (test_nonascii): New function, extracted from main. Add some more
49827         tests.
49828         (main): Invoke test_ascii and test_nonascii.
49829         * modules/uninorm/u32-normcmp-tests (Files): Add
49830         tests/uninorm/test-u32-normcmp.h.
49831         (Depends-on): Remove uninorm/u32-normcmp.
49832
49833         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
49834         tests/uninorm/test-u16-normcmp.c.
49835         * tests/uninorm/test-u16-normcmp.c: Include it.
49836         (test_nonascii): New function, extracted from main. Add some more
49837         tests.
49838         (main): Invoke test_ascii and test_nonascii.
49839         * modules/uninorm/u16-normcmp-tests (Files): Add
49840         tests/uninorm/test-u16-normcmp.h.
49841         (Depends-on): Remove uninorm/u16-normcmp.
49842
49843         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
49844         tests/uninorm/test-u8-normcmp.c.
49845         * tests/uninorm/test-u8-normcmp.c: Include it.
49846         (test_nonascii): New function, extracted from main. Add some more
49847         tests.
49848         (main): Invoke test_ascii and test_nonascii.
49849         * modules/uninorm/u8-normcmp-tests (Files): Add
49850         tests/uninorm/test-u8-normcmp.h.
49851         (Depends-on): Remove uninorm/u8-normcmp.
49852
49853 2009-03-07  Bruno Haible  <bruno@clisp.org>
49854
49855         New module 'uninorm/u32-normcoll'.
49856         * lib/uninorm/u32-normcoll.c: New file.
49857         * modules/uninorm/u32-normcoll: New file.
49858
49859         New module 'uninorm/u16-normcoll'.
49860         * lib/uninorm/u16-normcoll.c: New file.
49861         * modules/uninorm/u16-normcoll: New file.
49862
49863         New module 'uninorm/u8-normcoll'.
49864         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
49865         declarations.
49866         * lib/uninorm/u8-normcoll.c: New file.
49867         * lib/uninorm/u-normcoll.h: New file.
49868         * modules/uninorm/u8-normcoll: New file.
49869
49870         New module 'uninorm/u32-normxfrm'.
49871         * lib/uninorm/u32-normxfrm.c: New file.
49872         * modules/uninorm/u32-normxfrm: New file.
49873
49874         New module 'uninorm/u16-normxfrm'.
49875         * lib/uninorm/u16-normxfrm.c: New file.
49876         * modules/uninorm/u16-normxfrm: New file.
49877
49878         New module 'uninorm/u8-normxfrm'.
49879         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
49880         declarations.
49881         * lib/uninorm/u8-normxfrm.c: New file.
49882         * lib/uninorm/u-normxfrm.h: New file.
49883         * modules/uninorm/u8-normxfrm: New file.
49884
49885 2009-03-07  Bruno Haible  <bruno@clisp.org>
49886
49887         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
49888         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
49889         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
49890
49891 2009-03-07  Bruno Haible  <bruno@clisp.org>
49892
49893         New module 'memxfrm'.
49894         * lib/memxfrm.h: New file.
49895         * lib/memxfrm.c: New file.
49896         * modules/memxfrm: New file.
49897
49898 2009-03-07  Bruno Haible  <bruno@clisp.org>
49899
49900         New module 'memcmp2'.
49901         * lib/memcmp2.h: New file.
49902         * lib/memcmp2.c: New file.
49903         * modules/memcmp2: New file.
49904
49905 2009-03-07  Bruno Haible  <bruno@clisp.org>
49906
49907         Tests for module 'uninorm/decomposing-form'.
49908         * modules/uninorm/decomposing-form-tests: New file.
49909         * tests/uninorm/test-decomposing-form.c: New file.
49910
49911         New module 'uninorm/decomposing-form'.
49912         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
49913         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
49914         Add 'decomposing_variant' field.
49915         * lib/uninorm/decomposing-form.c: New file.
49916         * lib/uninorm/nfc.c (uninorm_nfc): Update.
49917         * lib/uninorm/nfd.c (uninorm_nfd): Update.
49918         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
49919         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
49920         * modules/uninorm/decomposing-form: New file.
49921         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
49922         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
49923
49924 2009-03-07  Bruno Haible  <bruno@clisp.org>
49925
49926         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
49927         strings.
49928
49929 2009-03-06  Bruno Haible  <bruno@clisp.org>
49930
49931         Tests for module 'uninorm/u32-normcmp'.
49932         * tests/uninorm/test-u32-normcmp.c: New file.
49933         * modules/uninorm/u32-normcmp-tests: New file.
49934
49935         Tests for module 'uninorm/u16-normcmp'.
49936         * tests/uninorm/test-u16-normcmp.c: New file.
49937         * modules/uninorm/u16-normcmp-tests: New file.
49938
49939         Tests for module 'uninorm/u8-normcmp'.
49940         * tests/uninorm/test-u8-normcmp.c: New file.
49941         * modules/uninorm/u8-normcmp-tests: New file.
49942
49943         New module 'uninorm/u32-normcmp'.
49944         * lib/uninorm/u32-normcmp.c: New file.
49945         * modules/uninorm/u32-normcmp: New file.
49946
49947         New module 'uninorm/u16-normcmp'.
49948         * lib/uninorm/u16-normcmp.c: New file.
49949         * modules/uninorm/u16-normcmp: New file.
49950
49951         New module 'uninorm/u8-normcmp'.
49952         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
49953         declarations.
49954         * lib/uninorm/u8-normcmp.c: New file.
49955         * lib/uninorm/u-normcmp.h: New file.
49956         * modules/uninorm/u8-normcmp: New file.
49957
49958 2009-03-06  Bruno Haible  <bruno@clisp.org>
49959
49960         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
49961         Reported by Eric Blake.
49962
49963 2009-03-06  Eric Blake  <ebb9@byu.net>
49964             Bruno Haible  <bruno@clisp.org>
49965
49966         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
49967         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
49968         condition.
49969         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49970         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
49971         condition.
49972         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49973
49974 2009-03-06  Eric Blake  <ebb9@byu.net>
49975
49976         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
49977         to avoid compiler warnings.
49978         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
49979
49980 2009-03-05  Bruno Haible  <bruno@clisp.org>
49981
49982         * tests/test-ftell.c (main): Disable test beyond end of file on
49983         FreeMiNT.
49984         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49985
49986 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
49987
49988         * lib/filevercmp.c: Move hidden files up in ordering.
49989         * tests/test-filevercmp.c: Add tests for hidden files.
49990
49991 2009-03-04  Bruno Haible  <bruno@clisp.org>
49992
49993         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
49994         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
49995         AM_CFLAGS.
49996         Reported by Simon Josefsson.
49997
49998 2009-03-03  Bruno Haible  <bruno@clisp.org>
49999
50000         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50001         Reported by Simon Josefsson.
50002
50003         * doc/ld-version-script.texi: Update node reference.
50004
50005 2009-03-03  Bruno Haible  <bruno@clisp.org>
50006
50007         * modules/visibility (License): Change to 'unlimited'.
50008         Suggested by Simon Josefsson.
50009
50010 2009-03-03  Jim Meyering  <meyering@redhat.com>
50011
50012         unlinkdir: cannot_unlink_dir may modify process state
50013         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50014         it's neither thread-safe nor appropriate for use in a library.
50015
50016 2009-03-03  Eric Blake  <ebb9@byu.net>
50017
50018         test-closein: silence test under Darwin
50019         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50020         care if it dies from EPIPE or EBADF.
50021
50022 2009-03-03  Bruno Haible  <bruno@clisp.org>
50023
50024         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50025         earlier.
50026         * doc/visibility.texi: Fix @node and @section.
50027
50028 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50029
50030         * doc/gnulib.texi: Link to sections for ld version script and
50031         visibility.
50032         * doc/visibility.texi: Add @node and @section.
50033         * modules/ld-version-script: New module.
50034         * m4/ld-version-script.m4: New file.
50035         * doc/ld-version-script.texi: New file.
50036
50037 2009-03-02  David Lutterkort  <lutter@redhat.com>
50038
50039         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50041
50042 2009-03-02  Bruno Haible  <bruno@clisp.org>
50043
50044         * doc/visibility.texi: Mention libtool's -export-symbols option.
50045
50046 2009-03-02  Jim Meyering  <meyering@redhat.com>
50047
50048         announce-gen: new option: --no-print-checksums
50049         * build-aux/announce-gen (usage): Describe it.
50050         (print_checksums): Print a newline here, not in the [*] footnote.
50051         (main): Honor it.
50052
50053 2009-03-01  Bruno Haible  <bruno@clisp.org>
50054
50055         Use socklen_t in the native Windows replacements prototypes.
50056         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50057         instead of 'int'.
50058         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50059         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50060         * modules/getsockopt (Depends-on): Add socklen.
50061         * modules/setsockopt (Depends-on): Add socklen.
50062
50063 2009-03-01  Bruno Haible  <bruno@clisp.org>
50064
50065         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50066         least 4.2.
50067
50068 2009-03-01  Eric Blake  <ebb9@byu.net>
50069             Bruno Haible  <bruno@clisp.org>
50070
50071         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50072         error messages.
50073         * lib/wait-process.c (wait_subprocess): Omit error message about
50074         deadly signal sent to the child of termsigp != NULL.
50075
50076 2009-03-01  Eric Blake  <ebb9@byu.net>
50077
50078         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50079
50080 2009-03-01  Bruno Haible  <bruno@clisp.org>
50081
50082         Avoid a gcc warning.
50083         * tests/test-sched.c (b): Make global.
50084         Reported by Eric Blake.
50085
50086 2009-01-19  Martin Lambers  <marlam@marlam.de>
50087
50088         Provide POSIX semantics for socket timeout options on W32.
50089         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50090         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50091         * modules/setsockopt: Depend on sys_time module for struct timeval.
50092         * modules/getsockopt: Depend on sys_time module for struct timeval.
50093
50094 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50095
50096         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50097         __USE_GNU, for consistency with netdb.in.h.
50098         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50099
50100 2009-03-01  Bruno Haible  <bruno@clisp.org>
50101
50102         More support for FreeMiNT.
50103         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50104         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50105
50106 2009-03-01  Bruno Haible  <bruno@clisp.org>
50107
50108         More support for FreeMiNT.
50109         * lib/fpurge.c (fpurge): Correct last commit.
50110         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50111
50112 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50113
50114         Fix unportable awk script in vc-list-files.
50115         * build-aux/vc-list-files: In the replacement awk script, use
50116         substr with a second argument of 1, not zero.
50117         Report by Simon Josefsson.
50118
50119 2009-02-28  Bruno Haible  <bruno@clisp.org>
50120
50121         More support for FreeMiNT.
50122         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50123         to FreeMiNT today.
50124         * lib/fwriting.c (fwriting): Likewise.
50125         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50126
50127 2009-02-28  Bruno Haible  <bruno@clisp.org>
50128
50129         * tests/test-freadseek.c (main): Disable test beyond end of file on
50130         FreeMiNT.
50131         * tests/test-ftello.c (main): Likewise.
50132         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50133
50134 2009-02-28  Bruno Haible  <bruno@clisp.org>
50135
50136         Add tentative support for FreeMiNT.
50137         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50138         * lib/fpurge.c (fpurge): Likewise.
50139         * lib/freadable.c (freadable): Likewise.
50140         * lib/freading.c (freading): Likewise.
50141         * lib/freadptr.c (freadptr): Likewise.
50142         * lib/freadseek.c (freadptrinc): Likewise.
50143         * lib/fseeko.c (rpl_fseeko): Likewise.
50144         * lib/fseterr.c (fseterr): Likewise.
50145         * lib/fwritable.c (fwritable): Likewise.
50146         * lib/fwriting.c (fwriting): Likewise.
50147         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50148         Hourihane.
50149         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50150
50151 2009-02-28  Bruno Haible  <bruno@clisp.org>
50152
50153         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50154         SIGCHLD.
50155         Reported by Jim Meyering.
50156
50157 2009-02-28  Bruno Haible  <bruno@clisp.org>
50158
50159         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50160         Mention the results of these tests on various platforms.
50161         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50162         order.
50163         * doc/posix-functions/printf.texi: Likewise.
50164         * doc/posix-functions/snprintf.texi: Likewise.
50165         * doc/posix-functions/sprintf.texi: Likewise.
50166         * doc/posix-functions/vfprintf.texi: Likewise.
50167         * doc/posix-functions/vprintf.texi: Likewise.
50168         * doc/posix-functions/vsnprintf.texi: Likewise.
50169         * doc/posix-functions/vsprintf.texi: Likewise.
50170         * doc/glibc-functions/obstack_printf.texi: Likewise.
50171         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50172
50173 2009-02-28  Bruno Haible  <bruno@clisp.org>
50174
50175         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50176         Reported by Loïc Minier <lool@dooz.org>.
50177
50178 2009-02-27  Bruno Haible  <bruno@clisp.org>
50179
50180         * gnulib-tool (func_import): Make the sed expression used to create the
50181         sed script for updating the .gitignore file POSIX compliant.
50182         Reported by Eric Blake.
50183
50184 2009-02-27  Bruno Haible  <bruno@clisp.org>
50185
50186         * gnulib-tool (sed): Don't alias as "sed --posix".
50187         Reported by Eric Blake.
50188
50189 2009-02-27  Bruno Haible  <bruno@clisp.org>
50190
50191         Avoid test link errors.
50192         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50193         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50194         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50195         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50197
50198 2009-02-27  Bruno Haible  <bruno@clisp.org>
50199
50200         Avoid spurious "(cached)" in configure output.
50201         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50202         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50203         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50204         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50205         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50206         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50207         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50208         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50209         Reported by Eric Blake.
50210
50211 2009-02-27  Eric Blake  <ebb9@byu.net>
50212
50213         printf: fix regression in previous patch
50214         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50215
50216 2009-02-27  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50219         value.
50220         * lib/stdint.in.h: Likewise.
50221         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50222
50223 2009-02-27  Eric Blake  <ebb9@byu.net>
50224
50225         doc: mention more functions added in cygwin 1.7.0
50226         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50227         addition.
50228         * doc/posix-functions/open_wmemstream.texi: Likewise.
50229         * doc/posix-functions/wcsnlen.texi: Likewise.
50230         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50231         * doc/posix-functions/wcstod.texi: Likewise.
50232         * doc/posix-functions/wcstof.texi: Likewise.
50233         * doc/posix-functions/wcstoimax.texi: Likewise.
50234         * doc/posix-functions/wcstok.texi: Likewise.
50235         * doc/posix-functions/wcstoumax.texi: Likewise.
50236
50237         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50238         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50239         * doc/posix-functions/fprintf.texi: Update.
50240         * doc/posix-functions/printf.texi: Update.
50241         * doc/posix-functions/snprintf.texi: Update.
50242         * doc/posix-functions/sprintf.texi: Update.
50243         * doc/posix-functions/vfprintf.texi: Update.
50244         * doc/posix-functions/vprintf.texi: Update.
50245         * doc/posix-functions/vsnprintf.texi: Update.
50246         * doc/posix-functions/vsprintf.texi: Update.
50247         * doc/glibc-functions/obstack_printf.texi: Update.
50248         * doc/glibc-functions/obstack_vprintf.texi: Update.
50249
50250 2009-02-26  Eric Blake  <ebb9@byu.net>
50251
50252         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50253         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50254         compilation bug by using runtime conversion.
50255         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50256         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50257         * modules/ceill-tests (Files): Use nan.h.
50258         * modules/floorl-tests (Files): Likewise.
50259         * modules/frexpl-tests (Files): Likewise.
50260         * modules/isnanl-tests (Files): Likewise.
50261         * modules/ldexpl-tests (Files): Likewise.
50262         * modules/roundl-tests (Files): Likewise.
50263         * modules/truncl-tests (Files): Likewise.
50264         * tests/test-ceill.c (main): Use a working NaN.
50265         * tests/test-floorl.c (main): Likewise.
50266         * tests/test-frexpl.c (main): Likewise.
50267         * tests/test-isnan.c (test_long_double): Likewise.
50268         * tests/test-isnanl.h (main): Likewise.
50269         * tests/test-ldexpl.h (main): Likewise.
50270         * tests/test-roundl.h (main): Likewise.
50271         * tests/test-truncl.h (main): Likewise.
50272         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50273
50274 2009-02-26  Eric Blake  <ebb9@byu.net>
50275             Bruno Haible  <bruno@clisp.org>
50276
50277         Work around a *printf bug with %ls on Solaris.
50278         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50279         precision is specified, sprintf stops converting the wide string
50280         argument when the number of bytes that have been produced by this
50281         conversion equals or exceeds the precision.
50282         * doc/posix-functions/fprintf.texi: Update.
50283         * doc/posix-functions/printf.texi: Update.
50284         * doc/posix-functions/snprintf.texi: Update.
50285         * doc/posix-functions/sprintf.texi: Update.
50286         * doc/posix-functions/vfprintf.texi: Update.
50287         * doc/posix-functions/vprintf.texi: Update.
50288         * doc/posix-functions/vsnprintf.texi: Update.
50289         * doc/posix-functions/vsprintf.texi: Update.
50290         * doc/glibc-functions/obstack_printf.texi: Update.
50291         * doc/glibc-functions/obstack_vprintf.texi: Update.
50292
50293 2009-02-26  Eric Blake  <ebb9@byu.net>
50294
50295         stdlib: favor compiler check of random.h
50296         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50297         to avoid an ObjC random.h installed by Swarm.
50298
50299 2009-02-26  Bruno Haible  <bruno@clisp.org>
50300
50301         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50302         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50303         Reported by Gary V. Vaughan <gary@gnu.org>.
50304
50305 2009-02-26  Bruno Haible  <bruno@clisp.org>
50306
50307         Fix *printf behaviour regarding the %ls directive.
50308         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50309         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50310         NEED_PRINTF_DIRECTIVE_LS.
50311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50312         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50313         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50314         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50315         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50316         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50317         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50318         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50319         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50322         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50323         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50324         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50325         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50326         * doc/posix-functions/fprintf.texi: Update.
50327         * doc/posix-functions/printf.texi: Update.
50328         * doc/posix-functions/snprintf.texi: Update.
50329         * doc/posix-functions/sprintf.texi: Update.
50330         * doc/posix-functions/vfprintf.texi: Update.
50331         * doc/posix-functions/vprintf.texi: Update.
50332         * doc/posix-functions/vsnprintf.texi: Update.
50333         * doc/posix-functions/vsprintf.texi: Update.
50334         * doc/glibc-functions/obstack_printf.texi: Update.
50335         * doc/glibc-functions/obstack_vprintf.texi: Update.
50336         Reported by Eric Blake.
50337
50338 2009-02-25  Bruno Haible  <bruno@clisp.org>
50339
50340         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50341         with known value.
50342         Reported by Gary V. Vaughan <gary@gnu.org>.
50343
50344 2009-02-25  Bruno Haible  <bruno@clisp.org>
50345
50346         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50347         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50348         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50349         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50350         Reported by Gary V. Vaughan <gary@gnu.org>.
50351
50352 2009-02-25  Bruno Haible  <bruno@clisp.org>
50353
50354         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50355         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50356         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50357         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50358         Reported by Gary V. Vaughan <gary@gnu.org>.
50359
50360 2009-02-25  Eric Blake  <ebb9@byu.net>
50361
50362         tests: skip fseek/ftell tests if ungetc is broken
50363         * m4/ungetc.m4: New file.
50364         * modules/fseek-tests: Split test, so ungetc dependency is
50365         separate from rest of test.
50366         * modules/fseeko-tests: Likewise.
50367         * modules/ftell-tests: Likewise.
50368         * modules/ftello-tests: Likewise.
50369         * tests/test-fseek.c (main): Isolate ungetc dependency.
50370         * tests/test-fseeko.c (main): Likewise.
50371         * tests/test-ftell.c (main): Likewise.
50372         * tests/test-ftello.c (main): Likewise.
50373         * tests/test-fseek2.sh: New file.
50374         * tests/test-fseeko2.sh: Likewise.
50375         * tests/test-ftell2.sh: Likewise.
50376         * tests/test-ftello2.sh: Likewise.
50377
50378 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50379
50380         test-getaddrinfo: fix usage of skip return code 77
50381         * tests/test-gettaddrinfo.c: Return skip code 77 only
50382         for first occurrence of skip (4x77 is not 77)
50383
50384 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50385
50386         strtod: avoid C99 decl-after-statement
50387         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50388
50389 2009-02-24  Eric Blake  <ebb9@byu.net>
50390
50391         strtod: detect HP-UX 11.31 bug
50392         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50393         Reported by Gary V. Vaughan.
50394
50395 2009-02-23  Bruno Haible  <bruno@clisp.org>
50396
50397         Fix invalid read past end of memory block.
50398         * lib/vasnprintf.c (DCHAR_SET): Define.
50399         (local_wcslen): Define only when needed.
50400         (local_strnlen, local_wcsnlen): New functions.
50401         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50402         directives that involve a conversion ourselves.
50403         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50404         wcsnlen, mbrtowc, wcrtomb.
50405         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50406         * tests/test-vasprintf-posix.c (test_function): Likewise.
50407         * tests/test-snprintf-posix.h (test_function): Likewise.
50408         * tests/test-sprintf-posix.h (test_function): Likewise.
50409         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50410
50411 2009-02-22  Bruno Haible  <bruno@clisp.org>
50412
50413         Implement new clarified decomposition of Hangul syllables.
50414         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50415         of type LTV, return only a pairwise decomposition.
50416         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50417         Likewise.
50418         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50419         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50420         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50421
50422 2009-02-22  Bruno Haible  <bruno@clisp.org>
50423
50424         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50425         zero-length results and shrink excess allocated memory.
50426         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50427         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50428         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50429         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50430         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50431         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50432         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50433         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50434         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50435         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50436         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50437         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50438
50439 2009-02-21  Bruno Haible  <bruno@clisp.org>
50440
50441         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50442         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50443         spaces after a period. Put a space between a macro name and its
50444         argument list. Trivial rewordings.
50445         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50446         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50447         (main): Return 0 explicitly.
50448
50449 2009-02-21  Bruno Haible  <bruno@clisp.org>
50450
50451         Tests for module 'uninorm/filter'.
50452         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50453         * modules/uninorm/filter-tests: New file.
50454
50455         New module 'uninorm/filter'.
50456         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50457         uninorm_filter_flush, uninorm_filter_free): New declarations.
50458         * lib/uninorm/uninorm-filter.c: New file.
50459         * modules/uninorm/filter: New file.
50460
50461 2009-02-21  Bruno Haible  <bruno@clisp.org>
50462
50463         Tests for module 'uninorm/nfkc'.
50464         * tests/uninorm/test-nfkc.c: New file.
50465         * tests/uninorm/test-u8-nfkc.c: New file.
50466         * tests/uninorm/test-u16-nfkc.c: New file.
50467         * tests/uninorm/test-u32-nfkc.c: New file.
50468         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50469         * tests/uninorm/test-u32-nfkc-big.c: New file.
50470         * modules/uninorm/nfkc-tests: New file.
50471
50472         New module 'uninorm/nfkc'.
50473         * lib/uninorm/nfkc.c: New file.
50474         * modules/uninorm/nfkc: New file.
50475
50476         Tests for module 'uninorm/nfkd'.
50477         * tests/uninorm/test-nfkd.c: New file.
50478         * tests/uninorm/test-u8-nfkd.c: New file.
50479         * tests/uninorm/test-u16-nfkd.c: New file.
50480         * tests/uninorm/test-u32-nfkd.c: New file.
50481         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50482         * tests/uninorm/test-u32-nfkd-big.c: New file.
50483         * modules/uninorm/nfkd-tests: New file.
50484
50485         New module 'uninorm/nfkd'.
50486         * lib/uninorm/nfkd.c: New file.
50487         * modules/uninorm/nfkd: New file.
50488
50489         Tests for module 'uninorm/nfc'.
50490         * tests/uninorm/test-nfc.c: New file.
50491         * tests/uninorm/test-u8-nfc.c: New file.
50492         * tests/uninorm/test-u16-nfc.c: New file.
50493         * tests/uninorm/test-u32-nfc.c: New file.
50494         * tests/uninorm/test-u32-nfc-big.sh: New file.
50495         * tests/uninorm/test-u32-nfc-big.c: New file.
50496         * modules/uninorm/nfc-tests: New file.
50497
50498         New module 'uninorm/nfc'.
50499         * lib/uninorm/nfc.c: New file.
50500         * modules/uninorm/nfc: New file.
50501
50502         Tests for module 'uninorm/nfd'.
50503         * tests/uninorm/test-nfd.c: New file.
50504         * tests/uninorm/test-u8-nfd.c: New file.
50505         * tests/uninorm/test-u16-nfd.c: New file.
50506         * tests/uninorm/test-u32-nfd.c: New file.
50507         * tests/uninorm/test-u32-nfd-big.sh: New file.
50508         * tests/uninorm/test-u32-nfd-big.c: New file.
50509         * tests/uninorm/test-u32-normalize-big.h: New file.
50510         * tests/uninorm/test-u32-normalize-big.c: New file.
50511         * tests/uninorm/NormalizationTest.txt: New file, created from
50512         Unicode 5.1.0 NormalizationTest.txt.
50513         * modules/uninorm/nfd-tests: New file.
50514
50515         New module 'uninorm/nfd'.
50516         * lib/uninorm/nfd.c: New file.
50517         * modules/uninorm/nfd: New file.
50518
50519         New module 'uninorm/u32-normalize'.
50520         * lib/uninorm/u32-normalize.c: New file.
50521         * modules/uninorm/u32-normalize: New file.
50522
50523         New module 'uninorm/u16-normalize'.
50524         * lib/uninorm/u16-normalize.c: New file.
50525         * modules/uninorm/u16-normalize: New file.
50526
50527         New module 'uninorm/u8-normalize'.
50528         * lib/uninorm/u8-normalize.c: New file.
50529         * lib/uninorm/normalize-internal.h: New file.
50530         * lib/uninorm/u-normalize-internal.h: New file.
50531         * modules/uninorm/u8-normalize: New file.
50532
50533         New module 'uninorm/decompose-internal'.
50534         * lib/uninorm/decompose-internal.c: New file.
50535         * modules/uninorm/decompose-internal: New file.
50536
50537         Tests for module 'uninorm/composition'.
50538         * tests/uninorm/test-composition.c: New file.
50539         * modules/uninorm/composition-tests: New file.
50540
50541         New module 'uninorm/composition'.
50542         * lib/uninorm/composition.c: New file.
50543         * lib/uninorm/composition-table.gperf: New file, generated by
50544         gen-uni-tables.
50545         * modules/uninorm/composition: New file.
50546
50547         Tests for module 'uninorm/compat-decomposition'.
50548         * tests/uninorm/test-compat-decomposition.c: New file.
50549         * modules/uninorm/compat-decomposition-tests: New file.
50550
50551         New module 'uninorm/compat-decomposition'.
50552         * lib/uninorm/decompose-internal.h: New file.
50553         * lib/uninorm/compat-decomposition.c: New file.
50554         * modules/uninorm/compat-decomposition: New file.
50555
50556         Tests for module 'uninorm/canonical-decomposition'.
50557         * tests/uninorm/test-canonical-decomposition.c: New file.
50558         * modules/uninorm/canonical-decomposition-tests: New file.
50559
50560         New module 'uninorm/canonical-decomposition'.
50561         * lib/uninorm/canonical-decomposition.c: New file.
50562         * modules/uninorm/canonical-decomposition: New file.
50563
50564         Tests for module 'uninorm/decomposition'.
50565         * tests/uninorm/test-decomposition.c: New file.
50566         * modules/uninorm/decomposition-tests: New file.
50567
50568         New module 'uninorm/decomposition'.
50569         * lib/uninorm/decomposition.c: New file.
50570         * modules/uninorm/decomposition: New file.
50571
50572         New module 'uninorm/decomposition-table'.
50573         * lib/uninorm/decomposition-table.h: New file.
50574         * lib/uninorm/decomposition-table.c: New file.
50575         * lib/uninorm/decomposition-table1.h: New file, generated by
50576         gen-uni-tables.
50577         * lib/uninorm/decomposition-table2.h: New file, generated by
50578         gen-uni-tables.
50579         * modules/uninorm/decomposition-table: New file.
50580
50581         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50582         (UC_DECOMP_*): New enumeration items.
50583         (get_decomposition): New function.
50584         (struct decomp_table): New type.
50585         (output_decomposition, output_decomposition_tables): New functions.
50586         (unicode_composition_exclusions): New variable.
50587         (fill_composition_exclusions, debug_output_composition_tables): New
50588         functions.
50589         (main): Accept one more argument. Invoke fill_composition_exclusions.
50590         Output decomposition and composition tables.
50591
50592         New module 'uninorm/base'.
50593         * lib/uninorm.h: New file.
50594         * lib/unictype.h: Update comment.
50595         * modules/uninorm/base: New file.
50596
50597 2009-02-21  David Lutterkort  <lutter@redhat.com>
50598
50599         Tests for module 'safe-alloc'.
50600         * tests/test-safe-alloc.c: New file.
50601         * modules/safe-alloc-tests: New file.
50602
50603         New module 'safe-alloc'.
50604         * lib/safe-alloc.h: New file.
50605         * lib/safe-alloc.c: New file.
50606         * m4/safe-alloc.m4: New file.
50607         * modules/safe-alloc: New file.
50608         * doc/safe-alloc.texi: New file.
50609         * doc/gnulib.texi: Include it.
50610         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50611         safe-alloc.
50612
50613 2009-02-18  Bruno Haible  <bruno@clisp.org>
50614
50615         Fix link error on non-glibc systems.
50616         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50617         variable.
50618         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50619
50620 2009-02-18  Jim Meyering  <meyering@redhat.com>
50621
50622         fts: avoid used-uninitialized error due to recent change
50623         * lib/fts.c (fts_read): Guard uses of the new member,
50624         parent->fts_n_dirs_remaining, since it's not relevant for
50625         the parent of a directory specified on the command-line.
50626
50627 2009-02-17  James Youngman  <jay@gnu.org>
50628             Bruno Haible  <bruno@clisp.org>
50629
50630         * m4/include_next.m4: Reformulate comment.
50631
50632 2009-02-16  Jim Meyering  <meyering@redhat.com>
50633
50634         fts: add #if guards so that the fts_lgpl module still builds
50635         * lib/fts.c: Guard just-added hash-table-using parts with
50636         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50637         Reported by Simon Josefsson.
50638
50639 2009-02-15  Bruno Haible  <bruno@clisp.org>
50640
50641         * modules/array-mergesort-tests: New file.
50642         * tests/test-array-mergesort.c: New file.
50643
50644         New module 'array-mergesort'.
50645         * modules/array-mergesort: New file.
50646         * lib/array-mergesort.h: New file.
50647
50648 2009-02-15  Bruno Haible  <bruno@clisp.org>
50649
50650         Fix 2009-02-07 commit.
50651         * lib/gen-uni-tables.c (output_predicate, output_category,
50652         output_combclass, output_bidi_category, output_decimal_digit,
50653         output_digit, output_numeric, output_mirror, output_scripts,
50654         output_ident_category, output_simple_mapping): Fix format directives.
50655         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50656
50657 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50658
50659         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50660         fixes are available from IBM.
50661
50662 2009-02-13  Jim Meyering  <meyering@redhat.com>
50663
50664         fts: arrange not to stat non-directories in more cases
50665         This makes GNU find (when it doesn't need to stat each file)
50666         *much* more efficient at traversing reiserfs file systems.
50667         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50668         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50669         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50670         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50671         (leaf_optimization_applies): New function.
50672         (LCO_hash, LCO_compare): New helper functions.
50673         (link_count_optimize_ok): New function.
50674         (fts_stat): Initialize new member (if dir).
50675         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50676         we've just stat'ed a directory.  Skip the stat call when possible.
50677         ---
50678         Note this AFS-related exchange:
50679         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50680         and note find's pioctl call in find/fstype.c.
50681         But that is necessary only if you want to enable the
50682         optimization for AFS, and for now, I don't.
50683
50684         fts: move a function definition "up" (no semantic change)
50685         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50686         "up" to precede upcoming use of a related function.
50687
50688 2009-02-11  Jim Meyering  <meyering@redhat.com>
50689
50690         fts: correct internal computation of nlinks (optimization-related)
50691         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50692         whether the current entry is a directory, so don't test it.
50693
50694 2009-02-10  Bruno Haible  <bruno@clisp.org>
50695
50696         Tests for module 'uniwbrk/ulc-wordbreaks'.
50697         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50698         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50699         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50700
50701         Tests for module 'uniwbrk/u32-wordbreaks'.
50702         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50703         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50704
50705         Tests for module 'uniwbrk/u16-wordbreaks'.
50706         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50707         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50708
50709         Tests for module 'uniwbrk/u8-wordbreaks'.
50710         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50711         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50712
50713 2009-02-10  Bruno Haible  <bruno@clisp.org>
50714
50715         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50716         property.
50717         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50718         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50719         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50720
50721 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50722
50723         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50724         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50725
50726 2009-02-10  Bruno Haible  <bruno@clisp.org>
50727
50728         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50729         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50730         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50731         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50732         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50733         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50734
50735 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50736
50737         * lib/sockets.h (gl_fd_to_handle): New function.
50738
50739         * tests/test-sockets.c: Call gl_fd_to_handle.
50740
50741 2009-02-09  Bruno Haible  <bruno@clisp.org>
50742
50743         * doc/havelib.texi: Document the conventions on bi-arch systems.
50744
50745 2009-02-08  Bruno Haible  <bruno@clisp.org>
50746
50747         Document the AC_LIB_LINKFLAGS macro.
50748         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50749         * doc/gnulib.texi: Include it.
50750
50751 2009-02-08  Bruno Haible  <bruno@clisp.org>
50752
50753         Fix wrong order of sections, compared to TOC.
50754         * doc/gnulib.texi: Include relocatable-maint.texi after the
50755         "Regular expressions" node, not before.
50756
50757 2009-02-08  Bruno Haible  <bruno@clisp.org>
50758
50759         Tests for module 'unicase/totitle'.
50760         * modules/unicase/totitle-tests: New file.
50761
50762         Tests for module 'unicase/tolower'.
50763         * modules/unicase/tolower-tests: New file.
50764
50765         Tests for module 'unicase/toupper'.
50766         * modules/unicase/toupper-tests: New file.
50767         * tests/unicase/test-mapping-part1.h: New file.
50768         * tests/unicase/test-mapping-part2.h: New file.
50769
50770         New module 'unicase/totitle'.
50771         * modules/unicase/totitle: New file.
50772         * lib/unicase/totitle.c: New file.
50773
50774         New module 'unicase/tolower'.
50775         * modules/unicase/tolower: New file.
50776         * lib/unicase/tolower.c: New file.
50777
50778         New module 'unicase/toupper'.
50779         * modules/unicase/toupper: New file.
50780         * lib/unicase/toupper.c: New file.
50781         * lib/unicase/simple-mapping.h: New file.
50782
50783         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
50784         (mapping_table): New structure.
50785         (output_simple_mapping): New function.
50786         (main): Invoke output_simple_mapping_test and output_simple_mapping.
50787         * modules/gen-uni-tables (Description): Update.
50788         * lib/unicase/toupper.h: New file, automatically generated by
50789         gen-uni-tables.
50790         * lib/unicase/tolower.h: New file, automatically generated by
50791         gen-uni-tables.
50792         * lib/unicase/totitle.h: New file, automatically generated by
50793         gen-uni-tables.
50794         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
50795         gen-uni-tables.
50796         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
50797         gen-uni-tables.
50798         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
50799         gen-uni-tables.
50800
50801         New module 'unicase/base'.
50802         * modules/unicase/base: New file.
50803         * lib/unicase.h: New file.
50804
50805 2009-02-08  Bruno Haible  <bruno@clisp.org>
50806
50807         New module 'uniwbrk/ulc-wordbreaks'.
50808         * modules/uniwbrk/ulc-wordbreaks: New file.
50809         * lib/uniwbrk/ulc-wordbreaks.c: New file.
50810
50811         New module 'uniwbrk/u32-wordbreaks'.
50812         * modules/uniwbrk/u32-wordbreaks: New file.
50813         * lib/uniwbrk/u32-wordbreaks.c: New file.
50814
50815         New module 'uniwbrk/u16-wordbreaks'.
50816         * modules/uniwbrk/u16-wordbreaks: New file.
50817         * lib/uniwbrk/u16-wordbreaks.c: New file.
50818
50819         New module 'uniwbrk/u8-wordbreaks'.
50820         * modules/uniwbrk/u8-wordbreaks: New file.
50821         * lib/uniwbrk/u8-wordbreaks.c: New file.
50822         * lib/uniwbrk/u-wordbreaks.h: New file.
50823
50824         New module 'uniwbrk/table'.
50825         * modules/uniwbrk/table: New file.
50826         * lib/uniwbrk/wbrktable.h: New file.
50827         * lib/uniwbrk/wbrktable.c: New file.
50828
50829         New module 'uniwbrk/wordbreak-property'.
50830         * modules/uniwbrk/wordbreak-property: New file.
50831         * lib/uniwbrk/wordbreak-property.c: New file.
50832
50833         * lib/gen-uni-tables.c (WBP_*): New enum items.
50834         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
50835         (unicode_org_wbp): New variable.
50836         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
50837         New functions.
50838         (wbp_table): New structure.
50839         (output_wbp, output_wbrk_tables): New functions.
50840         (main): Accept additional argument. Invoke fill_org_wbp,
50841         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
50842         output_wbrk_tables.
50843         * modules/gen-uni-tables (Description): Update.
50844         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
50845         gen-uni-tables.
50846
50847         New module 'uniwbrk/base'.
50848         * modules/uniwbrk/base: New file.
50849         * lib/uniwbrk.h: New file.
50850
50851 2009-02-08  Bruno Haible  <bruno@clisp.org>
50852
50853         Update to Unicode 5.1.0.
50854         * lib/gen-uni-tables.c (is_property_alphabetic): Include
50855         U+2185..U+2188.
50856         (is_property_default_ignorable_code_point): Don't include characters
50857         of category Cc or Cs and not-a-characters.
50858         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
50859         U+0D79, U+109E, U+109F, U+A60C.
50860         * lib/unictype/bidi_of.h: Regenerated.
50861         * lib/unictype/blocks.h: Regenerated.
50862         * lib/unictype/categ_C.h: Regenerated.
50863         * lib/unictype/categ_Cf.h: Regenerated.
50864         * lib/unictype/categ_Cn.h: Regenerated.
50865         * lib/unictype/categ_L.h: Regenerated.
50866         * lib/unictype/categ_Ll.h: Regenerated.
50867         * lib/unictype/categ_Lm.h: Regenerated.
50868         * lib/unictype/categ_Lo.h: Regenerated.
50869         * lib/unictype/categ_Lu.h: Regenerated.
50870         * lib/unictype/categ_M.h: Regenerated.
50871         * lib/unictype/categ_Mc.h: Regenerated.
50872         * lib/unictype/categ_Me.h: Regenerated.
50873         * lib/unictype/categ_Mn.h: Regenerated.
50874         * lib/unictype/categ_N.h: Regenerated.
50875         * lib/unictype/categ_Nd.h: Regenerated.
50876         * lib/unictype/categ_Nl.h: Regenerated.
50877         * lib/unictype/categ_No.h: Regenerated.
50878         * lib/unictype/categ_P.h: Regenerated.
50879         * lib/unictype/categ_Pd.h: Regenerated.
50880         * lib/unictype/categ_Pe.h: Regenerated.
50881         * lib/unictype/categ_Pf.h: Regenerated.
50882         * lib/unictype/categ_Pi.h: Regenerated.
50883         * lib/unictype/categ_Po.h: Regenerated.
50884         * lib/unictype/categ_Ps.h: Regenerated.
50885         * lib/unictype/categ_S.h: Regenerated.
50886         * lib/unictype/categ_Sk.h: Regenerated.
50887         * lib/unictype/categ_Sm.h: Regenerated.
50888         * lib/unictype/categ_So.h: Regenerated.
50889         * lib/unictype/categ_of.h: Regenerated.
50890         * lib/unictype/combining.h: Regenerated.
50891         * lib/unictype/ctype_alnum.h: Regenerated.
50892         * lib/unictype/ctype_alpha.h: Regenerated.
50893         * lib/unictype/ctype_graph.h: Regenerated.
50894         * lib/unictype/ctype_lower.h: Regenerated.
50895         * lib/unictype/ctype_print.h: Regenerated.
50896         * lib/unictype/ctype_punct.h: Regenerated.
50897         * lib/unictype/ctype_upper.h: Regenerated.
50898         * lib/unictype/decdigit.h: Regenerated.
50899         * lib/unictype/digit.h: Regenerated.
50900         * lib/unictype/mirror.h: Regenerated.
50901         * lib/unictype/numeric.h: Regenerated.
50902         * lib/unictype/pr_alphabetic.h: Regenerated.
50903         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
50904         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
50905         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
50906         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
50907         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
50908         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
50909         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
50910         * lib/unictype/pr_combining.h: Regenerated.
50911         * lib/unictype/pr_dash.h: Regenerated.
50912         * lib/unictype/pr_decimal_digit.h: Regenerated.
50913         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
50914         * lib/unictype/pr_deprecated.h: Regenerated.
50915         * lib/unictype/pr_diacritic.h: Regenerated.
50916         * lib/unictype/pr_extender.h: Regenerated.
50917         * lib/unictype/pr_format_control.h: Regenerated.
50918         * lib/unictype/pr_grapheme_base.h: Regenerated.
50919         * lib/unictype/pr_grapheme_extend.h: Regenerated.
50920         * lib/unictype/pr_grapheme_link.h: Regenerated.
50921         * lib/unictype/pr_id_continue.h: Regenerated.
50922         * lib/unictype/pr_id_start.h: Regenerated.
50923         * lib/unictype/pr_ideographic.h: Regenerated.
50924         * lib/unictype/pr_ignorable_control.h: Regenerated.
50925         * lib/unictype/pr_lowercase.h: Regenerated.
50926         * lib/unictype/pr_math.h: Regenerated.
50927         * lib/unictype/pr_numeric.h: Regenerated.
50928         * lib/unictype/pr_other_alphabetic.h: Regenerated.
50929         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
50930         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50931         * lib/unictype/pr_other_id_continue.h: Regenerated.
50932         * lib/unictype/pr_other_lowercase.h: Regenerated.
50933         * lib/unictype/pr_other_math.h: Regenerated.
50934         * lib/unictype/pr_punctuation.h: Regenerated.
50935         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50936         * lib/unictype/pr_soft_dotted.h: Regenerated.
50937         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50938         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50939         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50940         * lib/unictype/pr_uppercase.h: Regenerated.
50941         * lib/unictype/pr_xid_continue.h: Regenerated.
50942         * lib/unictype/pr_xid_start.h: Regenerated.
50943         * lib/unictype/pr_zero_width.h: Regenerated.
50944         * lib/unictype/scripts.h: Regenerated.
50945         * lib/unictype/scripts_byname.gperf: Regenerated.
50946         * lib/unictype/sy_java_ident.h: Regenerated.
50947         * lib/unilbrk/lbrkprop1.h: Regenerated.
50948         * lib/unilbrk/lbrkprop2.h: Regenerated.
50949         * tests/unictype/test-categ_C.c: Regenerated.
50950         * tests/unictype/test-categ_Cf.c: Regenerated.
50951         * tests/unictype/test-categ_Cn.c: Regenerated.
50952         * tests/unictype/test-categ_L.c: Regenerated.
50953         * tests/unictype/test-categ_Ll.c: Regenerated.
50954         * tests/unictype/test-categ_Lm.c: Regenerated.
50955         * tests/unictype/test-categ_Lo.c: Regenerated.
50956         * tests/unictype/test-categ_Lu.c: Regenerated.
50957         * tests/unictype/test-categ_M.c: Regenerated.
50958         * tests/unictype/test-categ_Mc.c: Regenerated.
50959         * tests/unictype/test-categ_Me.c: Regenerated.
50960         * tests/unictype/test-categ_Mn.c: Regenerated.
50961         * tests/unictype/test-categ_N.c: Regenerated.
50962         * tests/unictype/test-categ_Nd.c: Regenerated.
50963         * tests/unictype/test-categ_Nl.c: Regenerated.
50964         * tests/unictype/test-categ_No.c: Regenerated.
50965         * tests/unictype/test-categ_P.c: Regenerated.
50966         * tests/unictype/test-categ_Pd.c: Regenerated.
50967         * tests/unictype/test-categ_Pe.c: Regenerated.
50968         * tests/unictype/test-categ_Pf.c: Regenerated.
50969         * tests/unictype/test-categ_Pi.c: Regenerated.
50970         * tests/unictype/test-categ_Po.c: Regenerated.
50971         * tests/unictype/test-categ_Ps.c: Regenerated.
50972         * tests/unictype/test-categ_S.c: Regenerated.
50973         * tests/unictype/test-categ_Sk.c: Regenerated.
50974         * tests/unictype/test-categ_Sm.c: Regenerated.
50975         * tests/unictype/test-categ_So.c: Regenerated.
50976         * tests/unictype/test-ctype_alnum.c: Regenerated.
50977         * tests/unictype/test-ctype_alpha.c: Regenerated.
50978         * tests/unictype/test-ctype_graph.c: Regenerated.
50979         * tests/unictype/test-ctype_lower.c: Regenerated.
50980         * tests/unictype/test-ctype_print.c: Regenerated.
50981         * tests/unictype/test-ctype_punct.c: Regenerated.
50982         * tests/unictype/test-ctype_upper.c: Regenerated.
50983         * tests/unictype/test-decdigit.h: Regenerated.
50984         * tests/unictype/test-digit.h: Regenerated.
50985         * tests/unictype/test-numeric.h: Regenerated.
50986         * tests/unictype/test-pr_alphabetic.c: Regenerated.
50987         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
50988         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
50989         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
50990         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
50991         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
50992         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
50993         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
50994         * tests/unictype/test-pr_combining.c: Regenerated.
50995         * tests/unictype/test-pr_dash.c: Regenerated.
50996         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
50997         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
50998         * tests/unictype/test-pr_deprecated.c: Regenerated.
50999         * tests/unictype/test-pr_diacritic.c: Regenerated.
51000         * tests/unictype/test-pr_extender.c: Regenerated.
51001         * tests/unictype/test-pr_format_control.c: Regenerated.
51002         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51003         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51004         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51005         * tests/unictype/test-pr_id_continue.c: Regenerated.
51006         * tests/unictype/test-pr_id_start.c: Regenerated.
51007         * tests/unictype/test-pr_ideographic.c: Regenerated.
51008         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51009         * tests/unictype/test-pr_lowercase.c: Regenerated.
51010         * tests/unictype/test-pr_math.c: Regenerated.
51011         * tests/unictype/test-pr_numeric.c: Regenerated.
51012         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51013         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51014         Regenerated.
51015         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51016         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51017         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51018         * tests/unictype/test-pr_other_math.c: Regenerated.
51019         * tests/unictype/test-pr_punctuation.c: Regenerated.
51020         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51021         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51022         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51023         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51024         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51025         * tests/unictype/test-pr_uppercase.c: Regenerated.
51026         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51027         * tests/unictype/test-pr_xid_start.c: Regenerated.
51028         * tests/unictype/test-pr_zero_width.c: Regenerated.
51029
51030         Update to Unicode 5.1.0.
51031         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51032         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51033         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51034         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51035         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51036         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51037         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51038         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51039         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51040         (nonspacing_table_ind): Update.
51041         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51042
51043         Update to Unicode 5.1.0.
51044         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51045         code transform.
51046         * lib/uniname/uniname.c (unicode_character_name,
51047         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51048         * lib/uniname/uninames.h: Regenerated.
51049         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51050
51051 2009-02-07  Bruno Haible  <bruno@clisp.org>
51052
51053         Merge gen-ctype and gen-lbrk into a single program.
51054         * lib/gen-uni-tables.c: New file, incorporating
51055         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51056         Add directory prefixes to the names of the generated files.
51057         * lib/unictype/gen-ctype.c: Remove file.
51058         * lib/unilbrk/gen-lbrk.c: Remove file.
51059         * modules/gen-uni-tables: New file.
51060         * modules/unictype/gen-ctype: Remove file.
51061         * modules/unilbrk/gen-lbrk: Remove file.
51062
51063 2009-02-07  Bruno Haible  <bruno@clisp.org>
51064
51065         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51066
51067         New module 'unistr/u32-strcoll'.
51068         * modules/unistr/u32-strcoll: New file.
51069         * lib/unistr/u32-strcoll.c: New file.
51070
51071         New module 'unistr/u16-strcoll'.
51072         * modules/unistr/u16-strcoll: New file.
51073         * lib/unistr/u16-strcoll.c: New file.
51074
51075         New module 'unistr/u8-strcoll'.
51076         * modules/unistr/u8-strcoll: New file.
51077         * lib/unistr/u8-strcoll.c: New file.
51078         * lib/unistr/u-strcoll.h: New file.
51079
51080 2009-02-07  Bruno Haible  <bruno@clisp.org>
51081
51082         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51083         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51084         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51085         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51086         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51087         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51088
51089 2009-02-07  Bruno Haible  <bruno@clisp.org>
51090
51091         Make 64-bit clean.
51092         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51093         output_combclass, output_bidi_category, output_decimal_digit,
51094         output_digit, output_numeric, output_mirror, output_scripts,
51095         output_ident_category): Use proper width specifier in format strings.
51096
51097 2009-02-07  Bruno Haible  <bruno@clisp.org>
51098
51099         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51100         failure behaviour.
51101
51102 2009-02-07  Jim Meyering  <meyering@redhat.com>
51103
51104         regex: avoid compilation failure with upcoming gcc-4.4
51105         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51106         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51107         "... error: integer overflow in preprocessor expression".
51108
51109 2009-02-05  Ben Pfaff  <blp@gnu.org>
51110
51111         Fix link errors on Windows when close module is used.
51112         * modules/close: Add $(LIB_CLOSE) to Link section.
51113         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51114         $(LIB_CLOSE) on Windows.
51115
51116 2009-02-05  Jim Meyering  <meyering@redhat.com>
51117
51118         still avoid unused-parameter warnings, but do it cleanly
51119         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51120         (get_fs_usage): Cast to void instead.
51121         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51122         (dev_from_mount_options, read_file_system_list): Cast to void.
51123         Prompted by Bruno Haible.
51124
51125 2009-02-04  Jim Meyering  <meyering@redhat.com>
51126
51127         fsusage.c: correct copyright year
51128         * lib/fsusage.c: Reflect year in which the change is pushed into
51129
51130         avoid misc. warnings
51131         * lib/fsusage.c (UNUSED_PARAM): Define.
51132         (get_fs_usage): Mark parameter "disk" as unused.
51133         * lib/getugroups.c (getgrent): Use "void" in prototype.
51134         * lib/mountlist.c: Mark unused parameters.
51135         (read_file_system_list): Declare a local with "const".
51136         * lib/nanosleep.c (getnow): Declare static.
51137         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51138
51139         dirfd: set errno upon failure
51140         * lib/dirfd.c: Include <errno.h>.
51141         Set errno to ENOTSUP when returning -1.
51142         * modules/dirfd (Depends-on): Add errno.
51143         Suggested by John Kodis <kodis@comcast.net>.
51144
51145 2009-02-01  Bruno Haible  <bruno@clisp.org>
51146
51147         Don't assume sizeof (long) >= sizeof (void *).
51148         * lib/memcmp.c: Include stdint.h.
51149         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51150         srcp2 to 'const byte *'.
51151         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51152         types to uintptr_t.
51153         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51154         * modules/memcmp (Depends-on): Add stdint.
51155         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51156
51157 2009-01-30  Eric Blake  <ebb9@byu.net>
51158
51159         fix more require-before-expand issues
51160         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51161         expand, AC_PROG_AWK.
51162         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51163
51164 2009-01-28  Eric Blake  <ebb9@byu.net>
51165
51166         version-etc: use consistent URL formatting
51167         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51168         Improve formatting.  Use fputs for string without %.
51169
51170 2009-01-28  Jim Meyering  <meyering@redhat.com>
51171
51172         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51173         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51174         "underquoted definition of NAME" from autoconf-2.59.
51175
51176 2009-01-28  Bruno Haible  <bruno@clisp.org>
51177
51178         * doc/gnulib.texi: Add "Obsolete modules" to index.
51179
51180 2009-01-28  Jim Meyering  <meyering@redhat.com>
51181
51182         useless-if-before-free: recognize more variants
51183         * build-aux/useless-if-before-free: Also recognize e.g.,
51184         if (NULL != p) free (p);
51185
51186 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51187
51188         test-getaddrinfo: skip (don't fail) this test when there's no network
51189         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51190         on the presumption that it means you lack network access.
51191
51192 2009-01-26  Jim Meyering  <meyering@redhat.com>
51193
51194         fflush: avoid warnings on modern systems
51195         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51196         pos and result, into scopes where they're used.
51197
51198 2009-01-26  Eric Blake  <ebb9@byu.net>
51199
51200         Silence warning reintroduced by recent extensions patch.
51201         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51202         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51203         autoconf.
51204
51205         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51206         * m4/00gnulib.m4: New file.
51207         * gnulib-tool (func_get_filelist): Always use it.
51208         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51209         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51210
51211 2009-01-25  Bruno Haible  <bruno@clisp.org>
51212
51213         Make test-quotearg work on MacOS X and AIX.
51214         * tests/test-quotearg.sh: New file.
51215         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51216         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51217         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51218         include <libintl.h>.
51219         (fake_locale): Remove variable.
51220         (gettext, dgettext, dcgettext): Remove functions.
51221         (main): Instead of setting a fake locale, set a real locale. Call
51222         textdomain and bindtextdomain.
51223         * modules/quotearg-tests (Files): Add the new files.
51224         (Depends-on): Add gettext, setenv, unsetenv.
51225         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51226         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51227         Augment TESTS_ENVIRONMENT.
51228
51229 2009-01-25  Bruno Haible  <bruno@clisp.org>
51230
51231         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51232         fr_FR.ISO8859-1 locale on MacOS X.
51233         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51234         ja_JP.eucJP locale on MacOS X.
51235         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51236         zh_CN.GB18030 locale on MacOS X.
51237
51238 2009-01-25  Bruno Haible  <bruno@clisp.org>
51239
51240         Avoid link errors on MacOS X 10.3.
51241         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51242         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51243
51244 2009-01-25  Bruno Haible  <bruno@clisp.org>
51245
51246         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51247         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51248         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51249         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51250         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51251         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51252         posix_spawnattr_init, posix_spawnattr_setsigmask,
51253         posix_spawnattr_setflags, posix_spawnattr_destroy.
51254
51255         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51256         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51257         * modules/execute (Files): Remove m4/posix_spawn.m4.
51258         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51259         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51260         posix_spawnattr_init, posix_spawnattr_setsigmask,
51261         posix_spawnattr_setflags, posix_spawnattr_destroy.
51262
51263 2009-01-25  Bruno Haible  <bruno@clisp.org>
51264
51265         * lib/glthread/threadlib.c: Include <stdlib.h>.
51266
51267 2009-01-25  Bruno Haible  <bruno@clisp.org>
51268
51269         * lib/glthread/threadlib.c (dummy): New declaration.
51270
51271 2009-01-25  Bruno Haible  <bruno@clisp.org>
51272
51273         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51274         multibyte characters also for the GB18030 encoding. Don't crash when
51275         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51276
51277 2009-01-25  Bruno Haible  <bruno@clisp.org>
51278
51279         Avoid redefining 'struct random_data' on OSF/1 5.1.
51280         * lib/stdlib.in.h: Include <random.h> if it exists.
51281         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51282         HAVE_RANDOM_H. Include <random.h> when testing whether
51283         'struct random_data' exists.
51284         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51285
51286 2009-01-25  Bruno Haible  <bruno@clisp.org>
51287
51288         Don't install charset.alias on MacOS X >= 10.3.
51289         * lib/localcharset.c (DARWIN7): New macro.
51290         (get_charset_aliases): Hardcode the result for Darwin7.
51291         * modules/localcharset (install-exec-local): Don't install
51292         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51293
51294 2009-01-25  Bruno Haible  <bruno@clisp.org>
51295
51296         Don't install charset.alias on mingw and Cygwin.
51297         * modules/localcharset (install-exec-local): Don't install
51298         charset.alias on mingw and Cygwin, if the file does not yet exist.
51299         The result for these platforms is hardcoded in localcharset.c.
51300
51301 2009-01-25  Bruno Haible  <bruno@clisp.org>
51302
51303         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51304         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51305         before requiring AC_USE_SYSTEM_EXTENSIONS.
51306
51307 2009-01-25  Jim Meyering  <meyering@redhat.com>
51308
51309         c-strtod: avoid warnings
51310         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51311         "assignment discards qualifiers from pointer target type" warnings.
51312
51313 2009-01-24  Bruno Haible  <bruno@clisp.org>
51314
51315         Add support for non-UTF-8 locales on MacOS X.
51316         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51317         canonical encodings. For Darwin 7 and newer, don't map traditional
51318         encodings to UTF-8.
51319         Reported by Vincent Lefevre <vincent@vinc17.org>
51320         at <http://savannah.gnu.org/bugs/?25235>.
51321
51322 2009-01-24  Bruno Haible  <bruno@clisp.org>
51323
51324         * doc/gnulib.texi (Obsolete modules): New section.
51325         Reported by Mike Frysinger <vapier@gentoo.org>.
51326
51327 2009-01-24  Bruno Haible  <bruno@clisp.org>
51328
51329         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51330         (%.dvi): New rule.
51331
51332 2009-01-24  Bruno Haible  <bruno@clisp.org>
51333
51334         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51335         Reported by Eric Blake.
51336
51337 2009-01-24  Bruno Haible  <bruno@clisp.org>
51338
51339         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51340         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51341         Reported by Gary V. Vaughan <gary@gnu.org>.
51342
51343 2009-01-24  Bruno Haible  <bruno@clisp.org>
51344
51345         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51346
51347 2009-01-23  Bruno Haible  <bruno@clisp.org>
51348
51349         Make c-strtod, c-strtold usable in libraries.
51350         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51351         (C_STRTOD): Call strdup instead of xstrdup.
51352         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51353         * modules/c-strtold (Depends-on): Likewise.
51354         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51355         * NEWS: Mention the change.
51356         Reported by Michael Gold <mgold@ncf.ca>.
51357
51358 2009-01-23  Jim Meyering  <meyering@redhat.com>
51359
51360         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51361         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51362         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51363
51364 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51365
51366         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51367         GNU CoreUtils.
51368         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51369         * modules/version-etc (Description): Update.
51370
51371 2009-01-22  Bruno Haible  <bruno@clisp.org>
51372
51373         Cache the C locale object.
51374         * lib/c-strtod.c (c_locale_cache): New variable.
51375         (c_locale): New function.
51376         (C_STRTOD): Use it, and don't call freelocale.
51377         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51378         Suggested by Paolo Bonzini.
51379
51380 2009-01-21  Bruno Haible  <bruno@clisp.org>
51381
51382         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51383         conditions other than overflow.
51384
51385 2009-01-21  Bruno Haible  <bruno@clisp.org>
51386
51387         * lib/c-strtod.c: Include errno.h.
51388         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51389         value from STRTOD_L and STRTOD.
51390
51391 2009-01-21  Bruno Haible  <bruno@clisp.org>
51392         and Jim Meyering  <meyering@redhat.com>
51393
51394         nanosleep: skip configure test (fail it) for apple universal builds
51395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51396         universal builds, assume that nanosleep does not work.
51397         * modules/nanosleep (Depends-on): Add multiarch.
51398
51399         mktime: skip configure test (fail it) for apple universal builds
51400         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51401         universal builds, assume that mktime does not work.
51402         * modules/mktime (Depends-on): Add multiarch.
51403
51404 2009-01-21  Eric Blake  <ebb9@byu.net>
51405
51406         multiarch: avoid expand-before-require warning
51407         * modules/multiarch (configure.ac): Require, rather than expand,
51408         gl_MULTIARCH.
51409         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51410         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51411         enforce that all clients require it.  Partial reversion of
51412         2008-12-29 patch.
51413
51414         error: avoid expand-before-require warning
51415         * modules/errno (configure.ac): Require, rather than expand,
51416         gl_HEADER_ERRNO_H.
51417         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51418         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51419         enforce that all clients require it.
51420
51421         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51422         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51423         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51424         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51425
51426 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51427
51428         Revert:
51429         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51430
51431         regex: do not depend on obsolete modules.
51432         * modules/regex: Remove memcmp and memmove.
51433
51434 2009-01-20  Bruno Haible  <bruno@clisp.org>
51435
51436         Make the 'link' module link on Windows NT 4.
51437         * lib/link.c (_WIN32_WINNT): Don't define.
51438         (CreateHardLinkFuncType): New type.
51439         (CreateHardLinkFunc, initialized): New variables.
51440         (initialize): New function.
51441         (link): Invoke CreateHardLink indirectly through the function pointer.
51442
51443 2009-01-20  Bruno Haible  <bruno@clisp.org>
51444
51445         Fix compilation failure on mingw.
51446         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51447
51448 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51449
51450         * doc/c-strtod.texi: Mention a couple of restrictions.
51451
51452 2009-01-20  Jim Meyering  <meyering@redhat.com>
51453
51454         gettimeofday: move more declarations out of functions
51455         * lib/gettimeofday.c: Move extern declarations of tzset and
51456         gmtime out of containing functions.  Prompted by Bruno Haible.
51457
51458 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51459
51460         regex: do not depend on obsolete modules.
51461         * modules/regex: Remove memcmp and memmove.
51462
51463 2009-01-19  Bruno Haible  <bruno@clisp.org>
51464
51465         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51466         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51467         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51468         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51469         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51470
51471 2009-01-19  Bruno Haible  <bruno@clisp.org>
51472
51473         * tests/test-link.c: Include <errno.h>.
51474         (main): Exit with code 77 when a hard link cannot be created due to
51475         the file system.
51476         * tests/test-link.sh: Skip test when a hard link cannot be created due
51477         to the file system.
51478         Suggested by Eric Blake.
51479
51480 2009-01-19  Martin Lambers  <marlam@marlam.de>
51481
51482         * modules/link-tests: New file.
51483         * tests/test-link.sh: New file.
51484         * tests/test-link.c: New file.
51485
51486 2009-01-19  Eric Blake  <ebb9@byu.net>
51487
51488         doc: mention another function added in cygwin 1.7.0
51489         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51490         Another new function in cygwin 1.7.
51491
51492 2009-01-19  Bruno Haible  <bruno@clisp.org>
51493
51494         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51495         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51496         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51497         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51498         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51499         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51500         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51501         * m4/md4.m4 (gl_MD4): Likewise.
51502         * m4/md5.m4 (gl_MD5): Likewise.
51503         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51504         * m4/sha1.m4 (gl_SHA1): Likewise.
51505         * m4/sha256.m4 (gl_SHA256): Likewise.
51506         * m4/sha512.m4 (gl_SHA512): Likewise.
51507
51508 2009-01-19  Bruno Haible  <bruno@clisp.org>
51509
51510         * modules/uniname/uniname-tests (Depends-on): Add progname.
51511         * tests/uniname/test-uninames.c: Include progname.h.
51512         (main): Call set_program_name.
51513
51514         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51515         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51516         (main): Call set_program_name.
51517
51518         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51519         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51520         (main): Call set_program_name.
51521
51522         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51523         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51524         (main): Call set_program_name.
51525
51526         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51527         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51528         (main): Call set_program_name.
51529
51530         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51531         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51532         (main): Call set_program_name.
51533
51534         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51535         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51536         (main): Call set_program_name.
51537
51538         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51539         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51540         (main): Call set_program_name.
51541
51542         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51543         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51544         (main): Call set_program_name.
51545
51546 2009-01-19  Eric Blake  <ebb9@byu.net>
51547
51548         test-unistd: test previous patch
51549         * tests/test-unistd.c: Test *_FILENO macros.
51550
51551         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51552         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51553         Guarantee a definition.
51554         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51555         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51556         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51557         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51558         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51559         Likewise.
51560         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51561         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51562         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51563         Likewise.
51564         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51565         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51566         (STDERR_FILENO): Likewise.
51567         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51568         (STDERR_FILENO): Likewise.
51569         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51570         (STDERR_FILENO): Likewise.
51571         Reported by Elbert Pol.
51572
51573 2009-01-19  Eric Blake  <ebb9@byu.net>
51574
51575         doc: mention more functions added in cygwin 1.7.0
51576         * doc/posix-functions/abort.texi (abort): Update wording related
51577         to cygwin.
51578         * doc/posix-functions/daylight.texi (daylight): Likewise.
51579         * doc/posix-functions/optarg.texi (optarg): Likewise.
51580         * doc/posix-functions/optarg.texi (opterr): Likewise.
51581         * doc/posix-functions/optarg.texi (optind): Likewise.
51582         * doc/posix-functions/optarg.texi (optopt): Likewise.
51583         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51584         worked in 1.5.x, and was withdrawn in 1.7.
51585         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51586         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51587         cygwin versions.
51588         * doc/posix-functions/perror.texi (perror): Likewise.
51589         * doc/posix-functions/printf.texi (printf): Likewise.
51590         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51591         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51592         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51593         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51594         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51595         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51596         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51597         Likewise.
51598         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51599         Likewise.
51600         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51601         this function.
51602         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51603         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51604         Likewise.
51605         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51606         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51607         * doc/posix-functions/confstr.texi (confstr): Likewise.
51608         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51609         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51610         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51611         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51612         * doc/posix-functions/fputws.texi (fputws): Likewise.
51613         * doc/posix-functions/fwide.texi (fwide): Likewise.
51614         * doc/posix-functions/getwc.texi (getwc): Likewise.
51615         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51616         * doc/posix-functions/putwc.texi (putwc): Likewise.
51617         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51618         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51619         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51620         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51621         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51622         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51623         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51624         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51625         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51626         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51627         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51628
51629 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51630
51631         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51632         * lib/ioctl.c: Include <sys/ioctl.h>.
51633
51634 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51635
51636         * modules/getdate-tests (Depends-on): Add progname.
51637         * tests/test-getdate.c: Use progname module, to avoid link errors
51638         on non-glibc systems.
51639
51640 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51641
51642         * modules/filenamecat-tests (Depends-on): Add progname.
51643         * modules/fstrcmp-tests (Depends-on): Likewise.
51644
51645         * tests/test-filenamecat.c: Use progname module, to avoid link
51646         errors on non-glibc systems.
51647         * tests/test-fstrcmp.c: Likewise.
51648
51649 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51650
51651         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51652         * lib/gettimeofday.c: Move extern declaration out of function.
51653
51654 2009-01-18  Bruno Haible  <bruno@clisp.org>
51655
51656         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51657         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51658         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51659
51660 2009-01-18  Bruno Haible  <bruno@clisp.org>
51661
51662         * lib/strftime.c (MEMPCPY): Remove unused macro.
51663         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51664
51665 2009-01-18  Martin Lambers  <marlam@marlam.de>
51666
51667         New module 'link'.
51668         * lib/unistd.in.h (link): New declaration.
51669         * lib/link.c: New file.
51670         * m4/link.m4: New file.
51671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51672         HAVE_LINK.
51673         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51674         * modules/link: New file.
51675         * doc/posix-functions/link.texi: Mention the new module.
51676
51677 2009-01-18  Bruno Haible  <bruno@clisp.org>
51678
51679         * tests/test-avltree_list.c (main): Call set_program_name.
51680         * tests/test-avltree_oset.c (main): Likewise.
51681         * tests/test-obstack-printf.c: Include progname.h.
51682         (main): Call set_program_name.
51683         * tests/test-quotearg.c: Include progname.h.
51684         (main): Call set_program_name.
51685         * tests/test-xmemdup0.c: Include progname.h.
51686         (main): Call set_program_name.
51687
51688 2009-01-18  Bruno Haible  <bruno@clisp.org>
51689
51690         New module 'alphasort'.
51691         * lib/dirent.in.h (alphasort): New declaration.
51692         * lib/alphasort.c: New file, from glibc with modifications.
51693         * m4/alphasort.m4: New file.
51694         * modules/alphasort: New file.
51695         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51696         HAVE_ALPHASORT.
51697         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51698         HAVE_ALPHASORT.
51699         * doc/posix-functions/alphasort.texi: Mention the new module and the
51700         portability problems.
51701
51702 2009-01-18  Bruno Haible  <bruno@clisp.org>
51703
51704         New module 'scandir'.
51705         * lib/dirent.in.h (scandir): New declaration.
51706         * lib/scandir.c: New file, from glibc with modifications.
51707         * m4/scandir.m4: New file.
51708         * modules/scandir: New file.
51709         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51710         HAVE_SCANDIR.
51711         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51712         HAVE_SCANDIR.
51713         * doc/posix-functions/scandir.texi: Mention the new module and the
51714         portability problems.
51715
51716 2009-01-17  Bruno Haible  <bruno@clisp.org>
51717
51718         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51719         Update documentation.
51720         (func_remove_suffix): Escape all dots in the suffix. Update
51721         documentation.
51722         (func_filter_filelist): Update documentation.
51723         Reported by Ralf Wildenhues.
51724
51725 2009-01-17  Bruno Haible  <bruno@clisp.org>
51726
51727         * modules/dprintf-posix-tests: New file.
51728         * tests/test-dprintf-posix.sh: New file.
51729         * tests/test-dprintf-posix.c: New file.
51730
51731         New modules 'dprintf', 'dprintf-posix'.
51732         * lib/stdio.in.h (dprintf): New declaration.
51733         * lib/dprintf.c: New file.
51734         * m4/dprintf.m4: New file.
51735         * m4/dprintf-posix.m4: New file.
51736         * modules/dprintf: New file.
51737         * modules/dprintf-posix: New file.
51738         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51739         HAVE_DPRINTF, REPLACE_DPRINTF.
51740         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51741         HAVE_DPRINTF, REPLACE_DPRINTF.
51742         * doc/posix-functions/dprintf.texi: Mention the new modules.
51743
51744 2009-01-17  Bruno Haible  <bruno@clisp.org>
51745
51746         * modules/vdprintf-posix-tests: New file.
51747         * tests/test-vdprintf-posix.sh: New file.
51748         * tests/test-vdprintf-posix.c: New file.
51749
51750         New modules 'vdprintf', 'vdprintf-posix'.
51751         * lib/stdio.in.h (vdprintf): New declaration.
51752         * lib/vdprintf.c: New file.
51753         * m4/vdprintf.m4: New file.
51754         * m4/vdprintf-posix.m4: New file.
51755         * modules/vdprintf: New file.
51756         * modules/vdprintf-posix: New file.
51757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51758         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51759         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51760         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51761         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51762
51763 2009-01-17  Bruno Haible  <bruno@clisp.org>
51764
51765         Fix replacement of fopen on mingw.
51766         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
51767         mingw.
51768
51769 2009-01-17  Bruno Haible  <bruno@clisp.org>
51770
51771         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
51772         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
51773
51774 2009-01-17  Bruno Haible  <bruno@clisp.org>
51775
51776         Avoid test-fflush2.sh failure on mingw.
51777         * tests/test-fflush2.c: Include binary-io.h.
51778         (main): Put standard input into binary mode.
51779         * modules/fflush-tests (Depends-on): Add binary-io.
51780
51781 2009-01-17  Bruno Haible  <bruno@clisp.org>
51782
51783         * lib/wchar.in.h: In another particular situation, include only the
51784         system's <wchar.h> file.
51785         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
51786         Reported by Albert Chin-A-Young <china@thewrittenword.com>
51787         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
51788
51789 2009-01-17  Bruno Haible  <bruno@clisp.org>
51790
51791         Support for stripping executables in --enable-relocatable.
51792         * build-aux/install-reloc: Expect one more argument, or an environment
51793         variable RELOC_STRIP_PROG. If set, strip the destination program and
51794         its wrapper.
51795         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
51796         RELOC_STRIP_PROG.
51797         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
51798         to set RELOCATABLE_STRIP.
51799         * NEWS: Mention the new Makefile requirement.
51800
51801 2009-01-17  Bruno Haible  <bruno@clisp.org>
51802
51803         * build-aux/install-reloc: Remove debugging information left over by
51804         C compiler on MacOS X.
51805
51806 2009-01-17  Bruno Haible  <bruno@clisp.org>
51807
51808         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
51809         * lib/progreloc.c (find_executable): Fix type of pointer passed to
51810         _NSGetExecutablePath.
51811
51812 2009-01-16  Jim Meyering  <meyering@redhat.com>
51813
51814         strerror: avoid warnings about discarding "const"
51815         * lib/strerror.c (rpl_strerror): Instead of returning a const
51816         string from each and every "case", use a variable, and add a single
51817         cast after the switch.
51818
51819 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
51820
51821         * lib/arpa_inet.in.h: Add extern "C" block for C++.
51822
51823 2009-01-16  Bruno Haible  <bruno@clisp.org>
51824
51825         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
51826         array initializer syntax that also works in C++ mode.
51827         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51828
51829 2009-01-16  Jim Meyering  <meyering@redhat.com>
51830
51831         poll: suppress a warning
51832         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
51833         to ignore "...unsigned expression < 0 is always false" warnings.
51834
51835 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
51836
51837         poll: remove declarations of unused variables
51838         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
51839         sockbuf and optlen.
51840
51841 2009-01-15  Bruno Haible  <bruno@clisp.org>
51842
51843         Make fflush-after-ungetc POSIX compliant on BSD systems.
51844         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
51845         (clear_ungetc_buffer): Implement also for other systems.
51846         (rpl_fflush): On glibc systems, invoke
51847         clear_ungetc_buffer_preserving_position. Otherwise, invoke
51848         clear_ungetc_buffer after fetching the stream's position, not before.
51849
51850 2009-01-15  Bruno Haible  <bruno@clisp.org>
51851
51852         Make fflush-after-ungetc POSIX compliant on glibc systems.
51853         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
51854         after ungetc.
51855         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
51856         (rpl_fflush): On glibc systems, simply call the system's fflush
51857         function after clearing the ungetc buffer.
51858         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
51859         Instead, lseek only to the end of file, then use the system's fseeko
51860         for the rest. On glibc systems, reset the EOF indicator bit.
51861
51862 2009-01-15  Jim Meyering  <meyering@redhat.com>
51863
51864         openmp.m4: revert quote-adding change, for portability to older autoconf
51865         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
51866         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
51867         Simon Josefsson noticed the problem when using autoconf-2.61.
51868
51869 2009-01-15  Bruno Haible  <bruno@clisp.org>
51870
51871         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
51872         * tests/test-fflush2.c (ASSERT): Always fail.
51873         (main): Add two tests for fflush() after ungetc(), taking into account
51874         the Austin Group's clarification.
51875         Suggested by Eric Blake.
51876
51877 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
51878
51879         mktime.m4: remove K&R-style function prototypes
51880         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
51881         for the Sun C++ compiler.
51882
51883 2009-01-14  Bruno Haible  <bruno@clisp.org>
51884
51885         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
51886         while including <wchar.h>.
51887         * lib/wchar.in.h: In two particular situations on HP-UX, include only
51888         the system's <wchar.h> file.
51889         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51890
51891 2009-01-14  Bruno Haible  <bruno@clisp.org>
51892
51893         * m4/csharp.m4: Don't mention gettext on the serial number line.
51894         * m4/csharpexec.m4: Likewise.
51895         * m4/eaccess.m4: Likewise.
51896         * m4/javaexec.m4: Likewise.
51897         * m4/sig_atomic_t.m4: Likewise.
51898         * m4/tmpdir.m4: Likewise.
51899         * m4/intldir.m4: Bump gettext version.
51900         * m4/lib-ld.m4: Likewise.
51901
51902 2009-01-14  Bruno Haible  <bruno@clisp.org>
51903
51904         * lib/progname.c (set_program_name): Add more comments.
51905         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
51906
51907 2009-01-14  Simon Josefsson  <simon@josefsson.org>
51908
51909         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
51910         were sys/stat.h does not define it.
51911
51912 2009-01-14  Jim Meyering  <meyering@redhat.com>
51913
51914         many *.m4 files: improve m4 quoting
51915         99% of this change was performed by running the following commands:
51916         git ls-files | grep '\.m4$' | xargs perl -pi \
51917           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
51918           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51919           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51920           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
51921         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
51922         The remainder were to add Copyright dates, increment serial numbers,
51923         undo some changes in comments, exclude m4/intl.m4, and add quotes
51924         around the "1" in ",1" where the unusual spacing prohibited the
51925         above regexps from doing the job.  For more details, see
51926         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
51927         * m4/acl.m4: Modified.
51928         * m4/afs.m4: Likewise.
51929         * m4/alloca.m4: Likewise.
51930         * m4/argp.m4: Likewise.
51931         * m4/argz.m4: Likewise.
51932         * m4/atexit.m4: Likewise.
51933         * m4/bison-i18n.m4: Likewise.
51934         * m4/bison.m4: Likewise.
51935         * m4/byteswap.m4: Likewise.
51936         * m4/c-stack.m4: Likewise.
51937         * m4/c-strtod.m4: Likewise.
51938         * m4/calloc.m4: Likewise.
51939         * m4/canonicalize-lgpl.m4: Likewise.
51940         * m4/chown.m4: Likewise.
51941         * m4/clock_time.m4: Likewise.
51942         * m4/codeset.m4: Likewise.
51943         * m4/copy-file.m4: Likewise.
51944         * m4/csharp.m4: Likewise.
51945         * m4/csharpcomp.m4: Likewise.
51946         * m4/csharpexec.m4: Likewise.
51947         * m4/d-ino.m4: Likewise.
51948         * m4/d-type.m4: Likewise.
51949         * m4/dirfd.m4: Likewise.
51950         * m4/double-slash-root.m4: Likewise.
51951         * m4/eaccess.m4: Likewise.
51952         * m4/eealloc.m4: Likewise.
51953         * m4/environ.m4: Likewise.
51954         * m4/errno_h.m4: Likewise.
51955         * m4/euidaccess.m4: Likewise.
51956         * m4/execute.m4: Likewise.
51957         * m4/fatal-signal.m4: Likewise.
51958         * m4/fchdir.m4: Likewise.
51959         * m4/fcntl_h.m4: Likewise.
51960         * m4/fileblocks.m4: Likewise.
51961         * m4/filenamecat.m4: Likewise.
51962         * m4/findprog.m4: Likewise.
51963         * m4/flexmember.m4: Likewise.
51964         * m4/fnmatch.m4: Likewise.
51965         * m4/fopen.m4: Likewise.
51966         * m4/fpending.m4: Likewise.
51967         * m4/fprintf-posix.m4: Likewise.
51968         * m4/free.m4: Likewise.
51969         * m4/frexp.m4: Likewise.
51970         * m4/frexpl.m4: Likewise.
51971         * m4/fsusage.m4: Likewise.
51972         * m4/ftruncate.m4: Likewise.
51973         * m4/gc-camellia.m4: Likewise.
51974         * m4/gc-random.m4: Likewise.
51975         * m4/gc.m4: Likewise.
51976         * m4/getaddrinfo.m4: Likewise.
51977         * m4/getcwd-abort-bug.m4: Likewise.
51978         * m4/getcwd-path-max.m4: Likewise.
51979         * m4/getdate.m4: Likewise.
51980         * m4/getdomainname.m4: Likewise.
51981         * m4/getgroups.m4: Likewise.
51982         * m4/gethostname.m4: Likewise.
51983         * m4/gethrxtime.m4: Likewise.
51984         * m4/getline.m4: Likewise.
51985         * m4/getloadavg.m4: Likewise.
51986         * m4/getndelim2.m4: Likewise.
51987         * m4/getpass.m4: Likewise.
51988         * m4/gettext.m4: Likewise.
51989         * m4/gettime.m4: Likewise.
51990         * m4/gettimeofday.m4: Likewise.
51991         * m4/gnulib-common.m4: Likewise.
51992         * m4/group-member.m4: Likewise.
51993         * m4/host-os.m4: Likewise.
51994         * m4/iconv.m4: Likewise.
51995         * m4/iconv_open.m4: Likewise.
51996         * m4/inet_ntop.m4: Likewise.
51997         * m4/inet_pton.m4: Likewise.
51998         * m4/inline.m4: Likewise.
51999         * m4/intldir.m4: Likewise.
52000         * m4/intlmacosx.m4: Likewise.
52001         * m4/intmax.m4: Likewise.
52002         * m4/intmax_t.m4: Likewise.
52003         * m4/inttypes.m4: Likewise.
52004         * m4/inttypes_h.m4: Likewise.
52005         * m4/inttypes-pri.m4: Likewise.
52006         * m4/isapipe.m4: Likewise.
52007         * m4/isnand.m4: Likewise.
52008         * m4/isnanf.m4: Likewise.
52009         * m4/isnanl.m4: Likewise.
52010         * m4/javacomp.m4: Likewise.
52011         * m4/javaexec.m4: Likewise.
52012         * m4/jm-winsz1.m4: Likewise.
52013         * m4/jm-winsz2.m4: Likewise.
52014         * m4/lchown.m4: Likewise.
52015         * m4/lcmessage.m4: Likewise.
52016         * m4/ldexpl.m4: Likewise.
52017         * m4/lib-ld.m4: Likewise.
52018         * m4/lib-link.m4: Likewise.
52019         * m4/libsigsegv.m4: Likewise.
52020         * m4/link-follow.m4: Likewise.
52021         * m4/localcharset.m4: Likewise.
52022         * m4/locale-fr.m4: Likewise.
52023         * m4/locale-ja.m4: Likewise.
52024         * m4/locale-tr.m4: Likewise.
52025         * m4/locale-zh.m4: Likewise.
52026         * m4/lock.m4: Likewise.
52027         * m4/longlong.m4: Likewise.
52028         * m4/ls-mntd-fs.m4: Likewise.
52029         * m4/lstat.m4: Likewise.
52030         * m4/malloc.m4: Likewise.
52031         * m4/mathl.m4: Likewise.
52032         * m4/mbrtowc.m4: Likewise.
52033         * m4/mbstate_t.m4: Likewise.
52034         * m4/mbswidth.m4: Likewise.
52035         * m4/memchr.m4: Likewise.
52036         * m4/memcmp.m4: Likewise.
52037         * m4/memcpy.m4: Likewise.
52038         * m4/memmem.m4: Likewise.
52039         * m4/memmove.m4: Likewise.
52040         * m4/mempcpy.m4: Likewise.
52041         * m4/memrchr.m4: Likewise.
52042         * m4/memset.m4: Likewise.
52043         * m4/minmax.m4: Likewise.
52044         * m4/mkdir-slash.m4: Likewise.
52045         * m4/mkdtemp.m4: Likewise.
52046         * m4/mktime.m4: Likewise.
52047         * m4/mmap-anon.m4: Likewise.
52048         * m4/mountlist.m4: Likewise.
52049         * m4/nanosleep.m4: Likewise.
52050         * m4/nls.m4: Likewise.
52051         * m4/nocrash.m4: Likewise.
52052         * m4/open.m4: Likewise.
52053         * m4/openat.m4: Likewise.
52054         * m4/openmp.m4: Likewise.
52055         * m4/pathmax.m4: Likewise.
52056         * m4/perl.m4: Likewise.
52057         * m4/physmem.m4: Likewise.
52058         * m4/pipe.m4: Likewise.
52059         * m4/po.m4: Likewise.
52060         * m4/poll.m4: Likewise.
52061         * m4/posixtm.m4: Likewise.
52062         * m4/posixver.m4: Likewise.
52063         * m4/printf-frexp.m4: Likewise.
52064         * m4/printf-frexpl.m4: Likewise.
52065         * m4/printf-posix.m4: Likewise.
52066         * m4/printf-posix-rpl.m4: Likewise.
52067         * m4/printf.m4: Likewise.
52068         * m4/progtest.m4: Likewise.
52069         * m4/putenv.m4: Likewise.
52070         * m4/readline.m4: Likewise.
52071         * m4/readlink.m4: Likewise.
52072         * m4/readutmp.m4: Likewise.
52073         * m4/realloc.m4: Likewise.
52074         * m4/regex.m4: Likewise.
52075         * m4/relocatable.m4: Likewise.
52076         * m4/relocatable-lib.m4: Likewise.
52077         * m4/rename-dest-slash.m4: Likewise.
52078         * m4/rename.m4: Likewise.
52079         * m4/rmdir-errno.m4: Likewise.
52080         * m4/rmdir.m4: Likewise.
52081         * m4/roundf.m4: Likewise.
52082         * m4/roundl.m4: Likewise.
52083         * m4/rpmatch.m4: Likewise.
52084         * m4/save-cwd.m4: Likewise.
52085         * m4/selinux-selinux-h.m4: Likewise.
52086         * m4/setenv.m4: Likewise.
52087         * m4/settime.m4: Likewise.
52088         * m4/sig2str.m4: Likewise.
52089         * m4/sig_atomic_t.m4: Likewise.
52090         * m4/signalblocking.m4: Likewise.
52091         * m4/signbit.m4: Likewise.
52092         * m4/sigpipe.m4: Likewise.
52093         * m4/sockets.m4: Likewise.
52094         * m4/sockpfaf.m4: Likewise.
52095         * m4/st_dm_mode.m4: Likewise.
52096         * m4/stat-time.m4: Likewise.
52097         * m4/stdbool.m4: Likewise.
52098         * m4/stdint.m4: Likewise.
52099         * m4/stdint_h.m4: Likewise.
52100         * m4/stpcpy.m4: Likewise.
52101         * m4/stpncpy.m4: Likewise.
52102         * m4/strcase.m4: Likewise.
52103         * m4/strchrnul.m4: Likewise.
52104         * m4/strcspn.m4: Likewise.
52105         * m4/strdup.m4: Likewise.
52106         * m4/strftime.m4: Likewise.
52107         * m4/strndup.m4: Likewise.
52108         * m4/strnlen.m4: Likewise.
52109         * m4/strpbrk.m4: Likewise.
52110         * m4/strptime.m4: Likewise.
52111         * m4/strsep.m4: Likewise.
52112         * m4/strtod.m4: Likewise.
52113         * m4/strtoimax.m4: Likewise.
52114         * m4/strtok_r.m4: Likewise.
52115         * m4/strtol.m4: Likewise.
52116         * m4/strtoll.m4: Likewise.
52117         * m4/strtoul.m4: Likewise.
52118         * m4/strtoull.m4: Likewise.
52119         * m4/strtoumax.m4: Likewise.
52120         * m4/strverscmp.m4: Likewise.
52121         * m4/threadlib.m4: Likewise.
52122         * m4/timegm.m4: Likewise.
52123         * m4/tm_gmtoff.m4: Likewise.
52124         * m4/tmpdir.m4: Likewise.
52125         * m4/tmpfile.m4: Likewise.
52126         * m4/tzset.m4: Likewise.
52127         * m4/uintmax_t.m4: Likewise.
52128         * m4/unlinkdir.m4: Likewise.
52129         * m4/unlocked-io.m4: Likewise.
52130         * m4/uptime.m4: Likewise.
52131         * m4/userspec.m4: Likewise.
52132         * m4/utimbuf.m4: Likewise.
52133         * m4/utime.m4: Likewise.
52134         * m4/utimes-null.m4: Likewise.
52135         * m4/utimes.m4: Likewise.
52136         * m4/vararrays.m4: Likewise.
52137         * m4/vasnprintf.m4: Likewise.
52138         * m4/vfprintf-posix.m4: Likewise.
52139         * m4/vprintf-posix.m4: Likewise.
52140         * m4/wait-process.m4: Likewise.
52141         * m4/wchar_t.m4: Likewise.
52142         * m4/wint_t.m4: Likewise.
52143         * m4/write-any-file.m4: Likewise.
52144         * m4/yield.m4: Likewise.
52145
52146 2009-01-13  Bruno Haible  <bruno@clisp.org>
52147
52148         Avoid test-copy-file.sh failures when ACL support insufficient.
52149         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52150         TESTS_ENVIRONMENT.
52151         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52152         Reported by Jim Meyering.
52153
52154 2009-01-13  Bruno Haible  <bruno@clisp.org>
52155
52156         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52157         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52158         * modules/unistdio/u8-printf-parse (Files): Likewise.
52159         * modules/unistdio/u32-printf-parse (Files): Likewise.
52160         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52161
52162 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52163
52164         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52165         and m4/inttypes_h.m4 too.
52166
52167 2009-01-12  Eric Blake  <ebb9@byu.net>
52168
52169         tests: IRIX 6.2 cc can't compile -0.0 into .data
52170         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52171         rather than at compile-time.
52172         * tests/test-floorl.c (minus_zero): Likewise.
52173         * tests/test-frexpl.c (minus_zero): Likewise.
52174         * tests/test-isnan.c (minus_zerol): Likewise.
52175         * tests/test-isnanl.h (minus_zero): Likewise.
52176         * tests/test-ldexpl.c (minus_zero): Likewise.
52177         * tests/test-roundl.c (minus_zero): Likewise.
52178         * tests/test-signbit.c (minus_zerol): Likewise.
52179         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52180         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52181         * tests/test-truncl.c (minus_zero): Likewise.
52182         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52183         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52184         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52185
52186 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52187
52188         regex: fix glibc bug 9697
52189         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52190         handling.
52191
52192 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52193
52194         regex: fix glibc bug 697
52195         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52196         being NULL also if there are no backreferences.
52197
52198 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52199
52200         regex: merge glibc changes
52201         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52202         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52203         re_string_skip_chars, re_string_reconstruct): Likewise.
52204         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52205
52206 2009-01-07  Jim Meyering  <meyering@redhat.com>
52207
52208         poll: filter through cppi
52209         * lib/poll.c: Indent cpp directives to reflect nesting.
52210
52211 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52212
52213         poll: don't return uninitialized
52214         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52215
52216 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52217
52218         avoid compile failure on AIX 6.1
52219         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52220         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52221
52222 2009-01-04  Jim Meyering  <meyering@redhat.com>
52223
52224         remove duplicate inclusion of <stdio.h>
52225         * tests/test-fprintf-posix.c: Likewise.
52226         * tests/test-printf-posix.c: Likewise.
52227         * tests/test-snprintf-posix.c: Likewise.
52228         * tests/test-sprintf-posix.c: Likewise.
52229         * tests/test-vasprintf-posix.c: Likewise.
52230         * tests/test-vfprintf-posix.c: Likewise.
52231         * tests/test-vprintf-posix.c: Likewise.
52232         * tests/test-vsnprintf-posix.c: Likewise.
52233         * tests/test-vsprintf-posix.c: Likewise.
52234
52235 2009-01-03  Jim Meyering  <meyering@redhat.com>
52236
52237         gnulib-tool: fix sed-based filtering
52238         * gnulib-tool (func_filter_filelist): Remove extra backslash
52239         in sed_fff_filter definition.
52240
52241 2009-01-02  Jim Meyering  <meyering@redhat.com>
52242
52243         strftime: avoid compilation failure on Solaris 2.6
52244         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52245         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52246         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52247         be available.  Reported by Tom G. Christensen.  Details in
52248         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52249
52250 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52251             Bruno Haible  <bruno@clisp.org>
52252
52253         Speed up gnulib-tool by doing more string processing through shell
52254         built-ins.
52255         * gnulib-tool (fast_func_append): New variable.
52256         (func_remove_prefix, func_remove_suffix): New functions.
52257         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52258         (func_filter_filelist): New function.
52259         (func_get_dependencies): Use func_remove_suffix instead of sed.
52260         (func_get_automake_snippet): Use func_filter_filelist instead of a
52261         subshell and sed invocation.
52262
52263 2009-01-01  Bruno Haible  <bruno@clisp.org>
52264
52265         Fix a security bug.
52266         * gnulib-tool (func_import, import, update): Don't allow the characters
52267         '"', '$', '`', '\' in macro arguments that become part of commands that
52268         are evaluated.
52269
52270 2009-01-01  Bruno Haible  <bruno@clisp.org>
52271
52272         * gnulib-tool (func_reset_sigpipe): Add more comments.
52273
52274 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52275
52276         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52277         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52278         already know the answer.
52279
52280 2009-01-01  Jim Meyering  <meyering@redhat.com>
52281
52282         * lib/version-etc.c (version_etc_va): Update copyright year.
52283
52284 2008-12-30  Bruno Haible  <bruno@clisp.org>
52285
52286         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52287         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52288         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52289
52290 2008-12-29  Eric Blake  <ebb9@byu.net>
52291
52292         multiarch: avoid autoconf AC_REQUIRE bug
52293         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52294         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52295         2.63 and older.
52296         Reported by Bruno Haible, and analyzed in
52297         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52298
52299 2008-12-29  Bruno Haible  <bruno@clisp.org>
52300
52301         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52302         files in subdirectories correctly.
52303         Reported by Ralf Wildenhues.
52304
52305 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52306
52307         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52308         rather than 'join FILE -', for Solaris join.
52309
52310 2008-12-29  Bruno Haible  <bruno@clisp.org>
52311
52312         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52313         quoting.
52314         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52315         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52316         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52317         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52318         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52319         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52320         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52321         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52322         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52323         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52324         * m4/nls.m4 (AM_NLS): Likewise.
52325         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52326         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52327         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52328         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52329         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52330         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52331         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52332         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52333         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52334         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52335         * m4/xsize.m4 (gl_XSIZE): Likewise.
52336         Suggested by Jim Meyering.
52337
52338 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52339
52340         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52341         * lib/parse-duration.c: use a switch instead of cascading if's.
52342
52343 2008-12-29  Eric Blake  <ebb9@byu.net>
52344
52345         wchar.h: supply WEOF on Irix 5.3
52346         * lib/wchar.in.h (wint_t): Also supply WEOF.
52347         * lib/wctype.in.h (wint_t): Likewise.
52348         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52349         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52350         Reported by Tom G. Christensen.
52351
52352 2008-12-26  Bruno Haible  <bruno@clisp.org>
52353
52354         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52355         i486, i586, i686.
52356
52357 2008-12-26  Bruno Haible  <bruno@clisp.org>
52358
52359         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52360
52361 2008-12-26  Bruno Haible  <bruno@clisp.org>
52362
52363         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52364         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52365         not __STDC_CONSTANT_MACROS.
52366         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52367
52368 2008-12-25  Bruno Haible  <bruno@clisp.org>
52369
52370         Add support for universal builds to vasnprintf.
52371         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52372         universal builds, guess no.
52373         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52374         * modules/vasprintf-posix (Depends-on): Likewise.
52375         * modules/fprintf-posix (Depends-on): Likewise.
52376         * modules/vfprintf-posix (Depends-on): Likewise.
52377         * modules/snprintf-posix (Depends-on): Likewise.
52378         * modules/vsnprintf-posix (Depends-on): Likewise.
52379         * modules/sprintf-posix (Depends-on): Likewise.
52380         * modules/vsprintf-posix (Depends-on): Likewise.
52381         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52382         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52383         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52384         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52385         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52386         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52387         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52388
52389         Add support for universal builds to <inttypes.h>.
52390         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52391         _SCNu64_PREFIX): In Apple
52392         universal builds, define directly, using _LP64.
52393         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52394         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52395         * modules/inttypes (Depends-on): Add multiarch.
52396         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52397
52398         Add support for universal builds to <stdint.h>.
52399         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52400         universal builds, define directly, using _LP64.
52401         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52402         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52403         and size_t.
52404         * modules/stdint (Depends-on): Add multiarch.
52405         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52406
52407         New module 'multiarch'.
52408         * modules/multiarch: New file.
52409         * m4/multiarch.m4: New file.
52410
52411 2008-12-25  Bruno Haible  <bruno@clisp.org>
52412
52413         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52414
52415 2008-12-25  Bruno Haible  <bruno@clisp.org>
52416
52417         * modules/btowc (License): Relicense under LGPLv2+.
52418         * modules/mbsinit (License): Likewise.
52419         * modules/mbrtowc (License): Likewise.
52420         * modules/wcrtomb (License): Likewise.
52421         * modules/streq (License): Likewise.
52422         Reported by David Lutterkort <lutter@redhat.com>.
52423
52424 2008-12-23  Bruno Haible  <bruno@clisp.org>
52425
52426         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52427
52428 2008-12-23  Bruno Haible  <bruno@clisp.org>
52429
52430         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52431         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52432         GETADDRINFO_LIB, not in LIBS.
52433         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52434         * modules/canon-host (Link): Likewise.
52435         * NEWS: Mention the change.
52436         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52437         GETADDRINFO_LIB.
52438
52439 2008-12-22  Bruno Haible  <bruno@clisp.org>
52440
52441         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52442         * doc/posix-functions/iswalpha_l.texi: Likewise.
52443         * doc/posix-functions/iswblank_l.texi: Likewise.
52444         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52445         * doc/posix-functions/iswctype_l.texi: Likewise.
52446         * doc/posix-functions/iswdigit_l.texi: Likewise.
52447         * doc/posix-functions/iswgraph_l.texi: Likewise.
52448         * doc/posix-functions/iswlower_l.texi: Likewise.
52449         * doc/posix-functions/iswprint_l.texi: Likewise.
52450         * doc/posix-functions/iswpunct_l.texi: Likewise.
52451         * doc/posix-functions/iswspace_l.texi: Likewise.
52452         * doc/posix-functions/iswupper_l.texi: Likewise.
52453         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52454         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52455         * doc/posix-functions/open_wmemstream.texi: Likewise.
52456         * doc/posix-functions/swscanf.texi: Likewise.
52457         * doc/posix-functions/towctrans_l.texi: Likewise.
52458         * doc/posix-functions/towlower.texi: Likewise.
52459         * doc/posix-functions/towlower_l.texi: Likewise.
52460         * doc/posix-functions/towupper.texi: Likewise.
52461         * doc/posix-functions/towupper_l.texi: Likewise.
52462         * doc/posix-functions/vfwprintf.texi: Likewise.
52463         * doc/posix-functions/vfwscanf.texi: Likewise.
52464         * doc/posix-functions/vswscanf.texi: Likewise.
52465         * doc/posix-functions/vwprintf.texi: Likewise.
52466         * doc/posix-functions/vwscanf.texi: Likewise.
52467         * doc/posix-functions/wcpcpy.texi: Likewise.
52468         * doc/posix-functions/wcpncpy.texi: Likewise.
52469         * doc/posix-functions/wcscasecmp.texi: Likewise.
52470         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52471         * doc/posix-functions/wcscoll_l.texi: Likewise.
52472         * doc/posix-functions/wcsdup.texi: Likewise.
52473         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52474         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52475         * doc/posix-functions/wcsnlen.texi: Likewise.
52476         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52477         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52478         * doc/posix-functions/wctrans_l.texi: Likewise.
52479         * doc/posix-functions/wctype_l.texi: Likewise.
52480         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52481         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52482         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52483         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52484         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52485         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52486         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52487         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52488         * doc/glibc-functions/wcschrnul.texi: Likewise.
52489         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52490         * doc/glibc-functions/wcstod_l.texi: Likewise.
52491         * doc/glibc-functions/wcstof_l.texi: Likewise.
52492         * doc/glibc-functions/wcstol_l.texi: Likewise.
52493         * doc/glibc-functions/wcstold_l.texi: Likewise.
52494         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52495         * doc/glibc-functions/wcstoq.texi: Likewise.
52496         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52497         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52498         * doc/glibc-functions/wcstouq.texi: Likewise.
52499         * doc/glibc-functions/wmempcpy.texi: Likewise.
52500
52501 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52502             Eric Blake  <ebb9@byu.net>
52503             Paolo Bonzini  <bonzini@gnu.org>
52504             Bruno Haible  <bruno@clisp.org>
52505
52506         Make c-stack work on Haiku.
52507         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52508         (c_stack_action): Use SA_ONSTACK flag.
52509
52510 2008-12-22  Bruno Haible  <bruno@clisp.org>
52511
52512         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52513
52514 2008-12-22  Bruno Haible  <bruno@clisp.org>
52515
52516         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52517         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52518         being overridden.
52519         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52520         New macros.
52521         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52523         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52524         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52525
52526 2008-12-22  Bruno Haible  <bruno@clisp.org>
52527
52528         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52529         from test code.
52530
52531 2008-12-22  Eric Blake  <ebb9@byu.net>
52532
52533         Avoid gcc warnings on cygwin.
52534         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52535         Avoid unused variable.
52536         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52537         Likewise.
52538
52539 2008-12-22  Bruno Haible  <bruno@clisp.org>
52540
52541         Remove HAVE_MBRTOWC conditionals.
52542         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52543         (mbscasecmp): Assume mbrtowc function.
52544         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52545         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52546         * lib/mbschr.c: Include mbuiter.h unconditionally.
52547         (mbschr): Assume mbrtowc function.
52548         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52549         (mbscspn): Assume mbrtowc function.
52550         * lib/mbslen.c: Include mbuiter.h unconditionally.
52551         (mbslen): Assume mbrtowc function.
52552         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52553         (mbsncasecmp): Assume mbrtowc function.
52554         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52555         (mbsnlen): Assume mbrtowc function.
52556         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52557         (mbspbrk): Assume mbrtowc function.
52558         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52559         (mbspcasecmp): Assume mbrtowc function.
52560         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52561         (mbsrchr): Assume mbrtowc function.
52562         * lib/mbssep.c: Include mbuiter.h unconditionally.
52563         (mbssep): Assume mbrtowc function.
52564         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52565         (mbsspn): Assume mbrtowc function.
52566         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52567         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52568         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52569         (mbstok_r): Assume mbrtowc function.
52570         * lib/propername.c: Include mbuiter.h unconditionally.
52571         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52572         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52573         (trim2): Assume mbrtowc function.
52574         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52575         (mbsnwidth): Assume mbrtowc function.
52576         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52577         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52578         fallback definitions.
52579         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52580
52581 2008-12-22  Bruno Haible  <bruno@clisp.org>
52582
52583         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52584
52585 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52586
52587         * modules/regex: Request emulations for the mb*/wc* functions we need.
52588         * m4/regex.m4: Don't look for those functions here.
52589         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52590
52591 2008-12-22  Bruno Haible  <bruno@clisp.org>
52592
52593         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52594
52595 2008-12-21  Bruno Haible  <bruno@clisp.org>
52596
52597         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52598         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52599         (Include): Remove conditionalization.
52600         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52601         (Include): Remove conditionalization.
52602         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52603         (Include): Remove conditionalization.
52604         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52605         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52606         * NEWS: Mention the change.
52607         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52608         via Sergey Poznyakoff <gray@gnu.org.ua>.
52609
52610 2008-12-21  Bruno Haible  <bruno@clisp.org>
52611
52612         * MODULES.html.sh (Extended multibyte and wide character utilities
52613         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52614         wcrtomb, wcsrtombs.
52615         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52616         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52617         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52618         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52619
52620 2008-12-21  Bruno Haible  <bruno@clisp.org>
52621
52622         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52623
52624 2008-12-21  Bruno Haible  <bruno@clisp.org>
52625
52626         * modules/wcsnrtombs-tests: New file.
52627         * tests/test-wcsnrtombs1.sh: New file.
52628         * tests/test-wcsnrtombs2.sh: New file.
52629         * tests/test-wcsnrtombs3.sh: New file.
52630         * tests/test-wcsnrtombs4.sh: New file.
52631         * tests/test-wcsnrtombs.c: New file.
52632
52633         New module 'wcsnrtombs'.
52634         * lib/wchar.in.h (wcsnrtombs): New declaration.
52635         * lib/wcsnrtombs.c: New file.
52636         * lib/wcsrtombs-state.c: New file.
52637         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52638         (internal_state): Remove variable.
52639         * m4/wcsnrtombs.m4: New file.
52640         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52641         compilation units.
52642         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52643         HAVE_WCSNRTOMBS.
52644         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52645         HAVE_WCSNRTOMBS.
52646         * modules/wcsnrtombs: New file.
52647         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52648         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52649
52650 2008-12-21  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/wcsrtombs-tests: New file.
52653         * tests/test-wcsrtombs1.sh: New file.
52654         * tests/test-wcsrtombs2.sh: New file.
52655         * tests/test-wcsrtombs3.sh: New file.
52656         * tests/test-wcsrtombs4.sh: New file.
52657         * tests/test-wcsrtombs.c: New file.
52658
52659         New module 'wcsrtombs'.
52660         * lib/wchar.in.h (wcsrtombs): New declaration.
52661         * lib/wcsrtombs.c: New file.
52662         * m4/wcsrtombs.m4: New file.
52663         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52664         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52665         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52666         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52667         * modules/wcsrtombs: New file.
52668         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52669         bugs.
52670
52671 2008-12-21  Bruno Haible  <bruno@clisp.org>
52672
52673         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52674         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52675         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52676         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52677         if not correct.
52678         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52679         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52680         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52681         m4/locale-zh.m4, m4/codeset.m4.
52682         * doc/posix-functions/wcrtomb.texi: Document the bug.
52683
52684 2008-12-21  Bruno Haible  <bruno@clisp.org>
52685
52686         Work around a btowc() bug on IRIX 6.5.
52687         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52688         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52689         REPLACE_WTOBC if not.
52690         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52691         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52692         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52693
52694 2008-12-21  Bruno Haible  <bruno@clisp.org>
52695
52696         * modules/wcrtomb-tests: New file.
52697         * tests/test-wcrtomb.sh: New file.
52698         * tests/test-wcrtomb.c: New file.
52699
52700         New module 'wcrtomb'.
52701         * lib/wchar.in.h (wcrtomb): New declaration.
52702         * lib/wcrtomb.c: New file.
52703         * m4/wcrtomb.m4: New file.
52704         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52705         HAVE_WCRTOMB.
52706         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52707         HAVE_WCRTOMB.
52708         * modules/wcrtomb: New file.
52709         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52710
52711 2008-12-21  Bruno Haible  <bruno@clisp.org>
52712
52713         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52714         * modules/mbsrtowcs (Files): Likewise.
52715         * modules/wctob (Files): Likewise.
52716         * modules/c-strcase-tests (Files): Likewise.
52717         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52718         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52719         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52720         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52721         * modules/vasnprintf-posix-tests (Files): Likewise.
52722
52723 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52724
52725         gitlog-to-changelog: pass all command-line arguments to git-log
52726         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52727         it is sometimes convenient to filter the commits in various ways.
52728         gitlog-to-changelog only allows --since to specify a start date,
52729         but git-log itself supports many other filtering mechanisms.
52730         At the moment, I want to filter by branch name.  Rather than
52731         adding a --branch option to gitlog-to-changelog, it seems more
52732         flexible to simply pass all options directly to git-log and let
52733         git do the work.  Notice that this effectively makes --since a
52734         redundant option for gitlog-to-changelog, but removing it would
52735         require current usage to change since calls would then require
52736         an additional '--'.
52737
52738 2008-12-21  Bruno Haible  <bruno@clisp.org>
52739
52740         * modules/mbsnrtowcs-tests: New file.
52741         * tests/test-mbsnrtowcs1.sh: New file.
52742         * tests/test-mbsnrtowcs2.sh: New file.
52743         * tests/test-mbsnrtowcs3.sh: New file.
52744         * tests/test-mbsnrtowcs4.sh: New file.
52745         * tests/test-mbsnrtowcs.c: New file.
52746
52747         New module 'mbsnrtowcs'.
52748         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52749         * lib/mbsnrtowcs.c: New file.
52750         * lib/mbsrtowcs-state.c: New file.
52751         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52752         (internal_state): Remove variable.
52753         * m4/mbsnrtowcs.m4: New file.
52754         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52755         compilation units.
52756         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52757         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52758         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52759         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52760         * modules/mbsnrtowcs: New file.
52761         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52762         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52763         portability problem.
52764
52765 2008-12-21  Bruno Haible  <bruno@clisp.org>
52766
52767         Work around mbsrtowcs bug.
52768         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
52769         (gl_FUNC_MBSRTOWCS): Invoke it.
52770         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52771         m4/locale-zh.m4.
52772         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
52773
52774 2008-12-21  Bruno Haible  <bruno@clisp.org>
52775
52776         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
52777
52778 2008-12-21  Bruno Haible  <bruno@clisp.org>
52779
52780         Update doc for AIX.
52781         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
52782         16-bit wchar_t type.
52783         * doc/posix-functions/btowc.texi: Likewise.
52784         * doc/posix-functions/fgetwc.texi: Likewise.
52785         * doc/posix-functions/fgetws.texi: Likewise.
52786         * doc/posix-functions/fputwc.texi: Likewise.
52787         * doc/posix-functions/fputws.texi: Likewise.
52788         * doc/posix-functions/fwide.texi: Likewise.
52789         * doc/posix-functions/fwprintf.texi: Likewise.
52790         * doc/posix-functions/fwscanf.texi: Likewise.
52791         * doc/posix-functions/getwchar.texi: Likewise.
52792         * doc/posix-functions/getwc.texi: Likewise.
52793         * doc/posix-functions/iswalnum.texi: Likewise.
52794         * doc/posix-functions/iswalpha.texi: Likewise.
52795         * doc/posix-functions/iswblank.texi: Likewise.
52796         * doc/posix-functions/iswcntrl.texi: Likewise.
52797         * doc/posix-functions/iswctype.texi: Likewise.
52798         * doc/posix-functions/iswdigit.texi: Likewise.
52799         * doc/posix-functions/iswgraph.texi: Likewise.
52800         * doc/posix-functions/iswlower.texi: Likewise.
52801         * doc/posix-functions/iswprint.texi: Likewise.
52802         * doc/posix-functions/iswpunct.texi: Likewise.
52803         * doc/posix-functions/iswspace.texi: Likewise.
52804         * doc/posix-functions/iswupper.texi: Likewise.
52805         * doc/posix-functions/iswxdigit.texi: Likewise.
52806         * doc/posix-functions/mbrtowc.texi: Likewise.
52807         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52808         * doc/posix-functions/mbstowcs.texi: Likewise.
52809         * doc/posix-functions/mbtowc.texi: Likewise.
52810         * doc/posix-functions/putwchar.texi: Likewise.
52811         * doc/posix-functions/putwc.texi: Likewise.
52812         * doc/posix-functions/swprintf.texi: Likewise.
52813         * doc/posix-functions/tolower.texi: Likewise.
52814         * doc/posix-functions/toupper.texi: Likewise.
52815         * doc/posix-functions/towctrans.texi: Likewise.
52816         * doc/posix-functions/ungetwc.texi: Likewise.
52817         * doc/posix-functions/vswprintf.texi: Likewise.
52818         * doc/posix-functions/wcrtomb.texi: Likewise.
52819         * doc/posix-functions/wcscat.texi: Likewise.
52820         * doc/posix-functions/wcschr.texi: Likewise.
52821         * doc/posix-functions/wcscmp.texi: Likewise.
52822         * doc/posix-functions/wcscoll.texi: Likewise.
52823         * doc/posix-functions/wcscpy.texi: Likewise.
52824         * doc/posix-functions/wcscspn.texi: Likewise.
52825         * doc/posix-functions/wcsftime.texi: Likewise.
52826         * doc/posix-functions/wcslen.texi: Likewise.
52827         * doc/posix-functions/wcsncat.texi: Likewise.
52828         * doc/posix-functions/wcsncmp.texi: Likewise.
52829         * doc/posix-functions/wcsncpy.texi: Likewise.
52830         * doc/posix-functions/wcspbrk.texi: Likewise.
52831         * doc/posix-functions/wcsrchr.texi: Likewise.
52832         * doc/posix-functions/wcsrtombs.texi: Likewise.
52833         * doc/posix-functions/wcsspn.texi: Likewise.
52834         * doc/posix-functions/wcsstr.texi: Likewise.
52835         * doc/posix-functions/wcstod.texi: Likewise.
52836         * doc/posix-functions/wcstof.texi: Likewise.
52837         * doc/posix-functions/wcstoimax.texi: Likewise.
52838         * doc/posix-functions/wcstok.texi: Likewise.
52839         * doc/posix-functions/wcstold.texi: Likewise.
52840         * doc/posix-functions/wcstoll.texi: Likewise.
52841         * doc/posix-functions/wcstol.texi: Likewise.
52842         * doc/posix-functions/wcstombs.texi: Likewise.
52843         * doc/posix-functions/wcstoull.texi: Likewise.
52844         * doc/posix-functions/wcstoul.texi: Likewise.
52845         * doc/posix-functions/wcstoumax.texi: Likewise.
52846         * doc/posix-functions/wcswidth.texi: Likewise.
52847         * doc/posix-functions/wcsxfrm.texi: Likewise.
52848         * doc/posix-functions/wctob.texi: Likewise.
52849         * doc/posix-functions/wctomb.texi: Likewise.
52850         * doc/posix-functions/wctrans.texi: Likewise.
52851         * doc/posix-functions/wctype.texi: Likewise.
52852         * doc/posix-functions/wcwidth.texi: Likewise.
52853         * doc/posix-functions/wmemchr.texi: Likewise.
52854         * doc/posix-functions/wmemcmp.texi: Likewise.
52855         * doc/posix-functions/wmemcpy.texi: Likewise.
52856         * doc/posix-functions/wmemmove.texi: Likewise.
52857         * doc/posix-functions/wmemset.texi: Likewise.
52858         * doc/posix-functions/wprintf.texi: Likewise.
52859         * doc/posix-functions/wscanf.texi: Likewise.
52860
52861 2008-12-21  Bruno Haible  <bruno@clisp.org>
52862
52863         Update doc for HP-UX 11.11.
52864         * doc/posix-functions/btowc.texi: Clarify that the function is missing
52865         in HP-UX version 11.00, not in all versions of HP-UX 11.
52866         * doc/posix-functions/fwide.texi: Likewise.
52867         * doc/posix-functions/fwprintf.texi: Likewise.
52868         * doc/posix-functions/fwscanf.texi: Likewise.
52869         * doc/posix-functions/inet_ntop.texi: Likewise.
52870         * doc/posix-functions/inet_pton.texi: Likewise.
52871         * doc/posix-functions/mbrlen.texi: Likewise.
52872         * doc/posix-functions/mbrtowc.texi: Likewise.
52873         * doc/posix-functions/mbsinit.texi: Likewise.
52874         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52875         * doc/posix-functions/swprintf.texi: Likewise.
52876         * doc/posix-functions/swscanf.texi: Likewise.
52877         * doc/posix-functions/towctrans.texi: Likewise.
52878         * doc/posix-functions/vfwprintf.texi: Likewise.
52879         * doc/posix-functions/vswprintf.texi: Likewise.
52880         * doc/posix-functions/vwprintf.texi: Likewise.
52881         * doc/posix-functions/wcrtomb.texi: Likewise.
52882         * doc/posix-functions/wcsrtombs.texi: Likewise.
52883         * doc/posix-functions/wcsstr.texi: Likewise.
52884         * doc/posix-functions/wctob.texi: Likewise.
52885         * doc/posix-functions/wctrans.texi: Likewise.
52886         * doc/posix-functions/wmemchr.texi: Likewise.
52887         * doc/posix-functions/wmemcmp.texi: Likewise.
52888         * doc/posix-functions/wmemcpy.texi: Likewise.
52889         * doc/posix-functions/wmemmove.texi: Likewise.
52890         * doc/posix-functions/wmemset.texi: Likewise.
52891         * doc/posix-functions/wprintf.texi: Likewise.
52892         * doc/posix-functions/wscanf.texi: Likewise.
52893
52894 2008-12-21  Bruno Haible  <bruno@clisp.org>
52895
52896         Work around a portability problem.
52897         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
52898         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
52899
52900 2008-12-20  Bruno Haible  <bruno@clisp.org>
52901
52902         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
52903         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
52904         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
52905         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
52906         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
52907
52908         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
52909         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
52910         set.
52911         (GNULIB_defined_mbstate_t): New macro.
52912         (mbsinit): Redefine if REPLACE_MBSINIT is set.
52913         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
52914         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
52915         reuses the system's mbrtowc function but works around the bugs.
52916         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
52917         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
52918         macros.
52919         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
52920         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
52921         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
52922         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
52923         REPLACE_MBSINIT if mbsinit needs to be overridden.
52924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
52925         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52926         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
52927         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52928         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52929         m4/locale-zh.m4.
52930         (Depends): Add mbsinit.
52931         * modules/mbsinit (Depends): Add mbrtowc.
52932         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52933
52934 2008-12-20  Bruno Haible  <bruno@clisp.org>
52935
52936         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52937         so that there are no conversion errors on AIX.
52938         * tests/test-mbsrtowcs.c (main): LIkewise.
52939
52940 2008-12-20  Bruno Haible  <bruno@clisp.org>
52941
52942         Work around wctob bug on Solaris <= 9.
52943         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
52944         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
52945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
52946         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
52947         * modules/wctob (Files): Add m4/locale-fr.m4.
52948         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
52949
52950 2008-12-20  Bruno Haible  <bruno@clisp.org>
52951
52952         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
52953         /dev/null.
52954         * tests/test-select-in.sh: Likewise.
52955         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52956
52957 2008-12-20  Bruno Haible  <bruno@clisp.org>
52958
52959         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
52960         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
52961         Cygwin 1.5.x.
52962
52963 2008-12-20  Bruno Haible  <bruno@clisp.org>
52964
52965         Ensure mbstate_t is defined on HP-UX 11.11.
52966         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
52967         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
52968         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
52969         AC_USE_SYSTEM_EXTENSIONS.
52970         * modules/fnmatch (Depends-on): Add extensions.
52971         * modules/mbrlen (Depends-on): Likewise.
52972         * modules/mbrtowc (Depends-on): Likewise.
52973         * modules/mbsinit (Depends-on): Likewise.
52974         * modules/mbsrtowcs (Depends-on): Likewise.
52975         * modules/mbswidth (Depends-on): Likewise.
52976         * modules/quotearg (Depends-on): Likewise.
52977         * modules/strftime (Depends-on): Likewise.
52978
52979 2008-12-20  Bruno Haible  <bruno@clisp.org>
52980
52981         Ensure wctob is declared on IRIX 6.5.
52982         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
52983         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
52984         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
52985         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
52986         of HAVE_WCTOB.
52987         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
52988         HAVE_WCTOB.
52989         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
52990
52991 2008-12-19  Bruno Haible  <bruno@clisp.org>
52992
52993         * modules/mbsrtowcs-tests: New file.
52994         * tests/test-mbsrtowcs1.sh: New file.
52995         * tests/test-mbsrtowcs2.sh: New file.
52996         * tests/test-mbsrtowcs3.sh: New file.
52997         * tests/test-mbsrtowcs4.sh: New file.
52998         * tests/test-mbsrtowcs.c: New file.
52999
53000         New module 'mbsrtowcs'.
53001         * lib/wchar.in.h (mbsrtowcs): New declaration.
53002         * lib/mbsrtowcs.c: New file.
53003         * m4/mbsrtowcs.m4: New file.
53004         * modules/mbsrtowcs: New file.
53005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53006         HAVE_MBSRTOWCS.
53007         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53008         HAVE_MBSRTOWCS.
53009         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53010
53011 2008-12-19  Bruno Haible  <bruno@clisp.org>
53012
53013         New module 'mbrlen'.
53014         * lib/wchar.in.h (mbrlen): New declaration.
53015         * lib/mbrlen.c: New file.
53016         * m4/mbrlen.m4: New file.
53017         * modules/mbrlen: New file.
53018         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53019         HAVE_MBRLEN.
53020         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53021         HAVE_MBRLEN.
53022         * doc/posix-functions/mbrlen.texi: Document the new module.
53023
53024 2008-12-19  Bruno Haible  <bruno@clisp.org>
53025
53026         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53027         * modules/mbrtowc (Depends-on): Add verify.
53028         Suggested by Paul Eggert.
53029
53030 2008-12-18  Bruno Haible  <bruno@clisp.org>
53031
53032         * modules/mbsinit-tests: New file.
53033         * tests/test-mbsinit.sh: New file.
53034         * tests/test-mbsinit.c: New file.
53035
53036 2008-12-18  Bruno Haible  <bruno@clisp.org>
53037
53038         * modules/mbrtowc-tests: New file.
53039         * tests/test-mbrtowc1.sh: New file.
53040         * tests/test-mbrtowc2.sh: New file.
53041         * tests/test-mbrtowc3.sh: New file.
53042         * tests/test-mbrtowc4.sh: New file.
53043         * tests/test-mbrtowc.c: New file.
53044
53045         New module 'mbrtowc'.
53046         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53047         mbsinit and mbrtowc.
53048         (mbrtowc): New declaration.
53049         * lib/mbrtowc.c: New file.
53050         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53051         * modules/mbrtowc: New file.
53052         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53053         HAVE_MBRTOWC.
53054         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53055         HAVE_MBRTOWC.
53056         * doc/posix-functions/mbrtowc.texi: Document the new module.
53057
53058 2008-12-18  Bruno Haible  <bruno@clisp.org>
53059
53060         New module 'wctob'.
53061         * lib/wchar.in.h (wctob): New declaration.
53062         * lib/wctob.c: New file.
53063         * m4/wctob.m4: New file.
53064         * modules/wctob: New file.
53065         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53066         HAVE_WCTOB.
53067         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53068         * doc/posix-functions/wctob.texi: Document the new module.
53069
53070 2008-12-18  Bruno Haible  <bruno@clisp.org>
53071
53072         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53073         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53074
53075 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53076
53077         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53078         G. Christensen" <tgc@jupiterrise.com>.
53079
53080         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53081         G. Christensen" <tgc@jupiterrise.com>.
53082
53083         * lib/flock.c: Need to include string.h.  Reported by "Tom
53084         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53085         <ebb9@byu.net>.
53086
53087 2008-12-18  Bruno Haible  <bruno@clisp.org>
53088
53089         * m4/locale-ja.m4: New file, from GNU gettext.
53090
53091 2008-12-17  Bruno Haible  <bruno@clisp.org>
53092
53093         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53094         Suggested by Eric Blake.
53095
53096 2008-12-17  Bruno Haible  <bruno@clisp.org>
53097
53098         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53099
53100 2008-12-17  Bruno Haible  <bruno@clisp.org>
53101
53102         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53103         * modules/mbsinit (Depends-on): Add verify.
53104         Suggested by Paul Eggert.
53105
53106 2008-12-17  Bruno Haible  <bruno@clisp.org>
53107
53108         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53109         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53110         gl_FUNC_MBRTOWC.
53111         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53112         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53113         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53114         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53115         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53116         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53117         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53118         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53119         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53120         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53121         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53122         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53123         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53124         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53125         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53126         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53127         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53128         * modules/trim (configure.ac): Likewise.
53129
53130 2008-12-17  Bruno Haible  <bruno@clisp.org>
53131
53132         * modules/btowc-tests: New file.
53133         * tests/test-btowc1.sh: New file.
53134         * tests/test-btowc2.sh: New file.
53135         * tests/test-btowc.c: New file.
53136
53137         New module 'btowc'.
53138         * lib/wchar.in.h (btowc): New declaration.
53139         * lib/btowc.c: New file.
53140         * m4/btowc.m4: New file.
53141         * modules/btowc: New file.
53142         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53143         HAVE_BTOWC.
53144         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53145         * doc/posix-functions/btowc.texi: Document the new module.
53146
53147 2008-12-17  Bruno Haible  <bruno@clisp.org>
53148
53149         New module 'mbsinit'.
53150         * lib/wchar.in.h (mbsinit): New declaration.
53151         * lib/mbsinit.c: New file.
53152         * m4/mbsinit.m4: New file.
53153         * modules/mbsinit: New file.
53154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53155         HAVE_MBSINIT.
53156         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53157         HAVE_MBSINIT.
53158         * doc/posix-functions/mbsinit.texi: Document the new module.
53159
53160 2008-12-16  Bruno Haible  <bruno@clisp.org>
53161
53162         * lib/unistd.in.h: Add comment.
53163         * tests/test-environ.c: Don't include <stdlib.h>.
53164
53165 2008-12-16  Bruno Haible  <bruno@clisp.org>
53166
53167         * lib/parse-duration.h (parse_duration): Document return value
53168         convention.
53169         * lib/parse-duration.c: Include specification header first. Add
53170         comments.
53171         (_): Remove macro.
53172         (parse_year_month_day, parse_hour_minute_second): Move side effects
53173         outside of strchr call.
53174         (parse_non_iso8601): Move side effects outside of isspace call.
53175         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53176         call.
53177
53178 2008-12-16  Bruno Haible  <bruno@clisp.org>
53179
53180         * tests/test-parse-duration.sh: Produce no output when the test
53181         succeeds.
53182
53183 2008-12-16  Bruno Haible  <bruno@clisp.org>
53184
53185         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53186         expressions.
53187
53188 2008-12-15  Bruno Haible  <bruno@clisp.org>
53189
53190         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53191         * doc/glibc-functions/flistxattr.texi: Likewise.
53192         * doc/glibc-functions/fopencookie.texi: Likewise.
53193         * doc/glibc-functions/fremovexattr.texi: Likewise.
53194         * doc/glibc-functions/fsetxattr.texi: Likewise.
53195         * doc/glibc-functions/getxattr.texi: Likewise.
53196         * doc/glibc-functions/lgetxattr.texi: Likewise.
53197         * doc/glibc-functions/listxattr.texi: Likewise.
53198         * doc/glibc-functions/llistxattr.texi: Likewise.
53199         * doc/glibc-functions/lremovexattr.texi: Likewise.
53200         * doc/glibc-functions/lsetxattr.texi: Likewise.
53201         * doc/glibc-functions/removexattr.texi: Likewise.
53202         * doc/glibc-functions/setxattr.texi: Likewise.
53203         * doc/posix-functions/open_memstream.texi: Likewise.
53204
53205 2008-12-15  Eric Blake  <ebb9@byu.net>
53206
53207         Update doc for cygwin 1.7.
53208         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53209         functions.
53210         * doc/posix-functions/fchmodat.texi: Likewise.
53211         * doc/posix-functions/fchownat.texi: Likewise.
53212         * doc/posix-functions/fdopendir.texi: Likewise.
53213         * doc/posix-functions/fmemopen.texi: Likewise.
53214         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53215         * doc/posix-functions/fstatat.texi: Likewise.
53216         * doc/posix-functions/futimens.texi: Likewise.
53217         * doc/posix-functions/gai_strerror.texi: Likewise.
53218         * doc/posix-functions/getaddrinfo.texi: Likewise.
53219         * doc/posix-functions/getnameinfo.texi: Likewise.
53220         * doc/posix-functions/if_freenameindex.texi: Likewise.
53221         * doc/posix-functions/if_indextoname.texi: Likewise.
53222         * doc/posix-functions/if_nameindex.texi: Likewise.
53223         * doc/posix-functions/if_nametoindex.texi: Likewise.
53224         * doc/posix-functions/insque.texi: Likewise.
53225         * doc/posix-functions/linkat.texi: Likewise.
53226         * doc/posix-functions/llrint.texi: Likewise.
53227         * doc/posix-functions/llrintf.texi: Likewise.
53228         * doc/posix-functions/llrintl.texi: Likewise.
53229         * doc/posix-functions/lockf.texi: Likewise.
53230         * doc/posix-functions/lrintl.texi: Likewise.
53231         * doc/posix-functions/mkdirat.texi: Likewise.
53232         * doc/posix-functions/mkfifoat.texi: Likewise.
53233         * doc/posix-functions/mknodat.texi: Likewise.
53234         * doc/posix-functions/mq_close.texi: Likewise.
53235         * doc/posix-functions/mq_getattr.texi: Likewise.
53236         * doc/posix-functions/mq_notify.texi: Likewise.
53237         * doc/posix-functions/mq_open.texi: Likewise.
53238         * doc/posix-functions/mq_receive.texi: Likewise.
53239         * doc/posix-functions/mq_send.texi: Likewise.
53240         * doc/posix-functions/mq_setattr.texi: Likewise.
53241         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53242         * doc/posix-functions/mq_timedsend.texi: Likewise.
53243         * doc/posix-functions/mq_unlink.texi: Likewise.
53244         * doc/posix-functions/open_memstream.texi: Likewise.
53245         * doc/posix-functions/openat.texi: Likewise.
53246         * doc/posix-functions/posix_fadvise.texi: Likewise.
53247         * doc/posix-functions/posix_fallocate.texi: Likewise.
53248         * doc/posix-functions/posix_madvise.texi: Likewise.
53249         * doc/posix-functions/posix_memalign.texi: Likewise.
53250         * doc/posix-functions/posix_openpt.texi: Likewise.
53251         * doc/posix-functions/readlinkat.texi: Likewise.
53252         * doc/posix-functions/remque.texi: Likewise.
53253         * doc/posix-functions/renameat.texi: Likewise.
53254         * doc/posix-functions/rintl.texi: Likewise.
53255         * doc/posix-functions/sem_unlink.texi: Likewise.
53256         * doc/posix-functions/shm_open.texi: Likewise.
53257         * doc/posix-functions/shm_unlink.texi: Likewise.
53258         * doc/posix-functions/signgam.texi: Likewise.
53259         * doc/posix-functions/sigset.texi: Likewise.
53260         * doc/posix-functions/stpcpy.texi: Likewise.
53261         * doc/posix-functions/stpncpy.texi: Likewise.
53262         * doc/posix-functions/strerror.texi: Likewise.
53263         * doc/posix-functions/strtod.texi: Likewise.
53264         * doc/posix-functions/symlinkat.texi: Likewise.
53265         * doc/posix-functions/unlinkat.texi: Likewise.
53266         * doc/posix-functions/utimensat.texi: Likewise.
53267         * doc/glibc-functions/bindresvport.texi: Likewise.
53268         * doc/glibc-functions/dn_expand.texi: Likewise.
53269         * doc/glibc-functions/exp10.texi: Likewise.
53270         * doc/glibc-functions/exp10f.texi: Likewise.
53271         * doc/glibc-functions/fgetxattr.texi: Likewise.
53272         * doc/glibc-functions/flistxattr.texi: Likewise.
53273         * doc/glibc-functions/fopencookie.texi: Likewise.
53274         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53275         * doc/glibc-functions/fremovexattr.texi: Likewise.
53276         * doc/glibc-functions/fsetxattr.texi: Likewise.
53277         * doc/glibc-functions/getifaddrs.texi: Likewise.
53278         * doc/glibc-functions/getxattr.texi: Likewise.
53279         * doc/glibc-functions/lgetxattr.texi: Likewise.
53280         * doc/glibc-functions/listxattr.texi: Likewise.
53281         * doc/glibc-functions/llistxattr.texi: Likewise.
53282         * doc/glibc-functions/lremovexattr.texi: Likewise.
53283         * doc/glibc-functions/lsetxattr.texi: Likewise.
53284         * doc/glibc-functions/pow10.texi: Likewise.
53285         * doc/glibc-functions/pow10f.texi: Likewise.
53286         * doc/glibc-functions/rcmd_af.texi: Likewise.
53287         * doc/glibc-functions/removexattr.texi: Likewise.
53288         * doc/glibc-functions/res_init.texi: Likewise.
53289         * doc/glibc-functions/res_mkquery.texi: Likewise.
53290         * doc/glibc-functions/res_query.texi: Likewise.
53291         * doc/glibc-functions/res_querydomain.texi: Likewise.
53292         * doc/glibc-functions/res_send.texi: Likewise.
53293         * doc/glibc-functions/rresvport_af.texi: Likewise.
53294         * doc/glibc-functions/setxattr.texi: Likewise.
53295         * doc/glibc-functions/strcasestr.texi: Likewise.
53296
53297 2008-12-15  Bruno Haible  <bruno@clisp.org>
53298
53299         Fix compilation error on OSF/1 4.0.
53300         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53301         <sys/time.h>, simply delegate to the system header.
53302         Reported by Daniel Richard G. <oss@teragram.com>.
53303
53304 2008-12-15  Bruno Haible  <bruno@clisp.org>
53305
53306         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53307         * doc/posix-functions/fchmodat.texi: Likewise.
53308         * doc/posix-functions/fchownat.texi: Likewise.
53309         * doc/posix-functions/fdopendir.texi: Likewise.
53310         * doc/posix-functions/fstatat.texi: Likewise.
53311         * doc/posix-functions/mkdirat.texi: Likewise.
53312         * doc/posix-functions/unlinkat.texi: Likewise.
53313
53314 2008-12-14  Bruno Haible  <bruno@clisp.org>
53315
53316         Update doc for POSIX:2008.
53317         * doc/posix-functions/faccessat.texi: New file.
53318         * doc/posix-functions/fchmodat.texi: New file.
53319         * doc/posix-functions/fchownat.texi: New file.
53320         * doc/posix-functions/fdopendir.texi: New file.
53321         * doc/posix-functions/fstatat.texi: New file.
53322         * doc/posix-functions/futimens.texi: New file.
53323         * doc/posix-functions/linkat.texi: New file.
53324         * doc/posix-functions/mkdirat.texi: New file.
53325         * doc/posix-functions/mkfifoat.texi: New file.
53326         * doc/posix-functions/mknodat.texi: New file.
53327         * doc/posix-functions/open_wmemstream.texi: New file.
53328         * doc/posix-functions/openat.texi: New file.
53329         * doc/posix-functions/psiginfo.texi: New file.
53330         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53331         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53332         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53333         * doc/posix-functions/readlinkat.texi: New file.
53334         * doc/posix-functions/renameat.texi: New file.
53335         * doc/posix-functions/strerror_l.texi: New file.
53336         * doc/posix-functions/symlinkat.texi: New file.
53337         * doc/posix-functions/unlinkat.texi: New file.
53338         * doc/posix-functions/utimensat.texi: New file.
53339         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53340
53341 2008-12-14  Bruno Haible  <bruno@clisp.org>
53342
53343         Update doc for POSIX:2008.
53344         * doc/posix-functions/alphasort.texi: Renamed from
53345         doc/glibc-functions/alphasort.texi.
53346         * doc/posix-functions/dirfd.texi: Renamed from
53347         doc/glibc-functions/dirfd.texi.
53348         * doc/posix-functions/dprintf.texi: Renamed from
53349         doc/glibc-functions/dprintf.texi.
53350         * doc/posix-functions/duplocale.texi: Renamed from
53351         doc/glibc-functions/duplocale.texi.
53352         * doc/posix-functions/fexecve.texi: Renamed from
53353         doc/glibc-functions/fexecve.texi.
53354         * doc/posix-functions/fmemopen.texi: Renamed from
53355         doc/glibc-functions/fmemopen.texi.
53356         * doc/posix-functions/freelocale.texi: Renamed from
53357         doc/glibc-functions/freelocale.texi.
53358         * doc/posix-functions/getdate_err.texi: Renamed from
53359         doc/glibc-functions/getdate_err.texi.
53360         * doc/posix-functions/isalnum_l.texi: Renamed from
53361         doc/glibc-functions/isalnum_l.texi.
53362         * doc/posix-functions/isalpha_l.texi: Renamed from
53363         doc/glibc-functions/isalpha_l.texi.
53364         * doc/posix-functions/isblank_l.texi: Renamed from
53365         doc/glibc-functions/isblank_l.texi.
53366         * doc/posix-functions/iscntrl_l.texi: Renamed from
53367         doc/glibc-functions/iscntrl_l.texi.
53368         * doc/posix-functions/isdigit_l.texi: Renamed from
53369         doc/glibc-functions/isdigit_l.texi.
53370         * doc/posix-functions/isgraph_l.texi: Renamed from
53371         doc/glibc-functions/isgraph_l.texi.
53372         * doc/posix-functions/islower_l.texi: Renamed from
53373         doc/glibc-functions/islower_l.texi.
53374         * doc/posix-functions/isprint_l.texi: Renamed from
53375         doc/glibc-functions/isprint_l.texi.
53376         * doc/posix-functions/ispunct_l.texi: Renamed from
53377         doc/glibc-functions/ispunct_l.texi.
53378         * doc/posix-functions/isspace_l.texi: Renamed from
53379         doc/glibc-functions/isspace_l.texi.
53380         * doc/posix-functions/isupper_l.texi: Renamed from
53381         doc/glibc-functions/isupper_l.texi.
53382         * doc/posix-functions/iswalnum_l.texi: Renamed from
53383         doc/glibc-functions/iswalnum_l.texi.
53384         * doc/posix-functions/iswalpha_l.texi: Renamed from
53385         doc/glibc-functions/iswalpha_l.texi.
53386         * doc/posix-functions/iswblank_l.texi: Renamed from
53387         doc/glibc-functions/iswblank_l.texi.
53388         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53389         doc/glibc-functions/iswcntrl_l.texi.
53390         * doc/posix-functions/iswctype_l.texi: Renamed from
53391         doc/glibc-functions/iswctype_l.texi.
53392         * doc/posix-functions/iswdigit_l.texi: Renamed from
53393         doc/glibc-functions/iswdigit_l.texi.
53394         * doc/posix-functions/iswgraph_l.texi: Renamed from
53395         doc/glibc-functions/iswgraph_l.texi.
53396         * doc/posix-functions/iswlower_l.texi: Renamed from
53397         doc/glibc-functions/iswlower_l.texi.
53398         * doc/posix-functions/iswprint_l.texi: Renamed from
53399         doc/glibc-functions/iswprint_l.texi.
53400         * doc/posix-functions/iswpunct_l.texi: Renamed from
53401         doc/glibc-functions/iswpunct_l.texi.
53402         * doc/posix-functions/iswspace_l.texi: Renamed from
53403         doc/glibc-functions/iswspace_l.texi.
53404         * doc/posix-functions/iswupper_l.texi: Renamed from
53405         doc/glibc-functions/iswupper_l.texi.
53406         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53407         doc/glibc-functions/iswxdigit_l.texi.
53408         * doc/posix-functions/isxdigit_l.texi: Renamed from
53409         doc/glibc-functions/isxdigit_l.texi.
53410         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53411         doc/glibc-functions/mbsnrtowcs.texi.
53412         * doc/posix-functions/mkdtemp.texi: Renamed from
53413         doc/glibc-functions/mkdtemp.texi.
53414         * doc/posix-functions/newlocale.texi: Renamed from
53415         doc/glibc-functions/newlocale.texi.
53416         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53417         doc/glibc-functions/nl_langinfo_l.texi.
53418         * doc/posix-functions/open_memstream.texi: Renamed from
53419         doc/glibc-functions/open_memstream.texi.
53420         * doc/posix-functions/opterr.texi: Renamed from
53421         doc/glibc-functions/opterr.texi.
53422         * doc/posix-functions/optind.texi: Renamed from
53423         doc/glibc-functions/optind.texi.
53424         * doc/posix-functions/optopt.texi: Renamed from
53425         doc/glibc-functions/optopt.texi.
53426         * doc/posix-functions/psignal.texi: Renamed from
53427         doc/glibc-functions/psignal.texi.
53428         * doc/posix-functions/scandir.texi: Renamed from
53429         doc/glibc-functions/scandir.texi.
53430         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53431         doc/glibc-functions/sched_get_priority_min.texi.
53432         * doc/posix-functions/signgam.texi: Renamed from
53433         doc/glibc-functions/signgam.texi.
53434         * doc/posix-functions/stpcpy.texi: Renamed from
53435         doc/glibc-functions/stpcpy.texi.
53436         * doc/posix-functions/stpncpy.texi: Renamed from
53437         doc/glibc-functions/stpncpy.texi.
53438         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53439         doc/glibc-functions/strcasecmp_l.texi.
53440         * doc/posix-functions/strcoll_l.texi: Renamed from
53441         doc/glibc-functions/strcoll_l.texi.
53442         * doc/posix-functions/strfmon_l.texi: Renamed from
53443         doc/glibc-functions/strfmon_l.texi.
53444         * doc/posix-functions/strftime_l.texi: Renamed from
53445         doc/glibc-functions/strftime_l.texi.
53446         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53447         doc/glibc-functions/strncasecmp_l.texi.
53448         * doc/posix-functions/strndup.texi: Renamed from
53449         doc/glibc-functions/strndup.texi.
53450         * doc/posix-functions/strnlen.texi: Renamed from
53451         doc/glibc-functions/strnlen.texi.
53452         * doc/posix-functions/strsignal.texi: Renamed from
53453         doc/glibc-functions/strsignal.texi.
53454         * doc/posix-functions/strxfrm_l.texi: Renamed from
53455         doc/glibc-functions/strxfrm_l.texi.
53456         * doc/posix-functions/timer_gettime.texi: Renamed from
53457         doc/glibc-functions/timer_gettime.texi.
53458         * doc/posix-functions/tolower_l.texi: Renamed from
53459         doc/glibc-functions/tolower_l.texi.
53460         * doc/posix-functions/toupper_l.texi: Renamed from
53461         doc/glibc-functions/toupper_l.texi.
53462         * doc/posix-functions/towctrans_l.texi: Renamed from
53463         doc/glibc-functions/towctrans_l.texi.
53464         * doc/posix-functions/towlower_l.texi: Renamed from
53465         doc/glibc-functions/towlower_l.texi.
53466         * doc/posix-functions/towupper_l.texi: Renamed from
53467         doc/glibc-functions/towupper_l.texi.
53468         * doc/posix-functions/uselocale.texi: Renamed from
53469         doc/glibc-functions/uselocale.texi.
53470         * doc/posix-functions/vdprintf.texi: Renamed from
53471         doc/glibc-functions/vdprintf.texi.
53472         * doc/posix-functions/wcpcpy.texi:
53473         Renamed from doc/glibc-functions/wcpcpy.texi.
53474         * doc/posix-functions/wcpncpy.texi: Renamed from
53475         doc/glibc-functions/wcpncpy.texi.
53476         * doc/posix-functions/wcscasecmp.texi: Renamed from
53477         doc/glibc-functions/wcscasecmp.texi.
53478         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53479         doc/glibc-functions/wcscasecmp_l.texi.
53480         * doc/posix-functions/wcscoll_l.texi: Renamed from
53481         doc/glibc-functions/wcscoll_l.texi.
53482         * doc/posix-functions/wcsdup.texi: Renamed from
53483         doc/glibc-functions/wcsdup.texi.
53484         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53485         doc/glibc-functions/wcsncasecmp.texi.
53486         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53487         doc/glibc-functions/wcsncasecmp_l.texi.
53488         * doc/posix-functions/wcsnlen.texi: Renamed from
53489         doc/glibc-functions/wcsnlen.texi.
53490         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53491         doc/glibc-functions/wcsnrtombs.texi.
53492         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53493         doc/glibc-functions/wcsxfrm_l.texi.
53494         * doc/posix-functions/wctrans_l.texi: Renamed from
53495         doc/glibc-functions/wctrans_l.texi.
53496         * doc/posix-functions/wctype_l.texi: Renamed from
53497         doc/glibc-functions/wctype_l.texi.
53498         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53499         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53500         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53501         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53502         these subsections.
53503         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53504         Remove sections.
53505
53506 2008-12-14  Bruno Haible  <bruno@clisp.org>
53507
53508         Update doc for POSIX:2008.
53509         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53510
53511 2008-12-14  Bruno Haible  <bruno@clisp.org>
53512
53513         Update doc for POSIX:2008.
53514         * doc/pastposix-functions/bcmp.texi: Renamed from
53515         doc/posix-functions/bcmp.texi.
53516         * doc/pastposix-functions/bcopy.texi: Renamed from
53517         doc/posix-functions/bcopy.texi.
53518         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53519         doc/posix-functions/bsd_signal.texi.
53520         * doc/pastposix-functions/bzero.texi: Renamed from
53521         doc/posix-functions/bzero.texi.
53522         * doc/pastposix-functions/ecvt.texi: Renamed from
53523         doc/posix-functions/ecvt.texi.
53524         * doc/pastposix-functions/fcvt.texi: Renamed from
53525         doc/posix-functions/fcvt.texi.
53526         * doc/pastposix-functions/ftime.texi: Renamed from
53527         doc/posix-functions/ftime.texi.
53528         * doc/pastposix-functions/gcvt.texi: Renamed from
53529         doc/posix-functions/gcvt.texi.
53530         * doc/pastposix-functions/getcontext.texi: Renamed from
53531         doc/posix-functions/getcontext.texi.
53532         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53533         doc/posix-functions/gethostbyaddr.texi.
53534         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53535         doc/posix-functions/gethostbyname.texi.
53536         * doc/pastposix-functions/getwd.texi: Renamed from
53537         doc/posix-functions/getwd.texi.
53538         * doc/pastposix-functions/h_errno.texi: Renamed from
53539         doc/posix-functions/h_errno.texi.
53540         * doc/pastposix-functions/index.texi: Renamed from
53541         doc/posix-functions/index.texi.
53542         * doc/pastposix-functions/makecontext.texi: Renamed from
53543         doc/posix-functions/makecontext.texi.
53544         * doc/pastposix-functions/mktemp.texi: Renamed from
53545         doc/posix-functions/mktemp.texi.
53546         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53547         doc/posix-functions/pthread_attr_getstackaddr.texi.
53548         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53549         doc/posix-functions/pthread_attr_setstackaddr.texi.
53550         * doc/pastposix-functions/rindex.texi: Renamed from
53551         doc/posix-functions/rindex.texi.
53552         * doc/pastposix-functions/scalb.texi: Renamed from
53553         doc/posix-functions/scalb.texi.
53554         * doc/pastposix-functions/setcontext.texi: Renamed from
53555         doc/posix-functions/setcontext.texi.
53556         * doc/pastposix-functions/swapcontext.texi: Renamed from
53557         doc/posix-functions/swapcontext.texi.
53558         * doc/pastposix-functions/ualarm.texi: Renamed from
53559         doc/posix-functions/ualarm.texi.
53560         * doc/pastposix-functions/usleep.texi: Renamed from
53561         doc/posix-functions/usleep.texi.
53562         * doc/pastposix-functions/vfork.texi: Renamed from
53563         doc/posix-functions/vfork.texi.
53564         * doc/pastposix-functions/wcswcs.texi: Renamed from
53565         doc/posix-functions/wcswcs.texi.
53566         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53567         (Function Substitutes): Update.
53568
53569 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53570
53571         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53572         m4/strerror.m4.
53573
53574 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53575             Bruno Haible  <bruno@clisp.org>
53576
53577         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53578
53579 2008-12-13  Bruno Haible  <bruno@clisp.org>
53580
53581         * modules/strtoull (Depends-on): Remove unistd.
53582
53583 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53584
53585         * modules/strtoull (Depends-on): Add stdlib.
53586
53587 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53588
53589         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53590
53591 2008-12-10  Jim Meyering  <meyering@redhat.com>
53592
53593         gl_ASSERT: don't say assertions are disabled when they're not
53594         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53595         "checking whether to enable assertions... no", when they are in
53596         fact enabled.  This is solely a bug in the output of configure.
53597         In spite of saying "no", NDEBUG was not defined in that case.
53598         Also, as noted by Eric Blake, leave assertions enabled upon
53599         --enable-assert=INVALID.
53600
53601 2008-12-10  Bruno Haible  <bruno@clisp.org>
53602
53603         Change MODULES.html to refer to POSIX:2008 where possible.
53604         * MODULES.html.sh (POSIX2008_URL): New variable.
53605         (posix_headers): Remove sys/timeb, ucontext.
53606         (posix2001_headers): New variable.
53607         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53608         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53609         index, makecontext, mktemp, pthread_attr_getstackaddr,
53610         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53611         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53612         (posix2001_functions): New variable.
53613         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53614         otherwise.
53615
53616 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53617
53618         add missing include to parse-duration.c
53619         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53620         * modules/parse-duration (Depends-on): Add xalloc.
53621
53622         fix sed script reading maint.mk
53623         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53624         (syntax-check-rules): Use it.
53625
53626 2008-12-09  Bruno Haible  <bruno@clisp.org>
53627
53628         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53629         MacOS X 10.4/PowerPC.
53630         Reported by Simon Josefsson.
53631
53632 2008-12-08  Jim Meyering  <meyering@redhat.com>
53633
53634         work around mingw's lack of some S_IF definitions
53635         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53636         Reported by Simon Josefsson.
53637
53638 2008-12-08  Bruno Haible  <bruno@clisp.org>
53639
53640         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53641         applied to variables. Needed on MacOS X 10.4/PowerPC.
53642         Reported by Simon Josefsson.
53643
53644 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53645         and Eric Blake  <ebb9@byu.net>
53646
53647         assert: honor --enable-assert
53648         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53649         order to honor --enable-assert, rather than treating it as a
53650         synonym for --disable-assert.
53651
53652 2008-12-08  Jim Meyering  <meyering@redhat.com>
53653
53654         * lib/posixtm.c: Remove now-useless declaration of mktime.
53655
53656         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53657
53658 2008-12-07  Bruno Haible  <bruno@clisp.org>
53659
53660         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53661         test_once): Mark functions as static.
53662         * tests/test-tls.c (test_tls): Likewise.
53663
53664 2008-12-07  Bruno Haible  <bruno@clisp.org>
53665
53666         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53667         iconv_register_autodetect.
53668
53669 2008-12-07  Jim Meyering  <meyering@redhat.com>
53670
53671         posixtm.c: avoid a warning
53672         * lib/posixtm.c (posixtime): Don't initialize tm0.
53673         It's no longer needed to placate gcc4's -Wuninitialized,
53674         and the attempt to placate would elicit a new warning.
53675
53676         unicodeio.c: mark unused parameters
53677         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53678         (fallback_failure_callback): Likewise.
53679
53680 2008-12-07  Bruno Haible  <bruno@clisp.org>
53681
53682         * gnulib-tool (func_create_testdir): When building the tests
53683         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53684         Reported by Simon Josefsson.
53685
53686 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53687
53688         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53689
53690 2008-12-06  Bruno Haible  <bruno@clisp.org>
53691
53692         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53693         Suggested by Eric Blake.
53694
53695 2008-12-06  Bruno Haible  <bruno@clisp.org>
53696
53697         Fix a c-stack test failure on MacOS X.
53698         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53699         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53700         handler for SIGBUS as well.
53701         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53702         install a signal handler for SIGBUS as well.
53703         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53704
53705 2008-12-06  Bruno Haible  <bruno@clisp.org>
53706
53707         Advocacy documentation.
53708         * doc/gnulib-intro.texi (Benefits): New section.
53709         * doc/gnulib.texi: Update.
53710
53711 2008-12-06  Bruno Haible  <bruno@clisp.org>
53712
53713         Document the 'manywarnings' module.
53714         * doc/manywarnings.texi: New file.
53715         * doc/gnulib.texi: Include it.
53716
53717 2008-12-05  Eric Blake  <ebb9@byu.net>
53718
53719         tests: silence some gcc warnings
53720         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53721         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53722         type mismatches.
53723
53724 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53725             Bruno Haible  <bruno@clisp.org>
53726
53727         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53728
53729 2008-11-29  Jim Meyering  <meyering@redhat.com>
53730
53731         unicodeio.c: mark unused parameters
53732         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53733         (fallback_failure_callback): Likewise.
53734
53735         fts: fix a thinko
53736         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53737         (set_stat_type): Return S_IF*-valued "type" directly.
53738         Prompted by James Youngman's spotting a related bug.
53739         Confirmed by further testing through find.
53740
53741         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53742         * lib/fts.c (D_TYPE): Define.
53743         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53744         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53745         (s_ifmt_shift_bits): New function.
53746         (set_stat_type): New function.
53747         (fts_build): When not calling fts_stat, call set_stat_type
53748         to propagate dirent.d_type info to fts_read caller.
53749         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53750         fts_statp->st_mode type information may be valid.
53751
53752 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53753
53754         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53755         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53756         <sds@gnu.org>.
53757
53758 2008-11-20  Bruno Haible  <bruno@clisp.org>
53759
53760         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53761         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53762         INCLUDE_NEXT.
53763         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53764         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53765         * modules/math (Makefile.am): Substitute
53766         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
53767         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53768
53769 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
53770             Bruno Haible  <bruno@clisp.org>
53771
53772         * lib/stdint.in.h: Define all type macros so that their expansion is
53773         a single typedef'ed token. Fixes a compilation failure in Boost which
53774         does "using ::int8_t;".
53775
53776 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53777
53778         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
53779         gl_MANYWARN_ALL_GCC.
53780         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
53781         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
53782         * modules/manywarnings: New file.
53783         * MODULES.html.sh: Mention manywarnings module.
53784
53785 2008-11-18  Bruno Haible  <bruno@clisp.org>
53786
53787         * doc/gnulib-tool.texi (Unit tests): New section.
53788
53789 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53790
53791         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
53792         paths like 'lib/po/foo.po'.
53793
53794 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53795
53796         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
53797         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
53798
53799 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53800
53801         * m4/warnings.m4: Use CPPFLAGS to really check whether the
53802         parameter works.
53803
53804 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53805
53806         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
53807
53808 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53809
53810         * modules/parse-duration-tests: New file.
53811         * tests/test-parse-duration.sh: New file.
53812         * tests/test-parse-duration.c: New file.
53813
53814         New module 'parse-duration'.
53815         * lib/parse-duration.h: New file.
53816         * lib/parse-duration.c: New file.
53817         * modules/parse-duration: New file.
53818
53819 2008-11-17  Bruno Haible  <bruno@clisp.org>
53820
53821         * tests/test-select-out.sh: Comment out the first pipe test.
53822         Reported by Simon Josefsson.
53823
53824 2008-11-17  Bruno Haible  <bruno@clisp.org>
53825
53826         * modules/getaddrinfo (Depends-on): Add servent, hostent.
53827         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
53828         gl_HOSTENT.
53829
53830 2008-11-17  Bruno Haible  <bruno@clisp.org>
53831
53832         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
53833         -lnetwork and -lnet. Needed for Haiku and BeOS.
53834
53835 2008-11-16  Bruno Haible  <bruno@clisp.org>
53836
53837         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
53838
53839 2008-11-16  Bruno Haible  <bruno@clisp.org>
53840
53841         Avoid test failure on Haiku.
53842         * tests/test-fsync.c: Include <errno.h>.
53843         (main): Don't require that fsync (0) fails.
53844
53845 2008-11-15  Bruno Haible  <bruno@clisp.org>
53846
53847         New module 'hostent'.
53848         * modules/hostent: New file.
53849         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
53850
53851 2008-11-15  Bruno Haible  <bruno@clisp.org>
53852
53853         New module 'servent'.
53854         * modules/servent: New file.
53855         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
53856
53857 2008-11-15  Bruno Haible  <bruno@clisp.org>
53858
53859         Avoid generating same test program with two different rules.
53860         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
53861         test-frexp to test-frexp-nolibm.
53862         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
53863         test-frexpl to test-frexpl-nolibm.
53864
53865 2008-11-15  Bruno Haible  <bruno@clisp.org>
53866
53867         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
53868         $(FREXPL_LIBM).
53869
53870 2008-11-15  Bruno Haible  <bruno@clisp.org>
53871
53872         * lib/netdb.in.h: Activate the definitions also when the system's
53873         <netdb.h> has 'struct addrinfo'.
53874         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
53875         EAI_OVERFLOW or AI_NUMERICSERV.
53876         * doc/posix-headers/netdb.texi: Document the problem.
53877
53878 2008-11-15  Bruno Haible  <bruno@clisp.org>
53879
53880         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
53881
53882         Make the 'sched' module work on platforms where <sched.h> exists but
53883         is incomplete (such as Haiku).
53884         * lib/sched.in.h; Include the system's <sched.h> if it exists.
53885         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
53886         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
53887         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
53888         HAVE_STRUCT_SCHED_PARAM.
53889         * modules/sched (Depends-on): Add include_next.
53890         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
53891         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
53892         * doc/posix-headers/sched.texi: Document the issue.
53893
53894 2008-11-13  Jim Meyering  <meyering@redhat.com>
53895
53896         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
53897         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
53898         test would fail due to the difference in the Report bugs to ...
53899         line.  The expected address is empty, "<>", while the actual
53900         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
53901
53902 2008-11-12  Bruno Haible  <bruno@clisp.org>
53903
53904         lstat: don't compile lstat.c on systems lacking lstat
53905         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
53906         which don't have lstat; this is handled by lib/sys_stat.in.h already.
53907         Reported by Daniel P. Berrange via Jim Meyering.
53908
53909 2008-11-12  Jim Meyering  <meyering@redhat.com>
53910
53911         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
53912
53913 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53914
53915         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
53916         instead.
53917
53918 2008-11-12  Bruno Haible  <bruno@clisp.org>
53919
53920         * lib/unicodeio.c: Include unistr.h.
53921         (utf8_wctomb): Remove function.
53922         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
53923
53924 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53925
53926         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
53927         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
53928         <bruno@clisp.org>.
53929         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
53930
53931 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53932
53933         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53934         * doc/gnulib.texi: Add section for warnings.
53935
53936 2008-11-11  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/sockets.h: Add a comment.
53939
53940 2008-11-11  Karl Berry  <karl@gnu.org>
53941
53942         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
53943
53944 2008-11-11  Eric Blake  <ebb9@byu.net>
53945
53946         fdl.texi: avoid git symlinks
53947         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
53948
53949 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53950
53951         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
53952
53953 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53954
53955         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
53956         (gl_WARN_ADD): Substitute $2 if literal.
53957
53958 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53959
53960         * m4/warning.m4: Remove.
53961
53962 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53963
53964         * m4/warnings.m4: Almost complete rewrite. :-)
53965
53966 2008-11-10  Simon Josefsson  <simon@josefsson.org>
53967
53968         * modules/warnings: New module.
53969         * m4/warnings.m4: New file.
53970         * MODULES.html.sh: Mention warnings module.
53971         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
53972         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53973
53974 2008-11-10  Eric Blake  <ebb9@byu.net>
53975
53976         fdl.texi: make a symlink to the latest version
53977         * doc/standards.texi: Revert today's earlier change.
53978         * doc/fdl-1.2.texi: Rename from old fdl.texi...
53979         * doc/fdl.texi: ...and replace this with a symlink to the newer
53980         fdl-1.3.texi.
53981
53982 2008-11-10  Bruno Haible  <bruno@clisp.org>
53983
53984         * tests/test-select-fd.c (main): Accept the result file name as fourth
53985         argument.
53986         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
53987         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
53988
53989 2008-11-10  Bruno Haible  <bruno@clisp.org>
53990
53991         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
53992         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
53993         as autoconf-substituted macros.
53994         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
53995         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
53996         gl_NETDB_H_DEFAULTS. Set these variables.
53997         * modules/netdb (Makefile.am): Substitute these variables.
53998
53999 2008-11-10  Eric Blake  <ebb9@byu.net>
54000
54001         standards.texi: include correct file for FDL 1.3
54002         * doc/standards.texi (GNU Free Documentation License): Change
54003         include file to pull in FDL 1.3, not 1.2.
54004
54005         fdl.texi: revert accidental change to license
54006         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54007
54008 2008-11-10  Bruno Haible  <bruno@clisp.org>
54009
54010         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54011         cross-compiling guesses also when the native compile gives no result.
54012
54013 2008-11-10  Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/spawni.c (__spawni): Force variable into the stack.
54016
54017 2008-11-10  Bruno Haible  <bruno@clisp.org>
54018
54019         Add support for Haiku.
54020         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54021         glibc and BeOS, but also on Haiku.
54022         * lib/fpurge.c (fpurge): Likewise.
54023         * lib/freadable.c (freadable): Likewise.
54024         * lib/freadahead.c (freadahead): Likewise.
54025         * lib/freading.c (freading): Likewise.
54026         * lib/freadptr.c (freadptr): Likewise.
54027         * lib/freadseek.c (freadptrinc): Likewise.
54028         * lib/fseeko.c (rpl_fseeko): Likewise.
54029         * lib/fseterr.c (fseterr): Likewise.
54030         * lib/fwritable.c (fwritable): Likewise.
54031         * lib/fwriting.c (fwriting): Likewise.
54032         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54033
54034 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54035
54036         * lib/config.charset: Treat Haiku like BeOS.
54037
54038 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54039
54040         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54041         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54042
54043 2008-11-08  Bruno Haible  <bruno@clisp.org>
54044
54045         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54046         AC_CACHE_CHECK.
54047
54048 2008-11-08  Bruno Haible  <bruno@clisp.org>
54049
54050         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54051
54052 2008-11-08  Bruno Haible  <bruno@clisp.org>
54053
54054         * tests/test-select-fd.c: New file.
54055         * tests/test-select-in.sh: New file.
54056         * tests/test-select-out.sh: New file.
54057         * tests/test-select-stdin.c: New file.
54058         * modules/select-tests (Files): Add the new files.
54059         (Depends-on): Add gettimeofday.
54060         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54061         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54062         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54063
54064 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54065             Bruno Haible  <bruno@clisp.org>
54066
54067         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54068
54069 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54070
54071         * build-aux/pmccabe2html: Added support for C++ source files.
54072
54073 2008-11-05  Ben Pfaff  <blp@gnu.org>
54074
54075         Fix lib/close.c build on Windows.
54076         * modules/close (Files): Add lib/w32sock.h.
54077
54078 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54079
54080         Accept Bison's NEWS format.
54081         * build-aux/announce-gen (print_news_deltas): Tweak
54082         $re_prefix.
54083
54084 2008-11-04  Bruno Haible  <bruno@clisp.org>
54085
54086         * modules/random_r (Maintainer): Add glibc.
54087
54088 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54089
54090         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54091         by karl@freefriends.org (Karl Berry).
54092         * doc/alloca.texi: Likewise.
54093         * doc/c-ctype.texi: Likewise.
54094         * doc/c-strcase.texi: Likewise.
54095         * doc/c-strcaseeq.texi: Likewise.
54096         * doc/c-strcasestr.texi: Likewise.
54097         * doc/c-strstr.texi: Likewise.
54098         * doc/c-strtod.texi: Likewise.
54099         * doc/c-strtold.texi: Likewise.
54100         * doc/ctime.texi: Likewise.
54101         * doc/error.texi: Likewise.
54102         * doc/fdl.texi: Likewise.
54103         * doc/gcd.texi: Likewise.
54104         * doc/getdate.texi: Likewise.
54105         * doc/gnulib-intro.texi: Likewise.
54106         * doc/gnulib-tool.texi: Likewise.
54107         * doc/gnulib.texi: Likewise.
54108         * doc/inet_ntoa.texi: Likewise.
54109         * doc/maintain.texi: Likewise.
54110         * doc/make-stds.texi: Likewise.
54111         * doc/quote.texi: Likewise.
54112         * doc/regexprops-generic.texi: Likewise.
54113         * doc/standards.texi: Likewise.
54114         * doc/verify.texi: Likewise.
54115         * doc/visibility.texi: Likewise.
54116         * doc/gnulib.texi (GNU Free Documentation License): Include
54117         fdl-1.3.texi instead of fdl.texi.
54118
54119 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54120
54121         * doc/fdl-1.3.texi: New file, from
54122         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54123         * modules/fdl-1.3: Add.
54124         * MODULES.html.sh: Add fdl-1.3.
54125
54126 2008-11-03  Bruno Haible  <bruno@clisp.org>
54127
54128         Make determination of absolute name of header file work with AIX xlc.
54129         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54130         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54131         preprocessing.
54132         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54133         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54134
54135 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54136
54137         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54138         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54139         <ludo@gnu.org>.
54140
54141 2008-11-02  Bruno Haible  <bruno@clisp.org>
54142
54143         Mark 'strpbrk' obsolete.
54144         * modules/strpbrk (Status, Notice): New sections.
54145         * modules/strtok_r (Depends-on): Add strpbrk.
54146
54147 2008-11-02  Bruno Haible  <bruno@clisp.org>
54148
54149         Mark 'strdup' obsolete.
54150         * modules/strdup (Status, Notice): New sections.
54151         * modules/findprog (Depends-on): Add strdup.
54152         * modules/getaddrinfo (Depends-on): Likewise.
54153         * modules/localename (Depends-on): Likewise.
54154         * modules/relocatable-lib (Depends-on): Likewise.
54155         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54156         * modules/relocatable-prog (Depends-on): Likewise.
54157         * modules/trim (Depends-on): Likewise.
54158         * modules/unictype/gen-ctype (Depends-on): Likewise.
54159         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54160
54161 2008-11-02  Bruno Haible  <bruno@clisp.org>
54162
54163         Mark 'strcspn' obsolete.
54164         * modules/strcspn (Status, Notice): New sections.
54165
54166 2008-11-02  Bruno Haible  <bruno@clisp.org>
54167
54168         Mark 'rmdir' obsolete.
54169         * modules/rmdir (Status, Notice): New sections.
54170         * modules/clean-temp (Depends-on): Add rmdir.
54171         * modules/openat (Depends-on): Likewise.
54172
54173 2008-11-02  Bruno Haible  <bruno@clisp.org>
54174
54175         Mark 'raise' obsolete.
54176         * modules/raise (Status, Notice): New sections.
54177         (Include): Specify <signal.h>.
54178         * modules/stdio (Depends-on): Add raise.
54179         * modules/write (Depends-on): Likewise.
54180
54181 2008-11-02  Bruno Haible  <bruno@clisp.org>
54182
54183         Mark 'memset' obsolete.
54184         * modules/memset (Status, Notice): New sections.
54185
54186 2008-11-02  Bruno Haible  <bruno@clisp.org>
54187
54188         Mark 'memmove' obsolete.
54189         * modules/memmove (Status, Notice): New sections.
54190         * modules/argp (Depends-on): Add memmove.
54191         * modules/argz (Depends-on): Likewise.
54192         * modules/canonicalize (Depends-on): Likewise.
54193         * modules/canonicalize-lgpl (Depends-on): Likewise.
54194         * modules/fts (Depends-on): Likewise.
54195         * modules/getcwd (Depends-on): Likewise.
54196         * modules/human (Depends-on): Likewise.
54197         * modules/regex (Depends-on): Likewise.
54198         * modules/striconveh (Depends-on): Likewise.
54199         * modules/trim (Depends-on): Likewise.
54200         * modules/unistr/u8-move (Depends-on): Likewise.
54201         * modules/unistr/u16-move (Depends-on): Likewise.
54202         * modules/unistr/u32-move (Depends-on): Likewise.
54203
54204 2008-11-02  Bruno Haible  <bruno@clisp.org>
54205
54206         Mark 'memcpy' obsolete.
54207         * modules/memcpy (Status, Notice): New sections.
54208
54209 2008-11-02  Bruno Haible  <bruno@clisp.org>
54210
54211         Mark 'memcmp' obsolete.
54212         * modules/memcmp (Status, Notice): New sections.
54213         * modules/argmatch (Depends-on): Add memchr.
54214         * modules/backupfile (Depends-on): Likewise.
54215         * modules/c-strcasestr (Depends-on): Likewise.
54216         * modules/crypto/des (Depends-on): Likewise.
54217         * modules/csharpcomp (Depends-on): Likewise.
54218         * modules/fnmatch (Depends-on): Likewise.
54219         * modules/git-merge-changelog (Depends-on): Likewise.
54220         * modules/isnand (Depends-on): Likewise.
54221         * modules/isnand-nolibm (Depends-on): Likewise.
54222         * modules/isnanf (Depends-on): Likewise.
54223         * modules/isnanf-nolibm (Depends-on): Likewise.
54224         * modules/isnanl (Depends-on): Likewise.
54225         * modules/isnanl-nolibm (Depends-on): Likewise.
54226         * modules/mbchar (Depends-on): Likewise.
54227         * modules/memcoll (Depends-on): Likewise.
54228         * modules/quotearg (Depends-on): Likewise.
54229         * modules/regex (Depends-on): Likewise.
54230         * modules/relocatable-prog (Depends-on): Likewise.
54231         * modules/same (Depends-on): Likewise.
54232         * modules/signbit (Depends-on): Likewise.
54233         * modules/strcasestr-simple (Depends-on): Likewise.
54234         * modules/unictype/gen-ctype (Depends-on): Likewise.
54235         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54236         * modules/uniname/uniname (Depends-on): Likewise.
54237         * modules/unistr/u8-cmp (Depends-on): Likewise.
54238
54239 2008-11-02  Bruno Haible  <bruno@clisp.org>
54240
54241         Mark 'memchr' obsolete.
54242         * modules/memchr (Status, Notice): New sections.
54243         * modules/argp (Depends-on): Add memchr.
54244         * modules/base64 (Depends-on): Likewise.
54245         * modules/c-strcasestr (Depends-on): Likewise.
54246         * modules/chdir-long (Depends-on): Likewise.
54247         * modules/fnmatch (Depends-on): Likewise.
54248         * modules/getsubopt (Depends-on): Likewise.
54249         * modules/git-merge-changelog (Depends-on): Likewise.
54250         * modules/glob (Depends-on): Likewise.
54251         * modules/strcasestr-simple (Depends-on): Likewise.
54252         * modules/strnlen (Depends-on): Likewise.
54253
54254 2008-11-02  Bruno Haible  <bruno@clisp.org>
54255
54256         Mark 'atexit' obsolete.
54257         * modules/atexit (Status, Notice): New sections.
54258         * modules/chdir-long (Depends-on): Add atexit.
54259         * modules/wait-process (Depends-on): Likewise.
54260
54261 2008-11-02  Bruno Haible  <bruno@clisp.org>
54262
54263         * gnulib-tool: New option --with-obsolete.
54264         (func_usage): Document it.
54265         (func_modules_transitive_closure): Drop obsolete dependencies if
54266         incobsolete is not true.
54267         (func_import): Read and save the incobsolete variable to the cache.
54268
54269 2008-11-02  Bruno Haible  <bruno@clisp.org>
54270
54271         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54272         * gnulib-tool: New option --extract-status.
54273         (func_usage): Document it.
54274         (sed_extract_prog): Recognize it.
54275         (func_get_status): New function.
54276
54277 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54278
54279         * modules/sockets (License): Change from LGPL to LGPLv2+.
54280
54281 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54282
54283         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54284
54285 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54286
54287         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54288         Mention times and sys_times.
54289         * modules/sys_times, modules/sys_times-tests: New modules.
54290         * modules/times, modules/times-tests: Likewise
54291         * m4/sys_times_h.m4: New file.
54292         * lib/sys_times.in.h: Likewise
54293         * lib/times.c: Likewise.
54294         * tests/test-sys_times.c: Likewise.
54295         * tests/test-times.c: Likewise.
54296         * doc/posix-headers/sys_times.texi: Update.
54297         * doc/posix-functions/times.texi: Update.
54298
54299 2008-10-28  Jim Meyering  <meyering@redhat.com>
54300
54301         * modules/tempname (Depends-on): Add lstat.
54302
54303         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54304
54305 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54306
54307         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54308         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54309         using idiom used elsewhere in gnulib.
54310
54311 2008-10-27  Jim Meyering  <meyering@redhat.com>
54312
54313         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54314
54315 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54316
54317         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54318         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54319         programs.
54320         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54321
54322 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54323
54324         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54325
54326 2008-10-27  Bruno Haible  <bruno@clisp.org>
54327
54328         * tests/test-lstat.c: Include <stdio.h>.
54329
54330 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54331
54332         * modules/lstat-tests: New module.
54333         * tests/test-lstat.c: New file.
54334
54335 2008-10-26  Jim Meyering  <meyering@redhat.com>
54336
54337         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54338
54339 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54340             Bruno Haible  <bruno@clisp.org>
54341
54342         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54343         * modules/configmake (Include): Add a note that the include must come
54344         after all system headers.
54345         * lib/javaversion.c: Include configmake.h after all other includes.
54346
54347 2008-10-26  Bruno Haible  <bruno@clisp.org>
54348
54349         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54350         HAVE_STRUCT_RANDOM_DATA to 1.
54351         (gl_STDLIB_H): Simplify.
54352
54353 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54354
54355         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54356         substitute HAVE_STRUCT_RANDOM_DATA.
54357         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54358         random_data.
54359         * modules/stdlib (Makefile.am): Substitute
54360         HAVE_STRUCT_RANDOM_DATA.
54361
54362 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54363
54364         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54365         * doc/gnulib-intro.texi (Copyright): Likewise.
54366
54367 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54368
54369         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54370         findings.
54371
54372 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54373             Bruno Haible  <bruno@clisp.org>
54374
54375         * lib/unistd.in.h: Include <winsock2.h>.
54376         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54377         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54378         Provide dummy declarations.
54379         (gethostname): Override.
54380         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54381         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54382         gl_PREREQ_SYS_H_WINSOCK2.
54383         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54384         * doc/posix-functions/gethostname.texi: More details.
54385
54386 2008-10-25  Bruno Haible  <bruno@clisp.org>
54387
54388         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54389         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54390         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54391
54392         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54393         here ...
54394         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54395         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54396         gl_UNISTD_H_DEFAULTS.
54397
54398 2008-10-25  Eric Blake  <ebb9@byu.net>
54399
54400         signbit: avoid spurious compiler failure
54401         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54402         declarations inside function.
54403
54404 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54405             Bruno Haible  <bruno@clisp.org>
54406
54407         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54408         * modules/random_r (Depends-on): Add stdint.
54409
54410 2008-10-24  Bruno Haible  <bruno@clisp.org>
54411
54412         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54413         Eggert.
54414         * modules/strerror (License): Likewise.
54415
54416 2008-10-24  Jim Meyering  <meyering@redhat.com>
54417
54418         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54419         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54420
54421 2008-10-24  Eric Blake  <ebb9@byu.net>
54422
54423         getgroups: fix compilation when getgroups is available
54424         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54425         but with <config.h> override of getgroups disabled.
54426
54427 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54428
54429         * doc/gnulib.texi (Header files): Add note about C++ problems.
54430         Explained by Bruno Haible <bruno@clisp.org>.
54431
54432 2008-10-23  Bruno Haible  <bruno@clisp.org>
54433
54434         Define a dummy SA_NODEFER macro on Interix.
54435         * lib/signal.in.h (SA_NODEFER): Define fallback.
54436         Reported by Aleksey Cheusov <cheusov@tut.by> via
54437         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54438
54439 2008-10-23  Bruno Haible  <bruno@clisp.org>
54440
54441         * modules/freadahead (License): Change to LGPLv2+.
54442         Suggested by Simon Josefsson.
54443
54444 2008-10-23  Jim Meyering  <meyering@redhat.com>
54445
54446         random_r: new module
54447         * modules/random_r: New file.
54448         * m4/random_r.m4: New file.
54449         * lib/random_r.c: New file, from glibc.
54450         * modules/random_r-tests: New file.
54451         * tests/test-random_r.c: New file.
54452         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54453          Declare.
54454         (RAND_MAX): Define.
54455         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54456         * modules/stdlib: Substitute them, too.
54457         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54458         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54459         * doc/glibc-functions/random_r.texi: Likewise.
54460         * doc/glibc-functions/setstate_r.texi: Likewise.
54461         * doc/glibc-functions/srandom_r.texi: Likewise.
54462         * config/srclist.txt: Mention it.
54463
54464 2008-10-23  David Lutterkort  <lutter@redhat.com>
54465
54466         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54467         link requirement
54468
54469 2008-10-23  Jim Meyering  <meyering@redhat.com>
54470
54471         selinux-h: mark parameters of stub functions as intentionally unused
54472         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54473         * lib/se-context.in.h: Likewise.
54474
54475 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54476
54477         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54478
54479 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54480
54481         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54482
54483 2008-10-22  Eric Blake  <ebb9@byu.net>
54484
54485         glthread/thread: avoid compiler warning
54486         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54487         Add unreachable abort to silence compiler.
54488
54489 2008-10-22  Eric Blake  <ebb9@byu.net>
54490
54491         netdb: also supply struct addrinfo for cygwin 1.5.x
54492         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54493         older cygwin.
54494         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54495         cygwin.
54496         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54497
54498 2008-10-22  Bruno Haible  <bruno@clisp.org>
54499
54500         * users.txt: Update entry about pspp.
54501
54502 2008-10-21  Bruno Haible  <bruno@clisp.org>
54503
54504         Simplification.
54505         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54506         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54507
54508         Simplification.
54509         * lib/ioctl.c (ioctl): Don't undefine.
54510         * lib/socket.c (socket): Don't undefine.
54511
54512         Remove unused module indicator macros.
54513         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54514         GNULIB_$1 as a C macro.
54515
54516         * doc/posix-functions/close.texi: Undo last change.
54517         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54518         Windows platforms.
54519
54520 2008-10-21  Bruno Haible  <bruno@clisp.org>
54521
54522         Add gethostname() declaration to <unistd.h>.
54523         * lib/unistd.in.h (gethostname): New declaration.
54524         * lib/gethostname.c: Include <unistd.h>.
54525         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54526         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54528         and HAVE_GETHOSTNAME.
54529         * modules/gethostname (Depends-on): Add unistd.
54530         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54531         (Include): Specify <unistd.h>.
54532         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54533         HAVE_GETHOSTNAME.
54534         * tests/test-gethostname.c: Include <unistd.h> first.
54535
54536 2008-10-21  Bruno Haible  <bruno@clisp.org>
54537
54538         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54539         * modules/select-tests (Depends-on): Likewise.
54540         Reported by Simon Josefsson.
54541
54542 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54543
54544         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54545         * lib/accept.c: New file, based on winsock.c.
54546         * lib/bind.c: New file, based on winsock.c.
54547         * lib/connect.c: New file, based on winsock.c.
54548         * lib/getpeername.c: New file, based on winsock.c.
54549         * lib/getsockname.c: New file, based on winsock.c.
54550         * lib/getsockopt.c: New file, based on winsock.c.
54551         * lib/ioctl.c: New file, based on winsock.c.
54552         * lib/listen.c: New file, based on winsock.c.
54553         * lib/recv.c: New file, based on winsock.c.
54554         * lib/recvfrom.c: New file, based on winsock.c.
54555         * lib/send.c: New file, based on winsock.c.
54556         * lib/sendto.c: New file, based on winsock.c.
54557         * lib/setsockopt.c: New file, based on winsock.c.
54558         * lib/shutdown.c: New file, based on winsock.c.
54559         * lib/socket.c: New file, based on winsock.c.
54560         * lib/w32sock.h: New file, based on winsock.c.
54561         * lib/winsock.c: Remove file.
54562         * modules/accept: Likewise.
54563         * modules/bind: Likewise.
54564         * modules/connect: Likewise.
54565         * modules/getpeername: Likewise.
54566         * modules/getsockname: Likewise.
54567         * modules/getsockopt: Likewise.
54568         * modules/ioctl: Likewise.
54569         * modules/listen: Likewise.
54570         * modules/recv: Likewise.
54571         * modules/recvfrom: Likewise.
54572         * modules/send: Likewise.
54573         * modules/sendto: Likewise.
54574         * modules/setsockopt: Likewise.
54575         * modules/shutdown: Likewise.
54576         * modules/socket: Use socket.c instead of winsock.c.
54577         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54578         * doc/posix-functions/accept.texi: Doc fix.
54579         * doc/posix-functions/bind.texi: Doc fix.
54580         * doc/posix-functions/close.texi: Doc fix.
54581         * doc/posix-functions/connect.texi: Doc fix.
54582         * doc/posix-functions/getpeername.texi: Doc fix.
54583         * doc/posix-functions/getsockname.texi: Doc fix.
54584         * doc/posix-functions/getsockopt.texi: Doc fix.
54585         * doc/posix-functions/ioctl.texi: Doc fix.
54586         * doc/posix-functions/listen.texi: Doc fix.
54587         * doc/posix-functions/recv.texi: Doc fix.
54588         * doc/posix-functions/recvfrom.texi: Doc fix.
54589         * doc/posix-functions/send.texi: Doc fix.
54590         * doc/posix-functions/sendto.texi: Doc fix.
54591         * doc/posix-functions/setsockopt.texi: Doc fix.
54592         * doc/posix-functions/shutdown.texi: Doc fix.
54593         * doc/posix-functions/socket.texi: Doc fix.
54594
54595 2008-10-20  Bruno Haible  <bruno@clisp.org>
54596
54597         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54598         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54599         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54600         as an alias for SIGABRT.
54601         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54602         (sigaction): Map it to SIGABRT.
54603         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54604
54605 2008-10-20  Bruno Haible  <bruno@clisp.org>
54606
54607         * lib/fts.c: Don't include lstat.h.
54608         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54609
54610         Move the lstat() declaration to <sys/stat.h>.
54611         * lib/lstat.h: Remove file.
54612         * lib/sys_stat.in.h: Add special invocation convention.
54613         (lstat): New declaration.
54614         * lib/lstat.c (orig_lstat): New function.
54615         (rpl_lstat): Use orig_lstat instead of lstat.
54616         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54617         AC_C_INLINE. Set REPLACE_LSTAT.
54618         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54619         and REPLACE_LSTAT.
54620         * modules/lstat (Files): Remove lib/lstat.h.
54621         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54622         (Include): Specify <sys/stat.h> instead of lstat.h.
54623         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54624         REPLACE_LSTAT.
54625         * NEWS: Mention the change.
54626
54627 2008-10-20  Bruno Haible  <bruno@clisp.org>
54628
54629         * modules/posix_spawn-tests: New file.
54630         * tests/test-posix_spawn3.c: New file.
54631
54632 2008-10-20  Bruno Haible  <bruno@clisp.org>
54633
54634         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54635         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54636         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54637         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54638         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54639
54640 2008-10-20  Bruno Haible  <bruno@clisp.org>
54641
54642         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54643         of posix_spawn on AIX 5.3.
54644
54645 2008-10-20  Bruno Haible  <bruno@clisp.org>
54646
54647         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54648
54649 2008-10-20  Bruno Haible  <bruno@clisp.org>
54650
54651         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54652         of AC_LANG_PROGRAM.
54653
54654 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54655
54656         * lib/netdb.in.h: Don't define GNU specific constants until they
54657         are supported or needed.  Reported by Bruno Haible
54658         <bruno@clisp.org>.
54659
54660 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54661
54662         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54663
54664 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54665
54666         * lib/getaddrinfo.h: Remove file.
54667         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54668         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54669         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54670         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54671         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54672         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54673         * tests/test-getaddrinfo.c: Likewise.
54674         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54675         * NEWS: Mention change.
54676
54677 2008-10-19  Bruno Haible  <bruno@clisp.org>
54678
54679         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54680
54681 2008-10-19  Bruno Haible  <bruno@clisp.org>
54682
54683         * lib/wait-process.c: Include simply <sys/wait.h>.
54684         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54685         WIFSTOPPED): Remove fallback definitions.
54686         * modules/wait-process (Depends-on): Add sys_wait.
54687
54688         New module 'sys_wait'.
54689         * modules/sys_wait: New file.
54690         * lib/sys_wait.in.h: New file, partially copied from
54691         lib/wait-process.c.
54692         * m4/sys_wait_h.m4: New file.
54693         * doc/posix-headers/sys_wait.texi: Mention the new module.
54694
54695 2008-10-19  Bruno Haible  <bruno@clisp.org>
54696
54697         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54698
54699 2008-10-19  Bruno Haible  <bruno@clisp.org>
54700
54701         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54702         * lib/wait-process.c (WAIT_T): Remove type.
54703         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54704         (wait_subprocess): Update.
54705
54706 2008-10-19  Bruno Haible  <bruno@clisp.org>
54707
54708         New module 'atoll'.
54709         * modules/atoll: New file.
54710         * lib/stdlib.in.h (atoll): New declaration.
54711         * lib/atoll.c: New file, from glibc with modifications.
54712         * m4/atoll.m4: New file.
54713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54714         HAVE_ATOLL.
54715         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54716         * doc/posix-functions/atoll.texi: Mention the new module.
54717
54718 2008-10-19  Bruno Haible  <bruno@clisp.org>
54719
54720         Add strtoull() declaration to <stdlib.h>.
54721         * lib/stdlib.in.h (strtoull): New declaration.
54722         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54723         Set HAVE_STRTOULL.
54724         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54725         HAVE_STRTOULL.
54726         * modules/strtoull (Depends-on): Add stdlib.
54727         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54728         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54729         HAVE_STRTOULL.
54730
54731 2008-10-19  Bruno Haible  <bruno@clisp.org>
54732
54733         Add strtoll() declaration to <stdlib.h>.
54734         * lib/stdlib.in.h (strtoll): New declaration.
54735         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54736         Set HAVE_STRTOLL.
54737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54738         HAVE_STRTOLL.
54739         * modules/strtoll (Depends-on): Add stdlib.
54740         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54741         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54742
54743 2008-10-19  Bruno Haible  <bruno@clisp.org>
54744
54745         * modules/bcopy (Depends-on): Add strings.
54746         (Include): Specify <strings.h>.
54747
54748 2008-10-19  Bruno Haible  <bruno@clisp.org>
54749
54750         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54751
54752 2008-10-19  Bruno Haible  <bruno@clisp.org>
54753
54754         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54755         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54756         mingw.
54757
54758 2008-10-19  Bruno Haible  <bruno@clisp.org>
54759
54760         * lib/atanl.c: Don't include isnanl.h.
54761         * lib/cosl.c: Likewise.
54762         * lib/ldexpl.c: Likewise.
54763         * lib/logl.c: Likewise.
54764         * lib/sinl.c: Likewise.
54765         * lib/sqrtl.c: Likewise.
54766         * lib/tanl.c: Likewise.
54767
54768         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
54769         * lib/isnanf.h: Remove file.
54770         * lib/isnand.h: Remove file.
54771         * lib/isnanl.h: Remove file.
54772         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
54773         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
54774         macros.
54775         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
54776         HAVE_ISNANF, don't define it as a C macro.
54777         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
54778         HAVE_ISNAND, don't define it as a C macro.
54779         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
54780         HAVE_ISNANL, don't define it as a C macro.
54781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
54782         HAVE_ISNAN[FDL].
54783         * modules/isnanf (Files): Remove lib/isnanf.h.
54784         (Depends-on): Add math.
54785         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54786         (Include): Specify <math.h> instead of isnanf.h.
54787         * modules/isnand (Files): Remove lib/isnand.h.
54788         (Depends-on): Add math.
54789         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54790         (Include): Specify <math.h> instead of isnand.h.
54791         * modules/isnanl (Files): Remove lib/isnanl.h.
54792         (Depends-on): Add math.
54793         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54794         (Include): Specify <math.h> instead of isnanl.h.
54795         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
54796         HAVE_ISNAN[FDL].
54797         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
54798         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
54799         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
54800         * NEWS: Mention the change.
54801
54802 2008-10-18  Bruno Haible  <bruno@clisp.org>
54803
54804         Add getusershell(), setusershell(), endusershell() declarations to
54805         <unistd.h>.
54806         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
54807         declarations.
54808         * lib/getusershell.c: Include unistd.h.
54809         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
54810         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54811         HAVE_GETUSERSHELL.
54812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
54813         and HAVE_GETUSERSHELL.
54814         * modules/getusershell (Depends-on): Add unistd, extensions.
54815         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54816         (Include): Specify <unistd.h>.
54817         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
54818         HAVE_GETUSERSHELL.
54819
54820 2008-10-18  Bruno Haible  <bruno@clisp.org>
54821
54822         Add a getloadavg() declaration to <stdlib.h>.
54823         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
54824         getloadavg declaration.
54825         (getloadavg): New declaration.
54826         * lib/getloadavg.c: Include <stdlib.h> first.
54827         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
54828         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
54829         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
54830         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
54831         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54832         * modules/getloadavg (Depends-on): Add stdlib, extensions.
54833         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54834         (Include): Specify <stdlib.h>.
54835         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
54836         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54837
54838 2008-10-18  Bruno Haible  <bruno@clisp.org>
54839
54840         * lib/dirchownmod.c: Don't include lchmod.h.
54841
54842         Move the lchmod() declaration to <sys/stat.h>.
54843         * lib/lchmod.h: Remove file.
54844         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
54845         (lchmod): New declaration, moved here from lib/lchown.h.
54846         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
54847         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
54848         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
54849         and HAVE_LCHMOD.
54850         * modules/lchmod (Files): Remove lib/lchmod.h.
54851         (Depends-on): Add sys_stat, extensions.
54852         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54853         (Include): Specify <sys/stat.h> instead of lchmod.h.
54854         * modules/sys_stat (Depends-on): Add link-warning.
54855         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
54856         definition of GL_LINK_WARNING.
54857         * NEWS: Mention the change.
54858
54859 2008-10-18  Bruno Haible  <bruno@clisp.org>
54860
54861         * lib/fchdir.c: Don't include dirfd.h.
54862         * lib/fts.c: Likewise.
54863         * lib/getcwd.c: Likewise.
54864         * lib/glob.c: Likewise.
54865
54866         Move the dirfd() declaration to <dirent.h>.
54867         * lib/dirfd.h: Remove file.
54868         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
54869         (dirfd): New declaration.
54870         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
54871         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
54872         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
54873         HAVE_DECL_DIRFD.
54874         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
54875         HAVE_DECL_DIRFD.
54876         * modules/dirfd (Files): Remove lib/dirfd.h.
54877         (Depends-on): Add dirent, extensions.
54878         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
54879         (Include): Specify <dirent.h> instead of dirfd.h.
54880         * modules/dirent (Depends-on): Add link-warning.
54881         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
54882         definition of GL_LINK_WARNING.
54883         * NEWS: Mention the change.
54884
54885 2008-10-18  Bruno Haible  <bruno@clisp.org>
54886
54887         Move the euidaccess() declaration to <unistd.h>.
54888         * lib/euidaccess.h: Remove file.
54889         * lib/unistd.in.h (euidaccess): New declaration.
54890         * lib/euidaccess.c: Don't include euidaccess.h.
54891         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
54892         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
54893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
54894         and HAVE_EUIDACCESS.
54895         * modules/euidaccess (Files): Remove lib/euidaccess.h.
54896         (Depends-on): Add unistd.
54897         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54898         (Include): Specify <unistd.h> instead of euidaccess.h.
54899         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
54900         HAVE_EUIDACCESS.
54901         * NEWS: Mention the change.
54902
54903 2008-10-18  Bruno Haible  <bruno@clisp.org>
54904
54905         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
54906
54907         Move the getdomainname() declaration to <unistd.h>.
54908         * lib/getdomainname.h: Remove file.
54909         * lib/unistd.in.h (getdomainname): New declaration.
54910         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
54911         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
54912         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54913         HAVE_GETDOMAINNAME.
54914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54915         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
54916         * modules/getdomainname (Files): Remove lib/getdomainname.h.
54917         (Depends-on): Add unistd, extensions.
54918         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54919         (Includes): Specify <unistd.h> instead of getdomainname.h.
54920         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
54921         HAVE_GETDOMAINNAME.
54922         * NEWS: Mention the change.
54923
54924 2008-10-18  Bruno Haible  <bruno@clisp.org>
54925
54926         * modules/dirent: New file.
54927         * m4/dirent_h.m4: New file.
54928         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
54929         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
54930         * modules/fchdir (Files): Remove lib/dirent.in.h.
54931         (Depends-on): Add dirent.
54932         (Makefile.am): Move rules to modules/dirent.
54933         * doc/posix-headers/dirent.texi: Mention the new module.
54934
54935 2008-10-18  Bruno Haible  <bruno@clisp.org>
54936
54937         Avoid -Wunused-parameter warnings in public gnulib header files.
54938         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54939         macro.
54940         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
54941
54942 2008-10-18  Bruno Haible  <bruno@clisp.org>
54943
54944         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
54945         * doc/glibc-functions/error.texi: Mention the module 'error'.
54946         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
54947         * doc/glibc-functions/getdomainname.texi: Mention the module
54948         'getdomainname'.
54949         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
54950         * doc/glibc-functions/getpagesize.texi: Mention the module
54951         'getpagesize'.
54952         * doc/glibc-functions/getusershell.texi: Mention the module
54953         'getusershell'.
54954         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
54955         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
54956         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
54957         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
54958         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
54959         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
54960         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
54961         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
54962         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
54963         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
54964         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
54965         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
54966         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
54967         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
54968
54969 2008-10-17  Bruno Haible  <bruno@clisp.org>
54970
54971         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
54972         HP-UX and IRIX, use -0.0L.
54973         * tests/test-ceill.c (minus_zero): Likewise.
54974         * tests/test-floorl.c (minus_zero): Likewise.
54975         * tests/test-frexpl.c (minus_zero): Likewise.
54976         * tests/test-isnan.c (minus_zerol): Likewise.
54977         * tests/test-isnanl.h (minus_zero): Likewise.
54978         * tests/test-ldexpl.c (minus_zero): Likewise.
54979         * tests/test-roundl.c (minus_zero): Likewise.
54980         * tests/test-signbit.c (minus_zerol): Likewise.
54981         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
54982         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
54983         * tests/test-truncl.c (minus_zero): Likewise.
54984         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
54985         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
54986         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
54987         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
54988
54989 2008-10-17  Bruno Haible  <bruno@clisp.org>
54990
54991         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
54992         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
54993         that it gets activated only for gcc >= 3.0.
54994         * lib/dirent.in.h: Likewise.
54995         * lib/errno.in.h: Likewise.
54996         * lib/fcntl.in.h: Likewise.
54997         * lib/float.in.h: Likewise.
54998         * lib/iconv.in.h: Likewise.
54999         * lib/inttypes.in.h: Likewise.
55000         * lib/locale.in.h: Likewise.
55001         * lib/math.in.h: Likewise.
55002         * lib/netdb.in.h: Likewise.
55003         * lib/netinet_in.in.h: Likewise.
55004         * lib/search.in.h: Likewise.
55005         * lib/signal.in.h: Likewise.
55006         * lib/spawn.in.h: Likewise.
55007         * lib/stdarg.in.h: Likewise.
55008         * lib/stdint.in.h: Likewise.
55009         * lib/stdio.in.h: Likewise.
55010         * lib/stdlib.in.h: Likewise.
55011         * lib/string.in.h: Likewise.
55012         * lib/strings.in.h: Likewise.
55013         * lib/sys_file.in.h: Likewise.
55014         * lib/sys_ioctl.in.h: Likewise.
55015         * lib/sys_select.in.h: Likewise.
55016         * lib/sys_socket.in.h: Likewise.
55017         * lib/sys_stat.in.h: Likewise.
55018         * lib/sys_time.in.h: Likewise.
55019         * lib/sysexits.in.h: Likewise.
55020         * lib/time.in.h: Likewise.
55021         * lib/unistd.in.h: Likewise.
55022         * lib/wchar.in.h: Likewise.
55023         * lib/wctype.in.h: Likewise.
55024         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55025
55026 2008-10-17  Jim Meyering  <meyering@redhat.com>
55027
55028         ignore-value: don't depend on inline module
55029         * modules/ignore-value (Depends-on): Remove 'inline'.
55030         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55031         Suggestion from Bruno Haible.
55032
55033 2008-10-17  Bruno Haible  <bruno@clisp.org>
55034
55035         New implementation of condition variables for Win32.
55036         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55037         (gl_linked_waitqueue_t): New type.
55038         (gl_cond_t): Use it.
55039         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55040         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55041         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55042         (glthread_cond_init_func, glthread_cond_wait_func,
55043         glthread_cond_timedwait_func, glthread_cond_signal_func,
55044         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55045         Reimplemented on the basis of gl_linked_waitqueue_t.
55046         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55047         gl_waitqueue_t.
55048         (gl_rwlock_t): Update.
55049         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55050
55051 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55052
55053         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55054         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55055
55056 2008-10-17  Jim Meyering  <meyering@redhat.com>
55057
55058         ignore-value: new module
55059         * modules/ignore-value: New file.
55060         * lib/ignore-value.h: New file.
55061         * MODULES.html.sh (Compiler warning management): New section,
55062         just for this module.  More to come.
55063
55064 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55065
55066         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55067         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55068         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55069
55070 2008-10-16  Jim Meyering  <meyering@redhat.com>
55071
55072         openat-die.c: avoid 'no previous prototype' warning
55073         * lib/openat-die.c: Include "openat.h".
55074         Reported by Reuben Thomas <rrt@sc3d.org>.
55075
55076 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55077
55078         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55079         * lib/netdb.in.h: Fix typo.
55080         Reported by Bruno Haible  <bruno@clisp.org>
55081
55082         * lib/netdb.in.h: Include sys/socket.h for platforms without
55083         netdb.h, to get structures like hostent on MinGW.
55084         * modules/netdb (Depends-on): Add sys_socket.
55085
55086 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55087
55088         * modules/netdb, modules/netdb-tests: New file.
55089         * m4/netdb_h.m4: New file.
55090         * lib/netdb.in.h: Add, currently just an empty file pending
55091         definitions.
55092         * tests/test-netdb.c: New file.
55093         * doc/posix-headers/netdb.texi: Mention that we replace it if
55094         needed.
55095         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55096         netdb.
55097
55098 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55099
55100         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55101         with code.
55102
55103 2008-10-13  Bruno Haible  <bruno@clisp.org>
55104
55105         * lib/glthread/cond.c (glthread_cond_wait_func,
55106         glthread_cond_timedwait_func): Add a comment.
55107
55108 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55109
55110         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55111         * tests/test-select.c: Likewise,
55112
55113 2008-10-13  Bruno Haible  <bruno@clisp.org>
55114
55115         * lib/glthread/cond.c (glthread_cond_wait_func,
55116         glthread_cond_timedwait_func): Fix variable name.
55117         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55118
55119 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55120
55121         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55122         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55123         struct sockaddr.sa_len.
55124         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55125
55126 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55127
55128         * build-aux/pmccabe2html: Add css and css_url parameters.
55129
55130 2008-10-12  Bruno Haible  <bruno@clisp.org>
55131
55132         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55133         calling aclx_get.
55134         Reported by Rainer Tammer <tammer@tammer.net>.
55135
55136 2008-10-12  Bruno Haible  <bruno@clisp.org>
55137
55138         Use msvcrt aware primitives for creation/termination of Win32 threads.
55139         * lib/glthread/thread.c: Include <process.h>.
55140         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55141         (wrapper_func): Update signature.
55142         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55143
55144 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55145             Bruno Haible  <bruno@clisp.org>
55146
55147         Provide a Win32 implementation of the 'cond' module.
55148         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55149         * lib/glthread/cond.c (glthread_cond_init_func,
55150         glthread_cond_wait_func, glthread_cond_timedwait_func,
55151         glthread_cond_signal_func, glthread_cond_broadcast_func,
55152         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55153         * modules/cond (Dependencies): Add gettimeofday.
55154
55155 2008-10-11  Bruno Haible  <bruno@clisp.org>
55156
55157         Make sleep work on older versions of mingw.
55158         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55159         only whether it exists.
55160         * doc/posix-functions/sleep.texi: Mention the problem with older
55161         versions of mingw.
55162
55163 2008-10-11  Bruno Haible  <bruno@clisp.org>
55164
55165         New module 'shutdown'.
55166         * modules/shutdown: New file.
55167         * lib/sys_socket.in.h (shutdown): New declaration.
55168         * lib/winsock.c (shutdown): New function.
55169         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55170         GNULIB_SHUTDOWN.
55171         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55172         * doc/posix-functions/shutdown.texi: Document the new module.
55173
55174 2008-10-11  Jim Meyering  <meyering@redhat.com>
55175
55176         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55177
55178 2008-10-11  Bruno Haible  <bruno@clisp.org>
55179
55180         New module 'fclose'.
55181         * modules/fclose: New file.
55182         * lib/stdio.in.h (fclose): New declaration.
55183         * lib/fclose.c: New file.
55184         * m4/fclose.m4: New file.
55185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55186         REPLACE_FCLOSE.
55187         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55188         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55189         REPLACE_FCLOSE.
55190         * modules/close (Depends-on): fclose.
55191         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55192
55193 2008-10-11  Bruno Haible  <bruno@clisp.org>
55194
55195         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55196         set errno and don't call _close.
55197
55198 2008-10-10  Bruno Haible  <bruno@clisp.org>
55199
55200         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55201         ACL, not afterwards. Fixes test failure on Cygwin.
55202
55203 2008-10-09  Ben Pfaff  <blp@gnu.org>
55204
55205         * build-aux/announce-gen: Fix gnulib version related part of usage
55206         message.  Die with a useful error message if no tarballs are
55207         found.
55208
55209 2008-10-10  Jim Meyering  <meyering@redhat.com>
55210
55211         bootstrap: use git's --depth=N option only if it's supported
55212         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55213         recognize the --depth option.  Reported by Pádraig Brady.
55214
55215 2008-10-09  Bruno Haible  <bruno@clisp.org>
55216
55217         New module 'ioctl'.
55218         * modules/ioctl: New file.
55219         * lib/sys_socket.in.h (ioctl): Remove declaration.
55220         * lib/winsock.c: Include <sys/ioctl.h>.
55221         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55222         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55223         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55224         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55225         * doc/posix-functions/ioctl.texi: Mention the new module.
55226
55227 2008-10-09  Bruno Haible  <bruno@clisp.org>
55228
55229         New module 'sys_ioctl'.
55230         * lib/sys_ioctl.in.h: New file.
55231         * m4/sys_ioctl_h.m4: New file.
55232         * modules/sys_ioctl: New file.
55233         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55234
55235 2008-10-09  Bruno Haible  <bruno@clisp.org>
55236
55237         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55238         * lib/winsock.c: Include <stdarg.h>.
55239         (rpl_ioctl): Change to second argument 'int' and then varargs.
55240
55241 2008-10-09  Bruno Haible  <bruno@clisp.org>
55242
55243         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55244         when the sys_socket module is present and the system has <winsock2.h>.
55245
55246 2008-10-09  Bruno Haible  <bruno@clisp.org>
55247
55248         * doc/posix-functions/close.texi: Mention module 'close' instead of
55249         module 'sys_socket'.
55250
55251 2008-10-09  Bruno Haible  <bruno@clisp.org>
55252
55253         * doc/glibc-headers/sys_ioctl.texi: New file.
55254         * doc/gnulib.texi: Include it.
55255
55256 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55257             Bruno Haible  <bruno@clisp.org>
55258
55259         Combine the two replacements of 'close'.
55260         * lib/sys_socket.in.h (close): Define to a reminder to include
55261         <unistd.h>.
55262         (_gl_close_fd_maybe_socket): New declaration.
55263         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55264         * lib/winsock.c (close): Remove undefinition.
55265         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55266         needed for the gnulib module 'close'.
55267         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55268         define to an error symbol or to a warning, if suitable.
55269         * lib/close.c: Include <sys/socket.h>.
55270         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55271         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55272         UNISTD_H_HAVE_WINSOCK2_H.
55273         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55275         UNISTD_H_HAVE_WINSOCK2_H.
55276         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55277         (configure.ac): Set a module indicator.
55278         (Makefile.am): Substitute GNULIB_CLOSE.
55279         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55280         * modules/poll-tests (Depends-on): Add close.
55281         * modules/select-tests (Depends-on): Likewise.
55282
55283 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55284             Bruno Haible  <bruno@clisp.org>
55285
55286         New module 'close'.
55287         * modules/close: New file.
55288         * lib/unistd.in.h (close): Move declaration out of the
55289         FCHDIR_REPLACEMENT scope.
55290         (_gl_unregister_fd): New declaration.
55291         * lib/close.c: New file.
55292         * lib/fchdir.c (rpl_close): Remove function.
55293         * m4/close.m4: New file.
55294         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55295         close.
55296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55297         REPLACE_CLOSE.
55298         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55299         REPLACE_CLOSE.
55300         * modules/fchdir (Depends-on): Add close.
55301
55302 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55303             Bruno Haible  <bruno@clisp.org>
55304
55305         * lib/fcntl.in.h (open): Simplify conditionals.
55306         (_gl_register_fd): New declaration.
55307         * lib/fchdir.c (rpl_open): Remove function.
55308         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55309         also.
55310         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55312         open.
55313
55314 2008-10-09  Jim Meyering  <meyering@redhat.com>
55315
55316         GNUmakefile: use the more name-space-friendly "_version"
55317         * top/GNUmakefile (_dummy): Update.
55318         (_version): Rename from "version".
55319
55320 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55321             Bruno Haible  <bruno@clisp.org>
55322
55323         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55324         rpl_close.
55325         (_gl_register_fd): New function, extracted from rpl_open.
55326         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55327         (rpl_open, rpl_opendir): Use _gl_register_fd.
55328
55329 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55330
55331         Fix organization of 'open' replacement.
55332         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55333         (gl_FUNC_OPEN): Use it.
55334         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55335
55336 2008-10-08  Bruno Haible  <bruno@clisp.org>
55337
55338         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55339
55340 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55341
55342         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55343         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55344         listen).
55345
55346 2008-10-08  Eric Blake  <ebb9@byu.net>
55347
55348         GNUmakefile: add 'make version' target
55349         * top/GNUmakefile (_curr-ver): Split version update rules...
55350         (version): ...into a target.
55351
55352 2008-10-07  Bruno Haible  <bruno@clisp.org>
55353
55354         Use a more portable replacement expression for -0.0L.
55355         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55356         instead of -0.0L. Fix m4 quotation.
55357
55358         * tests/test-signbit.c: Include <float.h>.
55359         (minus_zero): New variable.
55360         (test_signbitl): Use minus_zero instead of -zero.
55361         * modules/signbit-tests (Depends-on): Add float.
55362
55363         * tests/test-ceill.c: Include <float.h>.
55364         (zero): Remove variable.
55365         (minus_zero): New variable.
55366         (main): Use minus_zero instead of -zero.
55367         * modules/ceill-tests (Depends-on): Add float.
55368
55369         * tests/test-floorl.c: Include <float.h>.
55370         (zero): Remove variable.
55371         (minus_zero): New variable.
55372         (main): Use minus_zero instead of -zero.
55373         * modules/floorl-tests (Depends-on): Add float.
55374
55375         * tests/test-roundl.c: Include <float.h>.
55376         (zero): Remove variable.
55377         (minus_zero): New variable.
55378         (main): Use minus_zero instead of -zero.
55379         * modules/roundl-tests (Depends-on): Add float.
55380
55381         * tests/test-truncl.c: Include <float.h>.
55382         (zero): Remove variable.
55383         (minus_zero): New variable.
55384         (main): Use minus_zero instead of -zero.
55385         * modules/truncl-tests (Depends-on): Add float.
55386
55387         * tests/test-frexpl.c (zero): Remove variable.
55388         (minus_zero): New variable.
55389         (main): Use minus_zero instead of -zero.
55390         * modules/frexpl-tests (Depends-on): Add float.
55391
55392         * tests/test-isnan.c (zerol): Remove variable.
55393         (minus_zerol): New variable.
55394         (test_long_double): Use minus_zerol instead of -zerol.
55395         * modules/isnan-tests (Depends-on): Add float.
55396
55397         * tests/test-isnanl.h (zero): Remove variable.
55398         (minus_zero): New variable.
55399         (main): Use minus_zero instead of -zero.
55400         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55401         * modules/isnanl-tests (Depends-on): Add float.
55402
55403         * tests/test-ldexpl.c (zero): Remove variable.
55404         (minus_zero): New variable.
55405         (main): Use minus_zero instead of -zero.
55406         * modules/ldexpl-tests (Depends-on): Add float.
55407
55408         * tests/test-snprintf-posix.h (zerol): Remove variable.
55409         (minus_zerol): New variable.
55410         (test_function): Use minus_zerol instead of -zerol.
55411         * modules/snprintf-posix-tests (Depends-on): Add float.
55412         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55413
55414         * tests/test-sprintf-posix.h (zerol): Remove variable.
55415         (minus_zerol): New variable.
55416         (test_function): Use minus_zerol instead of -zerol.
55417         * modules/sprintf-posix-tests (Depends-on): Add float.
55418         * modules/vsprintf-posix-tests (Depends-on): Add float.
55419
55420         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55421         (minus_zerol): New variable.
55422         (test_function): Use minus_zerol instead of -zerol.
55423         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55424
55425         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55426         (minus_zerol): New variable.
55427         (test_function): Use minus_zerol instead of -zerol.
55428         * modules/vasprintf-posix-tests (Depends-on): Add float.
55429
55430 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55431
55432         * MODULES.html.sh (Support for building documentation): Mention
55433         pmccabe2html.  Sort entries.
55434
55435         Add pmccabe2html module, from gnupdf.
55436         * build-aux/pmccabe.css: New file.
55437         * build-aux/pmccabe2html: New file.
55438         * m4/pmccabe2html.m4: New file.
55439         * modules/pmccabe2html: New file.
55440
55441 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55442
55443         flock: new module
55444         * MODULES.html.sh: Add to list of modules.
55445         * lib/flock.c: flock implementation for Windows and Unix systems
55446         which have fcntl.
55447         * doc/glibc-functions/flock.texi: Update documentation.
55448         * lib/sys_file.in.h: <sys/file.h> header file.
55449         * m4/flock.m4: M4 macros.
55450         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55451         * modules/flock: flock module.
55452         * modules/flock-tests: flock tests module.
55453         * modules/sys_file: sys/file.h module.
55454         * tests/test-flock.c: test suite for flock.
55455
55456 2008-10-06  Jim Meyering  <meyering@redhat.com>
55457
55458         bootstrap: check for LT_INIT more portably still ;-)
55459         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55460         Spotted by Bruno Haible.
55461
55462 2008-10-06  Eric Blake  <ebb9@byu.net>
55463
55464         test-signbit: avoid tripping Irix cc bug on -0.0L
55465         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55466         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55467         entire testsuite consistent and avoids an Irix 6.2 bug.
55468
55469 2008-10-05  Bruno Haible  <bruno@clisp.org>
55470             Jim Meyering  <jim@meyering.net>
55471
55472         Add an option for ignoring EPIPE during close_stdout.
55473         * lib/closeout.h: Include <stdbool.h>.
55474         (close_stdout_set_ignore_EPIPE): New declaration.
55475         * lib/closeout.c: Include <stdbool.h>.
55476         (ignore_EPIPE): New variable.
55477         (close_stdout_set_ignore_EPIPE): New function.
55478         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55479         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55480         failure.
55481         * modules/closeout (Depends-on): Add stdbool.
55482
55483 2008-10-05  Bruno Haible  <bruno@clisp.org>
55484
55485         * modules/accept: New file.
55486         * modules/bind: New file.
55487         * modules/connect: New file.
55488         * modules/getpeername: New file.
55489         * modules/getsockname: New file.
55490         * modules/getsockopt: New file.
55491         * modules/listen: New file.
55492         * modules/recv: New file.
55493         * modules/recvfrom: New file.
55494         * modules/send: New file.
55495         * modules/sendto: New file.
55496         * modules/setsockopt: New file.
55497         * modules/socket: New file.
55498         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55499         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55500         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55501         the particular module is requested. Add a link warning when the
55502         particular module is not requested.
55503         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55504         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55505         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55506         the particular module is requested.
55507         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55508         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55509         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55510         * modules/sys_socket (Depends-on): Add link-warning.
55511         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55512         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55513         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55514         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55515         GL_LINK_WARNING.
55516         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55517         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55518         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55519         * doc/posix-functions/getpeername.texi: Mention the new module
55520         'getpeername'.
55521         * doc/posix-functions/getsockname.texi: Mention the new module
55522         'getsockname'.
55523         * doc/posix-functions/getsockopt.texi: Mention the new module
55524         'getsockopt'.
55525         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55526         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55527         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55528         * doc/posix-functions/send.texi: Mention the new module 'send'.
55529         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55530         * doc/posix-functions/setsockopt.texi: Mention the new module
55531         'setsockopt'.
55532         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55533         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55534         listen, connect, accept.
55535         * modules/select-tests (Depends-on): Likewise.
55536
55537 2008-10-05  Bruno Haible  <bruno@clisp.org>
55538
55539         * lib/winsock.c (strerror): Remove unused #undef.
55540         (rpl_close): Remove unused local variable.
55541
55542         * modules/sys_socket (Depends-on); Add errno.
55543
55544 2008-10-05  Bruno Haible  <bruno@clisp.org>
55545
55546         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55547         (select): Add a link warning when the 'select' module is not used.
55548         * modules/sys_select (Depends-on): Add link-warning.
55549         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55550         Suggested by Paolo Bonzini.
55551
55552 2008-10-05  Jim Meyering  <meyering@redhat.com>
55553
55554         bootstrap: check for LT_INIT more portably
55555         * build-aux/bootstrap: Avoid using grep -E, since it's not
55556         portable enough.  Suggestion from Bruno Haible.
55557
55558 2008-10-05  Bruno Haible  <bruno@clisp.org>
55559
55560         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55561         as being fixed by gnulib.
55562
55563 2008-10-05  Bruno Haible  <bruno@clisp.org>
55564
55565         * modules/select-tests: New file, mostly copied from
55566         modules/sys_select-tests.
55567         * tests/test-select.c: New file, mostly copied from
55568         tests/test-sys_select.c.
55569         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55570         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55571         (Makefile.am): Remove test_sys_select_LDADD.
55572
55573         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55574         to an undefined symbol, for an error message.
55575         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55576         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55577         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55578         winsock-select.c here.
55579         * modules/sys_select (Files): Remove lib/winsock-select.c.
55580         (Depends-on): Remove alloca.
55581         (Makefile.am): Substitute GNULIB_SELECT.
55582         * modules/select: New file.
55583         * doc/posix-functions/select.texi: Update.
55584
55585 2008-10-05  Bruno Haible  <bruno@clisp.org>
55586
55587         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55588         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55589         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55590         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55591         getdtablesize.
55592         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55593         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55594
55595 2008-10-05  Bruno Haible  <bruno@clisp.org>
55596
55597         * modules/getdtablesize-tests: New file.
55598         * tests/test-getdtablesize.c: New file.
55599
55600         New module 'getdtablesize'.
55601         * lib/unistd.in.h (getdtablesize): New declaration.
55602         * lib/getdtablesize.c: New file.
55603         * m4/getdtablesize.m4: New file.
55604         * modules/getdtablesize: New file.
55605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55606         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55607         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55608         HAVE_GETDTABLESIZE.
55609         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55610
55611 2008-10-05  Bruno Haible  <bruno@clisp.org>
55612
55613         * modules/sched (Makefile.am): Fix typo.
55614         Reported by Simon Josefsson.
55615
55616 2008-10-05  Jim Meyering  <meyering@redhat.com>
55617
55618         bootstrap: check for LT_INIT, too
55619         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55620         are deprecated.  Suggestion from Ralf Wildenhues.
55621
55622 2008-10-05  Bruno Haible  <bruno@clisp.org>
55623
55624         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55625         overriding them by ours.
55626         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55627
55628 2008-10-05  Jim Meyering  <meyering@redhat.com>
55629
55630         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55631         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55632         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55633
55634 2008-10-04  Bruno Haible  <bruno@clisp.org>
55635
55636         * modules/dup2 (License): Change to LGPLv2+.
55637         * modules/sleep (License): Likewise.
55638         * modules/perror (License): Likewise.
55639         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55640         Blake.
55641         * modules/signal (License): Likewise.
55642         * modules/sigprocmask (License): Likewise.
55643         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55644         Meyering.
55645
55646 2008-10-04  Bruno Haible  <bruno@clisp.org>
55647
55648         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55649         Reported by Rainer Tammer <tammer@tammer.net>.
55650
55651 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55652             Bruno Haible  <bruno@clisp.org>
55653
55654         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55655         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55656         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55657
55658 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55659
55660         filevercmp: new module
55661         * lib/filevercmp.h: New function filevercmp comparing version strings.
55662         * lib/filevercmp.c: Implementation of filevercmp function.
55663         * modules/filevercmp: Module metadata.
55664         * tests/test-filevercmp.c: Unit test for new module.
55665         * modules/filevercmp-tests: Unit test metadata.
55666         * MODULES.html.sh: Add filevercmp module.
55667
55668 2008-10-03  Bruno Haible  <bruno@clisp.org>
55669
55670         * lib/c-ctype.h: Add comment.
55671         Reported by Jim Meyering.
55672
55673 2008-10-02  Bruno Haible  <bruno@clisp.org>
55674
55675         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55676
55677 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55678
55679         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55680         name of bootstrap.conf accordingly.
55681
55682 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55683
55684         * build-aux/bootstrap: Install git-merge-changelog configuration
55685         items into .gitconfig if needed.
55686
55687 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55688
55689         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55690         git repository, and initialize/update it accordingly.
55691
55692 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55693
55694         * modules/fsync-tests: New file.
55695         * tests/test-fsync.c: New file.
55696
55697         New module 'fsync'.
55698         * lib/fsync.c: New file.
55699         * m4/fsync.m4: New file.
55700         * modules/fsync: New file.
55701         * lib/unistd.in.h (fsync): New declaration.
55702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55703         GNULIB_FSYNC and HAVE_FSYNC.
55704         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55705         * MODULES.html.sh (posix_functions): Add fsync.
55706         * doc/posix-functions/fsync.texi: Mention the new module.
55707
55708 2008-10-02  Jim Meyering  <meyering@redhat.com>
55709
55710         fts.c: sync with similar code from coreutils' remove.c
55711         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55712         Guard also with "#if defined __linux__", since for now at least,
55713         this code is Linux-kernel-specific.
55714
55715 2008-10-02  Jim Meyering  <meyering@redhat.com>
55716
55717         fts: bug fixes
55718         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55719         Include <sys/vfs.h>, not <sys/statfs.h>.
55720
55721         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55722         Include <sys/vfs.h>, not <sys/statfs.h>.
55723
55724 2008-10-01  Bruno Haible  <bruno@clisp.org>
55725
55726         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55727         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55728         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55729         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55730         * doc/posix-functions/posix_spawnp.texi: Likewise.
55731         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55732         whether posix_spawn actually works.
55733         * m4/pipe.m4 (gl_PIPE): Likewise.
55734         * modules/execute (Files): Add m4/posix_spawn.m4.
55735         * modules/pipe (Files): Add m4/posix_spawn.m4.
55736         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55737
55738 2008-10-01  Jim Meyering  <meyering@redhat.com>
55739
55740         remove trailing spaces
55741         * NEWS: Likewise.
55742         * lib/poll.c (poll): Likewise.
55743         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55744         * lib/winsock.c (rpl_close): Likewise.
55745         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55746         * modules/yield: Likewise.
55747         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55748         * tests/test-sys_select.c (connect_to_socket): Likewise.
55749
55750         fts.c: adjust a new interface to be more generally useful
55751         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55752         (fts_build): Adjust caller.
55753
55754 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55755
55756         * modules/cond-tests: New file.
55757         * tests/test-cond.c: New file.
55758
55759 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55760             Bruno Haible  <bruno@clisp.org>
55761
55762         * modules/cond (Dependencies): Add errno, time.
55763         * lib/glthread/cond.h: Include <time.h>.
55764         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55765         across platforms.
55766
55767 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55768             Bruno Haible  <bruno@clisp.org>
55769
55770         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
55771
55772 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55773             Bruno Haible  <bruno@clisp.org>
55774
55775         * modules/tls-tests (Depends-on): Add thread, yield.
55776         (configure.ac): Remove all checks.
55777         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
55778         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55779         gl_thread_self): Remove definitions. Include glthread/thread.h and
55780         glthread/yield.h instead.
55781         (test_tls): Pass an additional NULL argument to gl_thread_join.
55782
55783 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55784             Bruno Haible  <bruno@clisp.org>
55785
55786         * modules/lock-tests (Depends-on): Add thread, yield.
55787         (configure.ac): Remove all checks.
55788         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
55789         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55790         gl_thread_self): Remove definitions. Include glthread/thread.h and
55791         glthread/yield.h instead.
55792         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
55793         additional NULL argument to gl_thread_join.
55794
55795 2008-09-30  Bruno Haible  <bruno@clisp.org>
55796
55797         Fix the Win32 implementation of the 'thread' module.
55798         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
55799         pointer type.
55800         (gl_thread_self): Invoke gl_thread_self_func.
55801         (gl_thread_self_func): New declaration.
55802         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
55803         (do_init_self_key, init_self_key): New functions.
55804         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
55805         Remove some fields.
55806         (running_threads, running_lock): Remove variables.
55807         (get_current_thread_handle): New function.
55808         (gl_thread_self_func, wrapper_func, glthread_create_func,
55809         glthread_join_func, gl_thread_exit_func): Largely rewritten and
55810         simplified.
55811
55812 2008-09-30  Bruno Haible  <bruno@clisp.org>
55813
55814         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
55815         files.
55816
55817 2008-09-30  Jim Meyering  <meyering@redhat.com>
55818
55819         fts.m4: correct the test for statfs.f_type
55820         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
55821         when checking for statfs.f_type.
55822
55823 2008-09-15  Simon Josefsson  <simon@josefsson.org>
55824
55825         tests: avoid some compiler warnings
55826         * tests/test-memchr.c (main): Pass NULL indirectly.
55827         * tests/test-getdate.c (main): Remove unused variable 'ret'.
55828
55829 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
55830
55831         getdate.y: disallow countable dayshifts like "4 yesterday ago"
55832         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
55833         exactly specified dayshifts.
55834         (dayshift): New rule.
55835         (rel): Add dayshift.
55836         (relative_time_table) [tomorrow, yesterday, today, now]:
55837         Use tDAY_SHIFT in place of tDAY_UNIT.
55838         * tests/test-getdate.c: Add tests for now-disallowed countable
55839         dayshifts, e.g., "4 yesterday ago".
55840
55841 2008-09-29  Bruno Haible  <bruno@clisp.org>
55842
55843         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
55844         * tests/test-posix_spawn1.in.sh: Renamed from
55845         tests/test-posix_spawn.in.sh.
55846         * tests/test-posix_spawn2.c: New file.
55847         * tests/test-posix_spawn2.in.sh: New file.
55848         * modules/posix_spawnp-tests (Files): Update.
55849         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
55850
55851 2008-09-29  Bruno Haible  <bruno@clisp.org>
55852
55853         Propagate effects of putenv/setenv/unsetenv to child processes.
55854         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
55855         * lib/pipe.c (create_pipe): Likewise.
55856
55857 2008-09-29  Bruno Haible  <bruno@clisp.org>
55858
55859         Enable use of shell scripts as executables in mingw.
55860         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
55861         run the program as a shell script.
55862         * lib/pipe.c (create_pipe): Likewise.
55863         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
55864         resulting array.
55865
55866 2008-09-29  Eric Blake  <ebb9@byu.net>
55867
55868         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
55869
55870 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
55871
55872         * doc/posix-functions/accept.texi: Update mingw problems.
55873         * doc/posix-functions/bind.texi: Update mingw problems.
55874         * doc/posix-functions/close.texi: Update mingw problems.
55875         * doc/posix-functions/connect.texi: Update mingw problems.
55876         * doc/posix-functions/getpeername.texi: Update mingw problems.
55877         * doc/posix-functions/getsockname.texi: Update mingw problems.
55878         * doc/posix-functions/getsockopt.texi: Update mingw problems.
55879         * doc/posix-functions/ioctl.texi: Update mingw problems.
55880         * doc/posix-functions/listen.texi: Update mingw problems.
55881         * doc/posix-functions/recv.texi: Update mingw problems.
55882         * doc/posix-functions/recvfrom.texi: Update mingw problems.
55883         * doc/posix-functions/select.texi: Update mingw problems.
55884         * doc/posix-functions/send.texi: Update mingw problems.
55885         * doc/posix-functions/sendto.texi: Update mingw problems.
55886         * doc/posix-functions/setsockopt.texi: Update mingw problems.
55887         * doc/posix-functions/socket.texi: Update mingw problems.
55888
55889 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
55890             Bruno Haible  <bruno@clisp.org>
55891
55892         * lib/sys_select.in.h: Include sys/time.h.
55893         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
55894         * modules/sys_select: Depend on sys_time.
55895         * tests/test-sys_select.c: Test that sys/select.h defines struct
55896         timeval fully.
55897
55898 2008-09-29  Bruno Haible  <bruno@clisp.org>
55899
55900         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
55901         * lib/sys_select.in.h: Likewise.
55902
55903 2008-09-29  Bruno Haible  <bruno@clisp.org>
55904
55905         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
55906
55907 2008-09-29  Bruno Haible  <bruno@clisp.org>
55908
55909         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
55910         Set LIBSOCKET instead of augmenting LIBS.
55911         * modules/sockets (Link): New section.
55912         * modules/sockets-tests (test_sockets_LDADD): New variable.
55913         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
55914         * modules/poll-tests (test_poll_LDADD): New variable.
55915         * NEWS: Document the change.
55916
55917 2008-09-29  Bruno Haible  <bruno@clisp.org>
55918
55919         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
55920         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
55921         ARPA_INET_H directly.
55922         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55923
55924 2008-09-28  Bruno Haible  <bruno@clisp.org>
55925
55926         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
55927         from gl_HEADER_SYS_SOCKET.
55928         (gl_HEADER_SYS_SOCKET): Invoke it.
55929         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55930
55931 2008-09-28  Bruno Haible  <bruno@clisp.org>
55932
55933         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55934         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55935         Needed on OSF/1 4.0.
55936
55937 2008-09-28  Bruno Haible  <bruno@clisp.org>
55938
55939         Override open more carefully.
55940         * lib/open.c (orig_open): New function.
55941         (rpl_open): Use orig_open instead of open.
55942         * lib/fcntl.in.h: Add special invocation convention.
55943         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
55944         (gl_FUNC_OPEN): Invoke it.
55945
55946         Override freopen more carefully.
55947         * lib/freopen.c (orig_freopen): New function.
55948         (rpl_freopen): Use orig_freopen instead of freopen.
55949         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
55950         (gl_FUNC_FREOPEN): Invoke it.
55951
55952         Override fopen more carefully.
55953         * lib/fopen.c (orig_fopen): New function.
55954         (rpl_fopen): Use orig_fopen instead of fopen.
55955         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
55956         (gl_FUNC_FOPEN): Invoke it.
55957         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
55958
55959 2008-09-28  Bruno Haible  <bruno@clisp.org>
55960
55961         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
55962         SIGPIPE.
55963
55964 2008-09-28  Bruno Haible  <bruno@clisp.org>
55965
55966         * tests/test-sigaction.c (handler, main): Disable the check whether
55967         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
55968         glibc systems with LinuxThreads.
55969
55970 2008-09-28  Bruno Haible  <bruno@clisp.org>
55971
55972         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
55973
55974         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
55975         with AIX xlc.
55976         * lib/fcntl.in.h (open): Likewise.
55977         Reported by Rainer Tammer <tammer@tammer.net>.
55978
55979 2008-09-28  Bruno Haible  <bruno@clisp.org>
55980
55981         * modules/posix_spawnp-tests: New file.
55982         * tests/test-posix_spawn.c: New file.
55983         * tests/test-posix_spawn.in.sh: New file.
55984
55985         New module 'posix_spawnp'.
55986         * modules/posix_spawnp: New file.
55987         * lib/spawnp.c: New file, from GNU libc with modifications.
55988         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
55989
55990         New module 'posix_spawn'.
55991         * modules/posix_spawn: New file.
55992         * lib/spawn.c: New file, from GNU libc with modifications.
55993         * doc/posix-functions/posix_spawn.texi: Mention the new module.
55994
55995         New module 'posix_spawnattr_destroy'.
55996         * modules/posix_spawnattr_destroy: New file.
55997         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
55998         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
55999         module.
56000
56001         New module 'posix_spawnattr_setsigmask'.
56002         * modules/posix_spawnattr_setsigmask: New file.
56003         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56004         modifications.
56005         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56006         new module.
56007
56008         New module 'posix_spawnattr_getsigmask'.
56009         * modules/posix_spawnattr_getsigmask: New file.
56010         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56011         modifications.
56012         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56013         new module.
56014
56015         New module 'posix_spawnattr_setsigdefault'.
56016         * modules/posix_spawnattr_setsigdefault: New file.
56017         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56018         modifications.
56019         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56020         new module.
56021
56022         New module 'posix_spawnattr_getsigdefault'.
56023         * modules/posix_spawnattr_getsigdefault: New file.
56024         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56025         modifications.
56026         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56027         new module.
56028
56029         New module 'posix_spawnattr_setschedpolicy'.
56030         * modules/posix_spawnattr_setschedpolicy: New file.
56031         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56032         modifications.
56033         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56034         new module.
56035
56036         New module 'posix_spawnattr_getschedpolicy'.
56037         * modules/posix_spawnattr_getschedpolicy: New file.
56038         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56039         modifications.
56040         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56041         new module.
56042
56043         New module 'posix_spawnattr_setschedparam'.
56044         * modules/posix_spawnattr_setschedparam: New file.
56045         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56046         modifications.
56047         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56048         new module.
56049
56050         New module 'posix_spawnattr_getschedparam'.
56051         * modules/posix_spawnattr_getschedparam: New file.
56052         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56053         modifications.
56054         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56055         new module.
56056
56057         New module 'posix_spawnattr_setpgroup'.
56058         * modules/posix_spawnattr_setpgroup: New file.
56059         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56060         modifications.
56061         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56062         module.
56063
56064         New module 'posix_spawnattr_getpgroup'.
56065         * modules/posix_spawnattr_getpgroup: New file.
56066         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56067         modifications.
56068         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56069         module.
56070
56071         New module 'posix_spawnattr_setflags'.
56072         * modules/posix_spawnattr_setflags: New file.
56073         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56074         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56075         module.
56076
56077         New module 'posix_spawnattr_getflags'.
56078         * modules/posix_spawnattr_getflags: New file.
56079         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56080         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56081         module.
56082
56083         New module 'posix_spawnattr_init'.
56084         * modules/posix_spawnattr_init: New file.
56085         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56086         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56087         module.
56088
56089         New module 'posix_spawn_file_actions_destroy'.
56090         * modules/posix_spawn_file_actions_destroy: New file.
56091         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56092         modifications.
56093         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56094         the new module.
56095
56096         New module 'posix_spawn_file_actions_addopen'.
56097         * modules/posix_spawn_file_actions_addopen: New file.
56098         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56099         modifications.
56100         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56101         the new module.
56102
56103         New module 'posix_spawn_file_actions_adddup2'.
56104         * modules/posix_spawn_file_actions_adddup2: New file.
56105         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56106         modifications.
56107         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56108         the new module.
56109
56110         New module 'posix_spawn_file_actions_addclose'.
56111         * modules/posix_spawn_file_actions_addclose: New file.
56112         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56113         modifications.
56114         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56115         the new module.
56116
56117         New module 'posix_spawn_file_actions_init'.
56118         * modules/posix_spawn_file_actions_init: New file.
56119         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56120         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56121         new module.
56122
56123         New module 'posix_spawn-internal'.
56124         * modules/posix_spawn-internal: New file.
56125         * lib/spawn_int.h: New file, from GNU libc with modifications.
56126         * lib/spawni.c: New file, from GNU libc with modifications.
56127         * m4/posix_spawn.m4: New file.
56128
56129         New module 'spawn'.
56130         * modules/spawn: New file.
56131         * lib/spawn.in.h: New file, from GNU libc with modifications.
56132         * m4/spawn_h.m4: New file.
56133         * doc/posix-headers/spawn.texi: Mention the new module.
56134
56135 2008-09-28  Bruno Haible  <bruno@clisp.org>
56136
56137         * modules/sched-tests: New file.
56138         * tests/test-sched.c: New file.
56139
56140         New module 'sched'.
56141         * modules/sched: New file.
56142         * lib/sched.in.h: New file.
56143         * m4/sched_h.m4: New file.
56144         * doc/posix-headers/sched.texi: Mention the new module.
56145
56146 2008-09-27  Eric Blake  <ebb9@byu.net>
56147
56148         Fix previous patch, and tweak references to $0.
56149         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56150         (func_version, func_gnulib_dir): Don't call this program
56151         gnulib-tool.
56152         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56153         with using $0 in function.
56154         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56155         (func_fatal_error): Reuse the name the user invoked us with.
56156
56157 2008-09-27  Bruno Haible  <bruno@clisp.org>
56158
56159         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56160         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56161         (gl_ICONV_H): Not here.
56162         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56163         instead of assigning ICONV_H directly.
56164
56165         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56166         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56167         WCHAR_H directly.
56168
56169 2008-09-27  Bruno Haible  <bruno@clisp.org>
56170
56171         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56172         * modules/arpa_inet (Depends-on): Add link-warning.
56173         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56174         * modules/unistd (Makefile.am): Likewise.
56175
56176 2008-09-26  Bruno Haible  <bruno@clisp.org>
56177
56178         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56179         variables.
56180         (func_version): Essentially copied from gnulib-tool.
56181         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56182         func_readlink): Copied from gnulib-tool.
56183
56184 2008-09-26  Bruno Haible  <bruno@clisp.org>
56185
56186         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56187         invoking git-version-gen.
56188
56189 2008-09-26  Bruno Haible  <bruno@clisp.org>
56190
56191         * posix-modules: Update to directory names changed on 2008-01-19.
56192         Remove commas in output before splitting into words. No more need to
56193         avoid 'ftruncate' since 2007-02-19.
56194
56195 2008-09-26  Bruno Haible  <bruno@clisp.org>
56196
56197         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56198
56199 2008-09-26  Bruno Haible  <bruno@clisp.org>
56200
56201         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56202         * modules/fwriteerror (Depends-on): Add errno.
56203
56204 2008-09-26  Bruno Haible  <bruno@clisp.org>
56205
56206         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56207         * tests/test-vc-list-files-cvs.sh: Likewise.
56208
56209 2008-09-26  Bruno Haible  <bruno@clisp.org>
56210
56211         * doc/posix-headers/sys_resource.texi: Reorder items.
56212
56213 2008-09-26  Jim Meyering  <meyering@redhat.com>
56214
56215         fts: tweak inode comparison function
56216         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56217         inode numbers, as documented.
56218
56219         fts: sort dirent entries on inode number before traversing
56220         This avoids a quadratic, seek-related performance penalty when
56221         operating on a directory containing many entries (measurable at 10k;
56222         3.5 hours at 2 million entries with a cold cache) on certain types
56223         of file systems, including ext3 and ext4, but not tmpfs.
56224         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56225         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56226         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56227         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56228         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56229         (fts_build): Set the stat.st_ino member from D_INO.
56230         If it is likely to be useful, sort dirent entries on inode number.
56231
56232         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56233         and the struct statfs.f_type member.
56234         * modules/fts (Depends-on): Add d-ino.
56235
56236 2008-09-26  Bruno Haible  <bruno@clisp.org>
56237
56238         * modules/sigpipe-die (Depends-on): Add sigpipe.
56239
56240         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56241         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56242         and GNULIB_STDIO_H_SIGPIPE are set.
56243         * lib/stdio-write.c: New file.
56244         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56245         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56246         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56247         REPLACE_STDIO_WRITE_FUNCS.
56248         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56249         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56250         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56251         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56252         * modules/stdio (Files): Add lib/stdio-write.c.
56253         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56254         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56255         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56256         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56257         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56258         REPLACE_FPRINTF_POSIX.
56259         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56260         REPLACE_PRINTF_POSIX.
56261         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56262         REPLACE_VFPRINTF_POSIX.
56263         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56264         REPLACE_VPRINTF_POSIX.
56265         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56266         SIGPIPE issue.
56267         * doc/posix-functions/fputc.texi: Likewise.
56268         * doc/posix-functions/fputs.texi: Likewise.
56269         * doc/posix-functions/fwrite.texi: Likewise.
56270         * doc/posix-functions/printf.texi: Likewise.
56271         * doc/posix-functions/putc.texi: Likewise.
56272         * doc/posix-functions/putchar.texi: Likewise.
56273         * doc/posix-functions/puts.texi: Likewise.
56274         * doc/posix-functions/vfprintf.texi: Likewise.
56275         * doc/posix-functions/vprintf.texi: Likewise.
56276
56277         * modules/safe-write (Depends-on): Add write.
56278
56279         * modules/sigpipe-tests: New file.
56280         * tests/test-sigpipe.c: New file.
56281         * tests/test-sigpipe.sh: New file.
56282
56283         * modules/write: New file.
56284         * lib/unistd.in.h: Include <sys/types.h>.
56285         (write): New declaration.
56286         * lib/write.c: New file.
56287         * m4/write.m4: New file.
56288         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56289         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56290         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56291         GNULIB_WRITE, REPLACE_WRITE.
56292         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56293         and the SIGPIPE issue.
56294
56295         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56296         (raise): New declaration.
56297         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56298         (ext_signal): New function.
56299         (rpl_raise): New function.
56300         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56301         GNULIB_SIGNAL_H_SIGPIPE.
56302         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56303         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56304
56305         * modules/sigpipe: New file.
56306         * m4/sigpipe.m4: New file.
56307
56308 2008-09-25  Derek Price  <derek@ximbiot.com>
56309             Bruno Haible  <bruno@clisp.org>
56310
56311         * gnulib-tool (func_import): Report all license incompatibilities, not
56312         just the first one.
56313
56314 2008-09-25  Bruno Haible  <bruno@clisp.org>
56315
56316         * gnulib-tool (func_import): When computing the edits, consider not
56317         only the Makefile.ams that exist but also those that will be generated.
56318
56319 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56320
56321         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56322         fixes gnulib-tool --test warning about duplicate dependency.
56323
56324 2008-09-25  Bruno Haible  <bruno@clisp.org>
56325
56326         * gnulib-tool: Don't ask the user to perform edits in the generated
56327         Makefile.ams.
56328         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56329         apply to the Makefile.am being generated.
56330         (func_emit_tests_Makefile_am): Execute edits that apply to the
56331         Makefile.am being generated.
56332         (func_import): Setup list of Makefile.am edits before emitting the
56333         Makefile.ams, not at the end.
56334         (func_create_testdir): Update.
56335         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56336
56337 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56338
56339         * gnulib-tool (func_import): Store the --tests-base option in the
56340         comment in gnulib-cache.m4.
56341
56342 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56343
56344         * NEWS: Document increased portability that sys_select now provides.
56345
56346         * lib/sys_select.in.h: Install select wrapper.
56347         * lib/sys_socket.in.h: Use more descriptive name when there is no
56348         select wrapper.
56349         * lib/winsock-select.c: New.
56350         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56351         Require gl_HEADER_SYS_SOCKET.
56352         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56353         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56354         * tests/test-sys_select.c: Add functional tests.
56355
56356 2008-09-24  Eric Blake  <ebb9@byu.net>
56357
56358         open, fopen: close fd leak in last patch
56359         * lib/open.c (rpl_open): Close fd before returning error.
56360         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56361         * doc/posix-functions/open.texi (open): Document that Irix also
56362         has the bug.
56363         * doc/posix-functions/fopen.texi (fopen): Likewise.
56364         Reported by Paolo Bonzini.
56365
56366 2008-09-24  Bruno Haible  <bruno@clisp.org>
56367
56368         Ensure that a filename ending in a slash cannot be used to access a
56369         non-directory.
56370         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56371         to check whether it's really a directory.
56372         * lib/fopen.c: Include fcntl.h, unistd.h.
56373         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56374         and fdopen().
56375         * modules/fopen (Depends-on): Add unistd.
56376         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56377         * tests/test-fopen.c (main): Likewise.
56378         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56379         * doc/posix-functions/fopen.texi: Likewise.
56380         Reported by Eric Blake.
56381
56382 2008-09-23  Eric Blake  <ebb9@byu.net>
56383
56384         c-stack: avoid compiler optimizations when provoking overflow
56385         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56386         recursion harder to optimize, to ensure a stack overflow occurs.
56387         * tests/test-c-stack.c (recurse): Likewise.
56388         Borrowed from libsigsegv.
56389
56390         c-stack: work around Irix sigaltstack bug
56391         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56392         whether sigaltstack uses wrong end of stack_t (copied in part from
56393         libsigsegv).
56394         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56395         Irix bug, without requiring an over-allocation.
56396         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56397         bug.
56398
56399         fopen: document mingw bug on directories
56400         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56401         not allowing a stream visiting a directory, even though reading
56402         from such a stream is not portable.
56403
56404 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56405
56406         * lib/poll.c: Rewrite.
56407         * modules/poll: Depend on alloca.
56408
56409 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56410
56411         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56412         instead define prototypes for a full set of wrappers.  Ensure
56413         that Cygwin does not use the compatibility code, which is only
56414         for MinGW.
56415         * lib/winsock.c: New.
56416         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56417         * modules/sys_socket: Add lib/winsock.c.
56418
56419         * modules/poll-tests: Add errno and perror.
56420         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56421
56422 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56423
56424         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56425
56426 2008-09-23  Bruno Haible  <bruno@clisp.org>
56427
56428         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56429         * doc/glibc-functions/*: Likewise.
56430
56431 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56432
56433         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56434         success.
56435
56436 2008-09-22  Eric Blake  <ebb9@byu.net>
56437             Bruno Haible  <bruno@clisp.org>
56438
56439         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56440         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56441         supply %A but mishandle pseudo-NaN.
56442         Reported by Simon Josefsson.
56443
56444 2008-09-21  Bruno Haible  <bruno@clisp.org>
56445
56446         * tests/test-lock.c (main): Tweak skip message.
56447         * tests/test-tls.c (main): Likewise.
56448
56449 2008-09-21  Bruno Haible  <bruno@clisp.org>
56450
56451         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56452         whether 'struct sigaction' has sa_sigaction here...
56453         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56454         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56455
56456 2008-09-21  Bruno Haible  <bruno@clisp.org>
56457
56458         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56459         section.
56460         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56461         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56462         the new section.
56463         (Support for obsolete systems lacking POSIX:2001): New section.
56464         (String handling <string.h>): Move strdup to the new section.
56465         Suggested by Simon Josefsson and Paolo Bonzini.
56466
56467 2008-09-21  Bruno Haible  <bruno@clisp.org>
56468
56469         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56470         exponents in %e and %g results on 'long double'. Needed for mingw's
56471         improved *printf functions.
56472         * tests/test-vasprintf-posix.c (test_function): Likewise.
56473         * tests/test-snprintf-posix.h (test_function): Likewise.
56474         * tests/test-sprintf-posix.h (test_function): Likewise.
56475         Reported by Eric Blake.
56476
56477 2008-09-21  Bruno Haible  <bruno@clisp.org>
56478
56479         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56480         * tests/test-sprintf-posix.h (test_function): Likewise.
56481
56482 2008-09-21  Bruno Haible  <bruno@clisp.org>
56483
56484         * modules/getpass (Depends-on): Add strdup-posix.
56485
56486         New module 'strdup-posix'.
56487         * modules/strdup-posix: New file.
56488         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56489         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56490         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56491         REPLACE_STRDUP.
56492         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56493         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56494         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56495         strdup-posix.
56496
56497         * modules/strdup (Depends-on): Remove malloc-posix.
56498
56499 2008-09-20  Bruno Haible  <bruno@clisp.org>
56500
56501         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56502         Wildenhues.
56503
56504 2008-09-20  Bruno Haible  <bruno@clisp.org>
56505
56506         Ensure that wint_t gets defined on IRIX 5.3.
56507         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56508         * lib/wctype.in.h (wint_t): Likewise.
56509         (__wctype_wint_t): Remove type.
56510         (isw*): Use wint_t instead of __wctype_wint_t.
56511         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56512         * modules/wchar (Files): Add m4/wint_t.m4.
56513         (Makefile.am): Substitute HAVE_WINT_T.
56514         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56515         * tests/test-wctype.c: Check that wint_t is defined.
56516         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56517         * doc/posix-headers/wctype.texi: Likewise.
56518         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56519
56520 2008-09-18  Bruno Haible  <bruno@clisp.org>
56521
56522         * gnulib-tool (func_exit): Update comment.
56523
56524 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56525
56526         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56527         assumes strdup exists and does not depend on strdup to return
56528         ENOMEM on out of memory conditions.
56529
56530 2008-09-18  Bruno Haible  <bruno@clisp.org>
56531
56532         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56533         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56534         digits for the exponent.
56535
56536 2008-09-18  Jim Meyering  <meyering@redhat.com>
56537             Bruno Haible  <bruno@clisp.org>
56538
56539         * lib/vasnprintf.c (decimal_point_char): Define also if
56540         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56541
56542 2008-09-16  Bruno Haible  <bruno@clisp.org>
56543         and Eric Blake  <ebb9@byu.net>
56544
56545         vasnprintf: support Irix 5.3
56546         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56547         that mishandle long double infinity.
56548         Reported by Tom G. Christensen.
56549
56550 2008-09-16  Bruno Haible  <bruno@clisp.org>
56551
56552         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56553         Solaris 9.
56554         * doc/glibc-functions/alphasort.texi: Likewise.
56555         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56556
56557 2008-09-16  Jim Meyering  <meyering@redhat.com>
56558
56559         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56560         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56561         a umask modification leak out of a subshell.  Otherwise, the
56562         opensolaris /bin/sh would be accepted and thus cause unwarranted
56563         failures in the coreutils test suite.
56564
56565 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56566
56567         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56568         to succeed.
56569
56570 2008-09-16  Jim Meyering  <meyering@redhat.com>
56571
56572         avoid spurious test failure when library is built without ACL support
56573         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56574         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56575         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56576         * tests/test-copy-acl.sh: Likewise.
56577
56578 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56579
56580         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56581         based on character occurrence counts.
56582
56583 2008-09-15  Eric Blake  <ebb9@byu.net>
56584
56585         tests: avoid some compiler warnings
56586         * tests/test-memchr.c (main): Pass NULL indirectly.
56587         * tests/test-closein.c (main): Avoid unused variable.
56588
56589 2008-09-15  Bruno Haible  <bruno@clisp.org>
56590
56591         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56592         are missing on OpenBSD 4.0 individually.
56593         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56594
56595 2008-09-15  Bruno Haible  <bruno@clisp.org>
56596
56597         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56598         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56599         * doc/posix-functions/perror.texi: Likewise.
56600         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56601         is missing.
56602         Reported by Eric Blake.
56603
56604         * lib/errno.in.h: Use replacement values >= 2000.
56605         Reported by Eric Blake.
56606
56607 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56608
56609         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56610         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56611         limit.
56612         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56613         compareseq was aborted.
56614
56615 2008-09-14  Bruno Haible  <bruno@clisp.org>
56616
56617         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56618         yvec_edit_count.
56619         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56620         (fstrcmp_bounded): Simplify result computation accordingly.
56621
56622 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56623
56624         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56625         (fstrcmp): Define in terms of fstrcmp_bounded.
56626         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56627         lower_bound argument.
56628         Return quickly if the result is certainly < lower_bound.
56629         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56630
56631 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56632
56633         * lib/diffseq.h (EARLY_ABORT): New macro.
56634         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56635         evaluates to true.
56636
56637 2008-09-14  Bruno Haible  <bruno@clisp.org>
56638
56639         * modules/perror-tests: New file.
56640         * tests/test-perror.sh: New file.
56641         * tests/test-perror.c: New file.
56642
56643         New module 'perror'.
56644         * lib/stdio.in.h (perror): New declaration.
56645         * lib/perror.c: New file.
56646         * m4/perror.m4: New file.
56647         * modules/perror: New file.
56648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56649         * doc/posix-functions/perror.texi: Mention the perror module.
56650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56651         REPLACE_PERROR.
56652         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56653         REPLACE_PERROR.
56654
56655 2008-09-14  Bruno Haible  <bruno@clisp.org>
56656
56657         * modules/stdio (Makefile.am): Reorder to match the order in
56658         lib/stdio.in.h.
56659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56660
56661 2008-09-13  Bruno Haible  <bruno@clisp.org>
56662
56663         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56664
56665 2008-09-13  Bruno Haible  <bruno@clisp.org>
56666
56667         Extend strerror to cover the added errno values.
56668         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56669         (rpl_strerror): Provide error messages for the added errno values and
56670         for the WSA* values.
56671         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56672         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56673         strerror.
56674         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56675         * modules/strerror (Depends-on): Add errno.
56676         * doc/posix-functions/strerror.texi: Document the change.
56677         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56678         and EOVERFLOW.
56679
56680 2008-09-13  Bruno Haible  <bruno@clisp.org>
56681
56682         * modules/EOVERFLOW: Remove file.
56683         * m4/eoverflow.m4: Remove file.
56684         * modules/EOVERFLOW-tests: Remove file.
56685         * tests/test-EOVERFLOW.c: Remove file.
56686         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56687         * modules/ftell (Depends-on): Likewise.
56688         * modules/getdelim (Depends-on): Likewise.
56689         * modules/getugroups (Depends-on): Likewise.
56690         * modules/poll (Depends-on): Likewise.
56691         * modules/snprintf (Depends-on): Likewise.
56692         * modules/sprintf-posix (Depends-on): Likewise.
56693         * modules/vasnprintf (Depends-on): Likewise.
56694         * modules/vasprintf (Depends-on): Likewise.
56695         * modules/vfprintf-posix (Depends-on): Likewise.
56696         * modules/vsnprintf (Depends-on): Likewise.
56697         * modules/vsprintf-posix (Depends-on): Likewise.
56698         * modules/xvasprintf (Depends-on): Likewise.
56699         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56700         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56701         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56702         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56703         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56704         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56705         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56706         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56707         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56708         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56709         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56710         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56711         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56712         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56713         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56714         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56715         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56716         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56717         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56718         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56719         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56720         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56721         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56722         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56723         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56724         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56725         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56726         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56727         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56728         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56729         * MODULES.html.sh: Remove EOVERFLOW.
56730         * NEWS: Mention the change.
56731
56732 2008-09-13  Bruno Haible  <bruno@clisp.org>
56733
56734         * modules/errno-tests: New file.
56735         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56736
56737         * lib/errno.in.h: New file.
56738         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56739         * modules/errno: New file.
56740         * doc/posix-headers/errno.texi: Update documentation.
56741         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56742
56743 2008-09-13  Bruno Haible  <bruno@clisp.org>
56744
56745         * tests/test-poll.c: Use #if for native Windows, rather than testing
56746         __MSVCRT__.
56747
56748 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56749             Bruno Haible  <bruno@clisp.org>
56750
56751         * lib/glob.c: Don't include <pwd.h> on native Windows.
56752         (WINDOWS32): New macro.
56753         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56754
56755 2008-09-13  Bruno Haible  <bruno@clisp.org>
56756
56757         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56758         (ETIMEDOUT): Remove macro.
56759         (glthread_cond_timedwait_multithreaded): New declaration.
56760         (glthread_cond_timedwait): Use it.
56761         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56762         (glthread_cond_timedwait_multithreaded): New function.
56763
56764 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56765
56766         * modules/poll-tests: Do not check for io.h.
56767         * tests/test-poll.c: Check for __MSVCRT__ instead.
56768
56769 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56770
56771         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
56772         * modules/poll-tests: Add inet_pton, stdbool, sockets.
56773         * tests/test-poll.c: Use them.  Use _pipe on Windows.
56774
56775 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56776
56777         * modules/poll-tests: New.
56778         * tests/test-poll.c: New.
56779
56780 2008-09-12  Eric Blake  <ebb9@byu.net>
56781
56782         frexp: test for NetBSD failure on -0.0
56783         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
56784         not all, bugs from NetBSD 3.0 have been fixed.
56785         * doc/posix-functions/frexp.texi (frexp): Document bug.
56786         Reported by Thomas Klausner.
56787
56788         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
56789         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
56790         literal -0.0.
56791         Reported by Jonathan C. Patschke <jp@centtech.com>.
56792
56793 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56794
56795         * lib/glthread/cond.h: Use dummy implementation also if
56796         USE_WIN32_THREADS.
56797
56798 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56799
56800         * modules/fnmatch-posix (License): Change to LGPLv2+.
56801         * modules/fnmatch-gnu (License): Likewise.
56802
56803 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56804
56805         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
56806
56807 2008-09-11  Jim Meyering  <meyering@redhat.com>
56808
56809         * users.txt: Add gtk-vnc.
56810
56811 2008-09-08  Simon Josefsson  <simon@josefsson.org>
56812
56813         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
56814         rotate amounts.
56815
56816         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
56817         required for 16-bit and 8-bit rotates.
56818         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
56819         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
56820         UINT8_MAX instead of hard-coded constants.
56821         Suggested by Paul Eggert.
56822
56823 2008-09-07  Bruno Haible  <bruno@clisp.org>
56824
56825         * tests/test-striconveh.c (main): Check behaviour when converting from
56826         UTF-7.
56827
56828         Make striconveh work better with stateful encodings.
56829         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
56830         that iconv does not increment the inptr when returning -1/EINVAL.
56831
56832 2008-09-07  Bruno Haible  <bruno@clisp.org>
56833
56834         * build-aux/config.rpath: Update according to libtool-2.2.6.
56835         * build-aux/config.libpath: Likewise.
56836
56837 2008-09-06  Bruno Haible  <bruno@clisp.org>
56838
56839         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
56840         * lib/freadptr.c (freadptr): Likewise.
56841         * lib/freadseek.c (freadptrinc): Likewise.
56842         Reported by Simon Josefsson.
56843
56844 2008-09-06  Bruno Haible  <bruno@clisp.org>
56845
56846         * modules/freadptr (License): Change to LGPLv2+.
56847         * modules/freadseek (License): Likewise.
56848         Suggested by Eric Blake.
56849
56850         * modules/memchr2 (License): Change to LGPLv2+.
56851         Approved by Eric Blake.
56852
56853 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56854             Bruno Haible  <bruno@clisp.org>
56855
56856         Make gnulib-tool work with native 'sed' on AIX.
56857         * gnulib-tool (sed_noop): New variable.
56858         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
56859         func_add_or_update, func_create_testdir): Use it to initialize sed
56860         script variables.
56861         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56862
56863 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
56864             Bruno Haible  <bruno@clisp.org>
56865
56866         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
56867         also works after #include directives.
56868
56869 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
56870
56871         getdate.y: reject an out-of-range timezone value
56872         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
56873         the range [-24...+24].  When specified with only one or two digits,
56874         * tests/test-getdate.c: Tests for the fix.
56875         * doc/getdate.texi: Document this change.
56876
56877 2008-09-03  Bruno Haible  <bruno@clisp.org>
56878
56879         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
56880
56881 2008-09-02  Simon Josefsson  <simon@josefsson.org>
56882
56883         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
56884         <bruce.korb@gmail.com> with ideas from Ben Pfaff
56885         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
56886         Blake <ebb9@byu.net>.
56887
56888         * tests/test-bitrotate.c: Add more test vectors.
56889
56890 2008-09-02  Eric Blake  <ebb9@byu.net>
56891
56892         vasnprintf-posix: handle large precision via %.*d
56893         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
56894         when handling it ourselves.
56895         * tests/test-vasnprintf-posix.c (test_function): Add test.
56896         * tests/test-snprintf-posix.h (test_function): Likewise.
56897         * tests/test-sprintf-posix.h (test_function): Likewise.
56898         * tests/test-vasprintf-posix.c (test_function): Likewise.
56899         Reported by Alain Guibert.
56900
56901 2008-09-01  Eric Blake  <ebb9@byu.net>
56902
56903         c-stack: make configure-time check more robust
56904         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
56905         successful sigaction call.
56906         Reported by Tom G. Christensen.
56907
56908 2008-09-01  Bruno Haible  <bruno@clisp.org>
56909
56910         New module 'findprog-lgpl'.
56911         * modules/findprog-lgpl: New file.
56912         * lib/findprog-lgpl.c: New file.
56913         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
56914         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
56915         to decide whether to use strdup or xstrdup, concatenated_filename or
56916         xconcatenated_filename.
56917
56918 2008-09-01  Bruno Haible  <bruno@clisp.org>
56919
56920         Split module 'concat-filename' into 'concat-filename' (LGPL) and
56921         'xconcat-filename' (GPL).
56922         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
56923         (License): Change to LGPLv2+.
56924         * modules/xconcat-filename: New file.
56925         * lib/concat-filename.h (concatenated_filename): Change specification.
56926         (xconcatenated_filename): New declaration.
56927         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
56928         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
56929         memory situations.
56930         * lib/xconcat-filename.c: New file.
56931         * NEWS: Mention the change.
56932         * lib/findprog.c: Include concat-filename.h, not filename.h.
56933         (find_in_path): Use xconcatenated_filename instead of
56934         concatenated_filename.
56935         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56936         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56937         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56938         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56939         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56940         instead of concatenated_filename.
56941         * lib/javaexec.c: Include concat-filename.h, not filename.h.
56942         (execute_java_class): Use xconcatenated_filename instead of
56943         concatenated_filename.
56944         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
56945         * modules/javacomp (Depends-on): Likewise.
56946         * modules/javaexec (Depends-on): Likewise.
56947
56948 2008-09-01  Bruno Haible  <bruno@clisp.org>
56949
56950         Split module 'filename' into 'filename' and 'concat-filename'.
56951         * modules/filename: Keep only lib/filename.h.
56952         (License): Change to LGPLv2+.
56953         * modules/concat-filename: New file, extracted from modules/filename.
56954         * lib/filename.h (concatenated_filename): Remove declaration.
56955         * lib/concat-filename.h: New file, extracted from lib/filename.h.
56956         * lib/concat-filename.c: Include concat-filename.h.
56957         * NEWS: Mention the change.
56958
56959 2008-09-01  Simon Josefsson  <simon@josefsson.org>
56960
56961         * lib/bitrotate.h (rotl8, rotr8): Add.
56962
56963         * modules/bitrotate (configure.ac): Need
56964         AC_REQUIRE([AC_C_INLINE]).
56965         (Description): Mention stdint.h.  Reported by Bruno Haible
56966         <bruno@clisp.org>.
56967
56968         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
56969         Paolo Bonzini <bonzini@gnu.org>.
56970
56971 2008-08-31  Bruno Haible  <bruno@clisp.org>
56972
56973         Assume Solaris specific bi-arch conventions on Solaris systems.
56974         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
56975         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
56976         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
56977         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
56978         like acl_libdirstem.
56979         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
56980         acl_libdirstem.
56981         * NEWS: Mention the change.
56982         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
56983
56984 2008-08-31  Jim Meyering  <meyering@redhat.com>
56985
56986         * lib/strftime.h: Add comments describing the two added arguments.
56987
56988         remove duplicate #include directives
56989         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
56990         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
56991
56992 2008-08-31  Bruno Haible  <bruno@clisp.org>
56993
56994         New module 'sigpipe-die'.
56995         * modules/sigpipe-die: New file.
56996         * lib/sigpipe-die.h: New file.
56997         * lib/sigpipe-die.c: New file.
56998         * MODULES.html.sh (Signal handling): Add sigpipe-die.
56999
57000 2008-08-31  Bruno Haible  <bruno@clisp.org>
57001
57002         Don't override previously installed signal handlers.
57003         * lib/fatal-signal.c (saved_sigactions): New variable.
57004         (uninstall_handlers): Reset the signal to the saved handler, not
57005         to SIG_DFL (except when ignored).
57006         (install_handlers): Save the previous handlers.
57007
57008 2008-08-30  Bruno Haible  <bruno@clisp.org>
57009
57010         * gnulib-tool (func_reset_sigpipe): New function.
57011         (func_get_automake_snippet, func_modules_transitive_closure,
57012         func_import): Invoke it before a join command that reads from stdin,
57013         to avoid "echo: write error: Broken pipe" error messages on stderr.
57014         Reported by Sam Steingold <sds@gnu.org>.
57015
57016 2008-08-30  Bruno Haible  <bruno@clisp.org>
57017
57018         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57019         Code copied from m4/open.m4.
57020         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57021         access and the filename ends in a slash. Code copied from lib/open.c.
57022         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57023         * tests/test-fopen.c (main): Check against bug with trailing slash.
57024
57025 2008-08-29  Bruno Haible  <bruno@clisp.org>
57026
57027         Avoid some "gcc -pedantic" warnings.
57028         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57029         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57030         * lib/dirent.in.h: Likewise.
57031         * lib/fcntl.in.h: Likewise.
57032         * lib/float.in.h: Likewise.
57033         * lib/iconv.in.h: Likewise.
57034         * lib/inttypes.in.h: Likewise.
57035         * lib/locale.in.h: Likewise.
57036         * lib/math.in.h: Likewise.
57037         * lib/netinet_in.in.h: Likewise.
57038         * lib/search.in.h: Likewise.
57039         * lib/signal.in.h: Likewise.
57040         * lib/stdarg.in.h: Likewise.
57041         * lib/stdint.in.h: Likewise.
57042         * lib/stdio.in.h: Likewise.
57043         * lib/stdlib.in.h: Likewise.
57044         * lib/string.in.h: Likewise.
57045         * lib/strings.in.h: Likewise.
57046         * lib/sys_select.in.h: Likewise.
57047         * lib/sys_socket.in.h: Likewise.
57048         * lib/sys_stat.in.h: Likewise.
57049         * lib/sys_time.in.h: Likewise.
57050         * lib/sysexits.in.h: Likewise.
57051         * lib/time.in.h: Likewise.
57052         * lib/unistd.in.h: Likewise.
57053         * lib/wchar.in.h: Likewise.
57054         * lib/wctype.in.h: Likewise.
57055         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57056         * modules/fchdir (Makefile.am): Likewise.
57057         * modules/fcntl (Makefile.am): Likewise.
57058         * modules/float (Makefile.am): Likewise.
57059         * modules/iconv_open (Makefile.am): Likewise.
57060         * modules/inttypes (Makefile.am): Likewise.
57061         * modules/locale (Makefile.am): Likewise.
57062         * modules/math (Makefile.am): Likewise.
57063         * modules/netinet_in (Makefile.am): Likewise.
57064         * modules/search (Makefile.am): Likewise.
57065         * modules/signal (Makefile.am): Likewise.
57066         * modules/stdarg (Makefile.am): Likewise.
57067         * modules/stdint (Makefile.am): Likewise.
57068         * modules/stdio (Makefile.am): Likewise.
57069         * modules/stdlib (Makefile.am): Likewise.
57070         * modules/string (Makefile.am): Likewise.
57071         * modules/strings (Makefile.am): Likewise.
57072         * modules/sys_select (Makefile.am): Likewise.
57073         * modules/sys_socket (Makefile.am): Likewise.
57074         * modules/sys_stat (Makefile.am): Likewise.
57075         * modules/sys_time (Makefile.am): Likewise.
57076         * modules/sysexits (Makefile.am): Likewise.
57077         * modules/time (Makefile.am): Likewise.
57078         * modules/unistd (Makefile.am): Likewise.
57079         * modules/wchar (Makefile.am): Likewise.
57080         * modules/wctype (Makefile.am): Likewise.
57081         Reported by Reuben Thomas <rrt@sc3d.org>.
57082
57083 2008-08-29  Bruno Haible  <bruno@clisp.org>
57084
57085         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57086         any more.
57087
57088 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57089
57090         * MODULES.html.sh (Misc): Add bitrotate.
57091
57092         * modules/bitrotate: New file.
57093
57094         * lib/bitrotate.h: New file.
57095
57096         * modules/bitrotate-tests: New file.
57097
57098         * tests/test-bitrotate.c: New file.
57099
57100         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57101         on the bitrotate module.
57102
57103         * lib/arctwo.c: Use new bitrotate module.
57104
57105 2008-08-29  Jim Meyering  <meyering@redhat.com>
57106
57107         bootstrap: merge changes from coreutils
57108         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57109         of copied files.  Remove a kludge, now that this is fixed.
57110         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57111         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57112         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57113
57114 2008-08-29  Bruno Haible  <bruno@clisp.org>
57115
57116         * MODULES.html.sh: Remove --cvs-urls option.
57117
57118 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57119
57120         maint.mk: adjust to file name change
57121         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57122
57123 2008-08-28  Jim Meyering  <meyering@redhat.com>
57124
57125         * modules/getndelim2 (License): Relicense to LGPLv2+.
57126         Approved by Richard Stallman for the version of 1995, and by
57127         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57128
57129 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57130
57131         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57132         dummy if one is not available.  Do not touch them if
57133         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57134         (getc_maybe_unlocked): New.
57135         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57136
57137 2008-08-26  Eric Blake  <ebb9@byu.net>
57138
57139         doc/INSTALL: resync from autoconf
57140         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57141         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57142         moving...
57143         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57144         * INSTALL: Regenerate.
57145         * INSTALL.ISO: New file.
57146         * INSTALL.UTF-8: Likewise.
57147
57148 2008-08-26  Jim Meyering  <meyering@redhat.com>
57149
57150         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57151         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57152         these definitions conditional, so that they may be overridden, too.
57153
57154 2008-08-26  Bruno Haible  <bruno@clisp.org>
57155
57156         Generate INSTALL file variants with prettier quotes.
57157         * doc/Makefile (INSTALL_PRELUDE): New macro.
57158         (INSTALL): Use it.
57159         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57160
57161 2008-08-26  Bruno Haible  <bruno@clisp.org>
57162
57163         Run makeinfo in an English locale.
57164         * doc/Makefile (MAKEINFO): New variable.
57165
57166 2008-08-26  Bruno Haible  <bruno@clisp.org>
57167
57168         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57169         Suggested by Eric Blake.
57170
57171 2008-08-25  Bruno Haible  <bruno@clisp.org>
57172
57173         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57174
57175 2008-08-25  Eric Blake  <ebb9@byu.net>
57176
57177         c-stack: test that stack overflow can be caught
57178         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57179         that platform allows handling stack overflow; at least OS/2 EMX
57180         has sigaltstack, but crashes before transferring control to
57181         handler on stack overflow.
57182         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57183         check for HAVE_STACK_OVERFLOW_HANDLING.
57184         Reported by Elbert Pol.
57185
57186 2008-08-25  Bruno Haible  <bruno@clisp.org>
57187
57188         * doc/posix-functions/strftime.texi: Fix description of strftime
57189         module.
57190
57191 2008-08-24  Bruno Haible  <bruno@clisp.org>
57192
57193         * tests/uniwidth/test-uc_width2.c: New file.
57194         * tests/uniwidth/test-uc_width2.sh: New file.
57195         * modules/uniwidth/width-tests (Files): Add the new files.
57196         (TESTS): Add uniwidth/test-uc_width2.sh.
57197         (TESTS_ENVIRONMENT): New variable.
57198         (check_PROGRAMS): Add test-uc_width2.
57199         (test_uc_width2_SOURCES): New variable.
57200
57201         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57202         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57203         not 0x00AB.
57204         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57205
57206 2008-08-22  Eric Blake  <ebb9@byu.net>
57207
57208         test-lock, test-tls: mention why a test is skipped
57209         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57210         skipped.
57211         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57212
57213         count-one-bits: relax license
57214         * modules/count-one-bits (License): Relicense to LGPLv2+.
57215         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57216
57217 2008-08-22  Andreas Schwab  <schwab@suse.de>
57218
57219         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57220         Remove spurious space in assignment.
57221
57222 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57223
57224         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57225         Paul Eggert <eggert@CS.UCLA.EDU>.
57226
57227 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57228
57229         * modules/gettext: Add m4/threadlib.m4.
57230
57231 2008-08-19  Eric Blake  <ebb9@byu.net>
57232
57233         test-c-stack: fix compilation failure on FreeBSD 5.0
57234         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57235         headers before <sys/resource.h>.
57236         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57237         the bug.
57238         Reported by Nelson H. F. Beebe.
57239
57240         strverscmp: migrate from "strverscmp.h" to <string.h>
57241         * modules/string (Makefile.am): Add new hooks.
57242         * modules/strverscmp (Files): Remove strverscmp.h.
57243         (Depends-on): Add string.
57244         (configure.ac): Add indicator.
57245         (Include): Mention new header.
57246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57247         defaults.
57248         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57249         results.
57250         * lib/strverscmp.h: Delete.
57251         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57252         * tests/test-strverscmp.c (includes): Adjust client.
57253         * lib/check-version.c (includes): Likewise.
57254         * NEWS: Document the change.
57255
57256         strverscmp: add unit test
57257         * modules/strverscmp-tests: New file.
57258         * tests/test-strverscmp.c: Likewise.
57259
57260 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57261
57262         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57263         regarding Windows crypto stuff, from Mono.
57264
57265 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57266
57267         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57268         if present, for intel RND.  Return error on failures.
57269
57270 2008-08-18  Ben Pfaff  <blp@gnu.org>
57271
57272         gitlog-to-changelog: give better diagnostic for failed pipe-open
57273         * build-aux/gitlog-to-changelog: Improve error message: suggest
57274         that the version of Git may be too old.
57275
57276 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57277
57278         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57279         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57280
57281 2008-08-18  Bruno Haible  <bruno@clisp.org>
57282
57283         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57284         pthread_in_use().
57285
57286 2008-08-18  Bruno Haible  <bruno@clisp.org>
57287
57288         * lib/glthread/threadlib.c: Include <pthread.h>.
57289
57290 2008-08-18  Bruno Haible  <bruno@clisp.org>
57291
57292         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57293         glthread_recursive_lock_* macros.
57294         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57295         Fix syntax error.
57296
57297 2008-08-18  Bruno Haible  <bruno@clisp.org>
57298
57299         * lib/glthread/thread.c: Avoid forcing a context switch right after
57300         thread creation.
57301
57302 2008-08-17  Bruno Haible  <bruno@clisp.org>
57303
57304         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57305         * lib/glthread/thread.h: Provide Win32 specific implementation.
57306         * modules/thread (Files): Add lib/glthread/thread.c.
57307         (Depends-on): Add lock.
57308         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57309
57310 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57311
57312         New module 'yield'.
57313         * modules/yield: New file.
57314         * lib/glthread/yield.h: New file.
57315         * m4/yield.m4: New file.
57316         * MODULES.html.sh (Multithreading): Add yield.
57317
57318 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57319
57320         New module 'thread'.
57321         * modules/thread: New file.
57322         * lib/glthread/thread.h: New file.
57323         * m4/thread.m4: New file.
57324         * MODULES.html.sh (Multithreading): Add thread.
57325
57326 2008-08-17  Bruno Haible  <bruno@clisp.org>
57327
57328         * lib/glthread/lock.h: Include <stdlib.h> always.
57329         * lib/glthread/tls.h: Likewise.
57330         * lib/glthread/cond.h: Likewise.
57331
57332 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57333
57334         New module 'cond'.
57335         * modules/cond: New file.
57336         * lib/glthread/cond.h: New file.
57337         * lib/glthread/cond.c: New file.
57338         * m4/cond.m4: New file.
57339         * MODULES.html.sh (Multithreading): Add cond.
57340
57341 2008-08-16  Eric Blake  <ebb9@byu.net>
57342
57343         c-stack: fix regression on Irix 5.3 from 2008-06-21
57344         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57345         sa_sigaction...
57346         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57347         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57348         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57349         * modules/signal (Makefile.am): Use the value.
57350         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57351         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57352         * doc/posix-headers/signal.texi (signal.h): Document this
57353         portability issue.
57354         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57355         Reported by Tom G. Christensen.
57356
57357 2008-08-17  Bruno Haible  <bruno@clisp.org>
57358
57359         New module 'threadlib'.
57360         * modules/threadlib: New file.
57361         * lib/glthread/threadlib.c: New file, extracted from
57362         lib/glthread/lock.c.
57363         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57364         functions.
57365         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57366         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57367         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57368         macros.
57369         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57370         (gl_DISABLE_THREADS): Remove macro.
57371         * modules/lock (Files): Remove build-aux/config.rpath.
57372         (Depends-on): Remove havelib. Add threadlib.
57373         (configure.ac-early): Remove section.
57374         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57375         * modules/tls (Depends-on): Remove lock. Add threadlib.
57376         (Link): New section, copied from threadlib.
57377         * MODULES.html.sh (Multithreading): Add threadlib.
57378
57379 2008-08-14  Bruno Haible  <bruno@clisp.org>
57380
57381         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57382         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57383         glthread_rwlock_unlock, glthread_rwlock_destroy,
57384         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57385         glthread_recursive_lock_destroy): Define as macros always.
57386         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57387         glthread_lock_lock.
57388         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57389         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57390         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57391         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57392         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57393         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57394         (glthread_recursive_lock_lock_func): Renamed from
57395         glthread_recursive_lock_lock.
57396         (glthread_recursive_lock_unlock_func): Renamed from
57397         glthread_recursive_lock_unlock.
57398         (glthread_recursive_lock_destroy_func): Renamed from
57399         glthread_recursive_lock_destroy.
57400
57401 2008-08-14  Bruno Haible  <bruno@clisp.org>
57402
57403         * lib/glthread/lock.h: Renamed from lib/lock.h.
57404         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57405         * lib/glthread/tls.h: Renamed from lib/tls.h.
57406         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57407         * lib/fstrcmp.c: Update includes.
57408         * lib/strsignal.c: Update includes.
57409         * modules/lock (Files, Makefile.am): Update.
57410         (Include): Change to "glthread/lock.h".
57411         * modules/tls (Files, Makefile.am): Update.
57412         (Include): Change to "glthread/tls.h".
57413         * tests/test-lock.c: Update includes.
57414         * tests/test-tls.c: Update includes.
57415         * NEWS: Mention the renamed header files.
57416
57417 2008-08-11  Jim Meyering  <meyering@redhat.com>
57418
57419         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57420
57421 2008-08-11  Eric Blake  <ebb9@byu.net>
57422
57423         test-c-stack: avoid C99-ism
57424         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57425         before statement.
57426         Reported by Alain Guibert.
57427
57428 2008-08-10  Jim Meyering  <meyering@redhat.com>
57429
57430         ensure that return value of uinttostr et al are not ignored
57431         * lib/inttostr.h (__GNUC_PREREQ): Define.
57432         (__attribute_warn_unused_result__): Define.
57433         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57434
57435 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57436
57437         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57438         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57439
57440 2008-08-07  Jim Meyering  <meyering@redhat.com>
57441
57442         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57443
57444         * modules/mkstemp (License): Relicense under LGPLv2+.
57445         * modules/tempname (License): Likewise.
57446
57447 2008-08-06  Bruno Haible  <bruno@clisp.org>
57448
57449         * lib/poll.c (poll): Further micro-optimization.
57450
57451 2008-08-06  Jim Meyering  <meyering@redhat.com>
57452
57453         inet_pton.c: use locale-independent tolower
57454         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57455         (inet_pton6): Use c_tolower rather than tolower.
57456         * modules/inet_pton (Depends-on): Add c-ctype.
57457
57458 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57459
57460         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57461         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57462
57463 2008-08-06  Jim Meyering  <meyering@redhat.com>
57464
57465         * modules/inet_pton (License): Relicense under LGPLv2+.
57466
57467 2008-08-03  Bruno Haible  <bruno@clisp.org>
57468
57469         Additional non-aborting API for lock and tls.
57470         * lib/lock.h: Include <errno.h>.
57471         (glthread_lock_init): New macro/function.
57472         (gl_lock_init): Define as wrapper around glthread_lock_init.
57473         (glthread_lock_lock): New macro/function.
57474         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57475         (glthread_lock_unlock): New macro/function.
57476         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57477         (glthread_lock_destroy): New macro/function.
57478         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57479         (glthread_rwlock_init): New macro/function.
57480         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57481         (glthread_rwlock_rdlock): New macro/function.
57482         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57483         (glthread_rwlock_wrlock): New macro/function.
57484         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57485         (glthread_rwlock_unlock): New macro/function.
57486         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57487         (glthread_rwlock_destroy): New macro/function.
57488         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57489         (glthread_recursive_lock_init): New macro/function.
57490         (gl_recursive_lock_init): Define as wrapper around
57491         glthread_recursive_lock_init.
57492         (glthread_recursive_lock_lock): New macro/function.
57493         (gl_recursive_lock_lock): Define as wrapper around
57494         glthread_recursive_lock_lock.
57495         (glthread_recursive_lock_unlock): New macro/function.
57496         (gl_recursive_lock_unlock): Define as wrapper around
57497         glthread_recursive_lock_unlock.
57498         (glthread_recursive_lock_destroy): New macro/function.
57499         (gl_recursive_lock_destroy): Define as wrapper around
57500         glthread_recursive_lock_destroy.
57501         (glthread_once): New macro/function.
57502         (gl_once): Define as wrapper around glthread_once.
57503         Update function declarations.
57504         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57505         glthread_rwlock_init. Return error code.
57506         (glthread_rwlock_rdlock_multithreaded): Renamed from
57507         glthread_rwlock_rdlock. Return error code.
57508         (glthread_rwlock_wrlock_multithreaded): Renamed from
57509         glthread_rwlock_wrlock. Return error code.
57510         (glthread_rwlock_unlock_multithreaded): Renamed from
57511         glthread_rwlock_unlock. Return error code.
57512         (glthread_rwlock_destroy_multithreaded): Renamed from
57513         glthread_rwlock_destroy. Return error code.
57514         (glthread_recursive_lock_init_multithreaded): Renamed from
57515         glthread_recursive_lock_init. Return error code.
57516         (glthread_recursive_lock_lock_multithreaded): Renamed from
57517         glthread_recursive_lock_lock. Return error code.
57518         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57519         glthread_recursive_lock_unlock. Return error code.
57520         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57521         glthread_recursive_lock_destroy. Return error code.
57522         (glthread_once_call): Make static.
57523         (glthread_once_multithreaded): Renamed from glthread_once.
57524         * lib/tls.h: Include <errno.h>.
57525         (glthread_tls_key_init): New macro/function.
57526         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57527         (glthread_tls_set): New macro/function.
57528         (gl_tls_set): Define as wrapper around glthread_tls_set.
57529         (glthread_tls_key_destroy): New macro/function.
57530         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57531         Update function declarations.
57532         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57533         glthread_tls_get.
57534         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57535
57536 2008-08-04  Eric Blake  <ebb9@byu.net>
57537
57538         gnumakefile: use space, not TAB, outside of targets
57539         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57540
57541 2008-08-02  Jim Meyering  <meyering@redhat.com>
57542
57543         getdate.y: avoid locale-dependent date parsing failure
57544         In Turkish locales, getdate would fail to recognize keywords
57545         containing a lowercase "i".  The solution is not to rely on
57546         locale-sensitive case-conversion.
57547         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57548         (lookup_word): Use c_toupper in place of toupper.
57549         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57550         Reported by Vefa Bicakci <bicave@superonline.com> in
57551         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57552         * modules/getdate (Depends-on): Add c-ctype.
57553
57554 2008-08-02  Bruno Haible  <bruno@clisp.org>
57555
57556         * gnulib-tool (func_import): When updating or creating a .gitignore
57557         file, prepend each added line with a slash, and ignore leading slashes
57558         from the existing lines.
57559         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57560
57561 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57562
57563         Portability fix for GNU make 3.79.1.
57564         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57565         versions do not understand.
57566
57567 2008-08-01  Bruno Haible  <bruno@clisp.org>
57568
57569         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57570         * tests/test-isnanf.h (zero): New variable.
57571         (main): Avoid literal -0.0f.
57572         * tests/test-isnand.h (zero): New variable.
57573         (main): Avoid literal -0.0.
57574         * tests/test-isnanl.h (zero): New variable.
57575         (main): Avoid literal -0.0L.
57576         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57577         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57578         -0.0, -0.0L.
57579         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57580         (test_signbitd): Avoid literal -0.0.
57581         (test_signbitl): Avoid literal -0.0L.
57582         * tests/test-ceilf1.c (zero): New variable.
57583         (main): Avoid literal -0.0f.
57584         * tests/test-ceill.c (zero): New variable.
57585         (main): Avoid literal -0.0L.
57586         * tests/test-floorf1.c (zero): New variable.
57587         (main): Avoid literal -0.0f.
57588         * tests/test-floorl.c (zero): New variable.
57589         (main): Avoid literal -0.0L.
57590         * tests/test-roundf1.c (zero): New variable.
57591         (main): Avoid literal -0.0f.
57592         * tests/test-round1.c (zero): New variable.
57593         (main): Avoid literal -0.0.
57594         * tests/test-roundl.c (zero): New variable.
57595         (main): Avoid literal -0.0L.
57596         * tests/test-truncf1.c (zero): New variable.
57597         (main): Avoid literal -0.0f.
57598         * tests/test-trunc1.c (zero): New variable.
57599         (main): Avoid literal -0.0.
57600         * tests/test-truncl.c (zero): New variable.
57601         (main): Avoid literal -0.0L.
57602         * tests/test-frexp.c (zero): New variable.
57603         (main): Avoid literal -0.0.
57604         * tests/test-frexpl.c (zero): New variable.
57605         (main): Avoid literal -0.0L.
57606         * tests/test-ldexpl.c (zero): New variable.
57607         (main): Avoid literal -0.0L.
57608         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57609         (zerod, zerol): New variables.
57610         (test_function): Avoid literals -0.0, -0.0L.
57611         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57612         (zerod, zerol): New variables.
57613         (test_function): Avoid literals -0.0, -0.0L.
57614         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57615         (zerod, zerol): New variables.
57616         (test_function): Avoid literals -0.0, -0.0L.
57617         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57618         (zerod, zerol): New variables.
57619         (test_function): Avoid literals -0.0, -0.0L.
57620         * tests/test-strtod.c (zero): New variable.
57621         (main): Avoid literal -0.0.
57622         Reported by Jonathan C. Patschke <jp@centtech.com>.
57623
57624 2008-07-31  Jim Meyering  <meyering@redhat.com>
57625
57626         sha256.h: correct definition of SHA224_DIGEST_SIZE
57627         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57628         Reported by Paulie Pena IV <paulie4@gmail.com>.
57629         Define as 224 / 8, rather than as a literal.
57630         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57631         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57632         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57633
57634 2008-07-31  Bruno Haible  <bruno@clisp.org>
57635
57636         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57637         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57638         Reported by Jonathan Patschke <jp@centtech.com>.
57639
57640 2008-07-31  Bruno Haible  <bruno@clisp.org>
57641
57642         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57643         Reported by Paolo Bonzini <bonzini@gnu.org>.
57644
57645 2008-07-30  Eric Blake  <ebb9@byu.net>
57646
57647         test-strtod: allow compilation without -lm
57648         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57649         Reported by Dennis Clarke <blastwave@gmail.com>.
57650
57651 2008-07-28  Jim Meyering  <meyering@redhat.com>
57652
57653         bootstrap: work also when there are no .po files in po/
57654         * build-aux/bootstrap (update_po_files): Complete the change
57655         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57656
57657 2008-07-27  Jim Meyering  <meyering@redhat.com>
57658
57659         * users.txt: Add zile.
57660
57661 2008-07-26  Ben Pfaff  <blp@gnu.org>
57662
57663         Add missing dependencies on new m4/exponent[fdl].m4 files.
57664         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57665         * modules/isnand-nolibm: Add m4/exponentd.m4.
57666         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57667         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57668         m4/isnan[fdl].m4, because the macros actually used moved.
57669         Reported by Jim Meyering.
57670
57671 2008-07-14  Ben Pfaff  <blp@gnu.org>
57672
57673         Add isinf module.
57674         * lib/isinf.c: New file.
57675         * lib/math.in.h: Define isinf macro if we have decided to replace
57676         it.
57677         * m4/isinf.m4: New file.
57678         * m4/math_h.m4: Initialize and substitute variables for isinf
57679         module.
57680         * modules/isinf: New file.
57681         * modules/isinf-tests: New file.
57682         * modules/math: Add substitutions for new module.
57683         * tests/test-isinf.c: New file.
57684         * doc/posix-functions/isinf.texi: Mention new module.
57685         * MODULES.html.sh: Mention new module.
57686
57687 2008-07-14  Ben Pfaff  <blp@gnu.org>
57688
57689         Factor out some macros for use by additional modules.
57690         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57691         exponentf.m4.
57692         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57693         exponentd.m4.
57694         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57695         file exponentl.m4.
57696         * m4/exponentf.m4: New file.
57697         * m4/exponentd.m4: New file.
57698         * m4/exponentl.m4: New file.
57699         * modules/isnanf: Use new file m4/exponentf.m4.
57700         * modules/isnand: Use new file m4/exponentd.m4.
57701         * modules/isnanl: Use new file m4/exponentl.m4.
57702
57703 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57704
57705         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57706         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57707         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57708         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57709
57710         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57711         readlink on platforms without PATH_MAX.
57712
57713 2008-07-21  Eric Blake  <ebb9@byu.net>
57714
57715         Warn, not fail, on stale version.
57716         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57717
57718         Don't allow installation with stale devel version number.
57719         * top/GNUmakefile (_is-install-target): New macro.
57720         (_curr-ver): Forbid installation with stale version number.
57721
57722 2008-07-20  Bruno Haible  <bruno@clisp.org>
57723
57724         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57725         TESTS_ENVIRONMENT.
57726         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57727
57728 2008-07-20  Bruno Haible  <bruno@clisp.org>
57729
57730         * lib/c-stack.h (c_stack_action): Add documentation.
57731         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57732
57733 2008-07-20  Bruno Haible  <bruno@clisp.org>
57734
57735         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57736         * modules/readlink (License): Likewise.
57737
57738 2008-07-17  Eric Blake  <ebb9@byu.net>
57739
57740         * modules/c-stack (Link): Fix typo.
57741
57742         Make c-stack use libsigsegv, when available.
57743         * modules/c-stack (Depends-on): Add libsigsegv.
57744         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57745         needed.
57746         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57747         (segv_handler, overflow_handler, c_stack_action)
57748         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57749         implementation when libsigsegv is available, but only when using
57750         the library is necessary.
57751         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57752         comment, explaining why XSI check fails on Linux.
57753         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57754         * tests/test-c-stack2.sh: Tweak skip message.
57755         * NEWS: Document new link-time requirements.
57756
57757 2008-07-16  Eric Blake  <ebb9@byu.net>
57758
57759         c-stack: Expose false positives when not using libsigsegv.
57760         * modules/c-stack-tests (Files): Expand test.
57761         * tests/test-c-stack.c (main): Add means to conditionally trigger
57762         non-overflow SIGSEGV.
57763         * tests/test-c-stack2.sh: New file.
57764
57765 2008-07-14  Bruno Haible  <bruno@clisp.org>
57766
57767         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
57768         Reported by Eric Blake.
57769
57770 2008-07-14  Sam Steingold  <sds@gnu.org>
57771             Bruno Haible  <bruno@clisp.org>
57772
57773         New module libsigsegv.
57774         * modules/libsigsegv: New file.
57775         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
57776         modifications.
57777         * MODULES.html.sh (Signal handling): New section.
57778
57779 2008-07-14  Bruno Haible  <bruno@clisp.org>
57780
57781         * modules/unictype/ctype-* (Description): Add the word "function".
57782         Improves the resulting doc in MODULES.html.
57783
57784 2008-07-12  Ben Pfaff  <blp@gnu.org>
57785
57786         Add longlong module.
57787         * modules/longlong: New file.
57788
57789 2008-07-12  Bruno Haible  <bruno@clisp.org>
57790
57791         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
57792         to empty.
57793
57794 2008-07-10  Ben Pfaff  <blp@gnu.org>
57795
57796         Add isnan module.
57797         * doc/posix-functions/isnan.texi: Mention new module.
57798         * lib/math.in.h: Define isnan macro if we have decided to replace
57799         it.
57800         * m4/isnan.m4: New file.
57801         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
57802         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
57803         also.
57804         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
57805         redundancy.
57806         * m4/math_h.m4: Initialize and substitute variables for isnan
57807         module.
57808         * modules/isnan: New file.
57809         * modules/isnan-tests: New file.
57810         * modules/math: Add substitutions for new module.
57811         * tests/test-isnan.c: New file.
57812         * MODULES.html.sh: Mention new module.
57813
57814 2008-07-10  Ben Pfaff  <blp@gnu.org>
57815
57816         Add isnanf module.
57817         * lib/isnanf.m4: New file.
57818         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
57819         (gl_HAVE_ISNANF_IN_LIBM): New macro.
57820         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
57821         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
57822         * modules/isnanf: New file.
57823         * modules/isnanf-tests: New file.
57824         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
57825         files.
57826         * tests/test-isnanf-nolibm.c: factored most of its contents into
57827         new file tests/test-isnanf.h.
57828         * tests/test-isnanf.h: New file.
57829         * tests/test-isnanf.c: New file.
57830         * MODULES.html.sh: Mention new module.
57831         * doc/glibc-functions/isnanf.texi: Mention new module.
57832
57833 2008-07-10  Ben Pfaff  <blp@gnu.org>
57834
57835         Add isnand module.
57836         * lib/isnand.h: New file.
57837         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
57838         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
57839         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
57840         functionality also.
57841         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
57842         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
57843         (gl_HAVE_ISNAND_IN_LIBM): New macro.
57844         * modules/isnand: New file.
57845         * modules/isnand-tests: New file.
57846         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
57847         files.
57848         * tests/test-isnand-nolibm.c: factored most of its contents into
57849         new file tests/test-isnand.h.
57850         * tests/test-isnand.h: New file.
57851         * tests/test-isnand.c: New file.
57852         * MODULES.html.sh: Mention new module.
57853
57854 2008-07-10  Ben Pfaff  <blp@gnu.org>
57855
57856         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
57857         * lib/isnand.h: Rename lib/isnand-nolibm.h.
57858         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
57859         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
57860         * modules/isnanf-nolibm: Update references to renamed files.
57861         * modules/isnand-nolibm: Likewise.
57862         * modules/isnanf-nolibm-tests: Likewise.
57863         * modules/isnand-nolibm-tests: Likewise.
57864         * lib/frexp.c: Likewise.
57865         * lib/isfinite.c: Likewise.
57866         * lib/signbitd.c: Likewise.
57867         * lib/signbitf.c: Likewise.
57868         * lib/vasnprintf.c: Likewise.
57869         * tests/test-ceilf1.c: Likewise.
57870         * tests/test-ceilf2.c: Likewise.
57871         * tests/test-floorf1.c: Likewise.
57872         * tests/test-floorf2.c: Likewise.
57873         * tests/test-frexp.c: Likewise.
57874         * tests/test-round1.c: Likewise.
57875         * tests/test-round2.c: Likewise.
57876         * tests/test-roundf1.c: Likewise.
57877         * tests/test-strtod.c: Likewise.
57878         * tests/test-trunc1.c: Likewise.
57879         * tests/test-trunc2.c: Likewise.
57880         * tests/test-truncf1.c: Likewise.
57881         * tests/test-truncf2.c: Likewise.
57882         * NEWS: Mention the renamed header files.
57883
57884 2008-07-11  Jim Meyering  <meyering@redhat.com>
57885
57886         vc-list-files: make the last-resort awk code more portable
57887         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
57888         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
57889         does not support it.
57890
57891 2008-07-10  Eric Blake  <ebb9@byu.net>
57892
57893         Work with tar's bootstrap.
57894         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
57895         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
57896         an m4 comment.
57897
57898 2008-07-09  Jim Meyering  <meyering@redhat.com>
57899
57900         posix-shell.m4: fix typo that made this test malfunction
57901         * m4/posix-shell.m4: Remove capitalization in variable name.
57902
57903 2008-07-08  Bruno Haible  <bruno@clisp.org>
57904
57905         * m4/onceonly.m4: Update comments.
57906         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57907
57908 2008-07-04  Jim Meyering  <meyering@redhat.com>
57909
57910         * users.txt: Add vc-dwim.
57911         (bison, coreutils): Use the gitweb URL.
57912
57913 2008-07-03  Jim Meyering  <meyering@redhat.com>
57914
57915         * users.txt: Add libffcall.  From Sam Steingold.
57916
57917 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
57918
57919         getdate.y: do not ignore TZ with relative day, month or year offset
57920         * lib/getdate.y (get_date): Move the tz-handling block to follow the
57921         relative-date-handling, since otherwise, the latter would clobber the
57922         sole output (an updated Start value) of the tz-handling block.
57923         * tests/test-getdate.c: Tests for the fix
57924
57925 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57926
57927         Recognize 'foo_LIBRARIES += libgnu.a'.
57928         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
57929         makefile snippet has already specified an installation location,
57930         also using '+='.
57931
57932 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
57933
57934         getdate.y: factor out common actions
57935         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57936         Use them in place of open-coded actions.
57937
57938 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57939
57940         Add self-test for getdate module.
57941         * modules/getdate-tests: New file.
57942         * tests/test-getdate.c: New file.
57943
57944 2008-06-29  Bruno Haible  <bruno@clisp.org>
57945
57946         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
57947         .gitignore.
57948         Reported by Sylvain Beucler <beuc@beuc.net>.
57949
57950 2008-06-29  Bruno Haible  <bruno@clisp.org>
57951
57952         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
57953         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
57954
57955 2008-06-29  Bruno Haible  <bruno@clisp.org>
57956
57957         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
57958         EXTRA_DIST.
57959         Reported by Sylvain Beucler <beuc@beuc.net>.
57960
57961 2008-06-26  Jim Meyering  <meyering@redhat.com>
57962
57963         make several modules depend on the "open" module
57964         This provides slightly increased consistency when opening-for-write
57965         the name of a non-directory spelled with a trailing slash.
57966         * modules/chdir-safer: Likewise.
57967         * modules/chown: Likewise.
57968         * modules/clean-temp: Likewise.
57969         * modules/copy-file: Likewise.
57970         * modules/fchdir: Likewise.
57971         * modules/fcntl-safer: Likewise.
57972         * modules/pipe: Likewise.
57973         * modules/utime: Likewise.
57974         Prompted by Eric Blake and Bruno Haible.
57975
57976 2008-06-24  Andreas Schwab  <schwab@suse.de>
57977
57978         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
57979         literals can be used as initializers for global variables.
57980
57981 2008-06-23  Eric Blake  <ebb9@byu.net>
57982
57983         Make gnulib-cache.m4 easier to diff.
57984         * gnulib-tool (func_import): Allow newlines when reading cached
57985         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
57986
57987 2008-06-23  Bruno Haible  <bruno@clisp.org>
57988
57989         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
57990         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
57991         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
57992         m4/signalblocking.m4.
57993         (gl_PREREQ_SIGACTION): Don't invoke it.
57994         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
57995         gl_PREREQ_SIG_HANDLER_H.
57996         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57997         Don't check for sigaction here.
57998
57999 2008-06-23  Bruno Haible  <bruno@clisp.org>
58000
58001         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58002         (install_handlers): Don't set the SA_RESETHAND flag.
58003
58004 2008-06-23  Bruno Haible  <bruno@clisp.org>
58005
58006         * m4/sigaction.m4: Comment fixes.
58007         * lib/signal.in.h: Likewise.
58008
58009 2008-06-23  Eric Blake  <ebb9@byu.net>
58010
58011         Fix typo.
58012         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58013
58014         Avoid SA_ namespace.
58015         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58016         Reported by Ralf Wildenhues.
58017
58018         Avoid test failure due to SA_RESTORER.
58019         * tests/test-sigaction.c (SA_MASK): New macro.
58020         (main): Avoid failing due to extension flags being set.
58021         Reported by Jim Meyering.
58022
58023         Revert use of sig-handler.h in sigprocmask.c.
58024         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58025         it requires the existence of struct sigaction.
58026         * lib/sigprocmask.c (handler_t): Restore typedef.
58027         (rpl_signal, old_handlers): Use local type.
58028
58029 2008-06-22  Bruno Haible  <bruno@clisp.org>
58030
58031         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58032         conditionally.
58033         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58034
58035 2008-06-22  Bruno Haible  <bruno@clisp.org>
58036
58037         * doc/posix-functions/siginterrupt.texi: Move note.
58038
58039         * lib/signal.in.h (SA_RESTART): New macro.
58040         * lib/sigaction.c: Update comment.
58041
58042         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58043
58044         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58045         (gl_PREREQ_SIGPROCMASK): Invoke it.
58046         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58047
58048         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58049
58050         * lib/sigprocmask.c: Update a comment.
58051
58052 2008-06-21  Eric Blake  <ebb9@byu.net>
58053
58054         Use sigaction module rather than signal().
58055         * modules/c-stack (Depends-on): Add sigaction.
58056         * modules/fatal-signal (Depends-on): Likewise.
58057         * modules/nanosleep (Depends-on): Likewise.
58058         * modules/sigprocmask (Files): Add sig-handler.h.
58059         * modules/sigaction (Files): Likewise.
58060         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58061         Eggert.
58062         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58063         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58064         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58065         (init_fatal_signals): Likewise.
58066         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58067         (siginterrupt): Delete fallback.
58068         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58069         instead.
58070         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58071         siginterrupt.
58072
58073         New module sigaction, for mingw.
58074         * modules/sigaction: New module...
58075         * modules/sigaction-tests: ...and its test.
58076         * m4/sigaction.m4: New file.
58077         * lib/sigaction.c: Likewise.
58078         * tests/test-sigaction.c: Likewise.
58079         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58080         * modules/signal (Makefile.am): Likewise.
58081         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58082         needed.
58083         * doc/posix-headers/signal.texi (signal.h): Mention provided
58084         types.
58085         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58086         that sigaction is preferable.
58087         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58088         module.
58089         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58090         sigaction.
58091
58092         Improve robustness of sigprocmask by overriding signal.
58093         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58094         is in use.
58095         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58096         (SIGKILL, SIGSTOP): Provide fallbacks.
58097         (rpl_signal): Implement.
58098         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58099         signal can be called inside handlers.
58100
58101         Fix nanosleep module on mingw.
58102         * modules/nanosleep (Depends-on): Add sys_select.
58103         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58104
58105         Fix licensing of sigprocmask.
58106         * modules/raise (License): Relicense as LGPL.
58107
58108 2008-06-21  Bruno Haible  <bruno@clisp.org>
58109
58110         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58111         result if it contains question marks.
58112         Reported by Michael Geng <linux@michaelgeng.de>.
58113
58114 2008-06-19  Bruno Haible  <bruno@clisp.org>
58115
58116         Fix CVS-ism.
58117         * doc/gnulib.texi: Include updated-stamp.texi.
58118         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58119         (updated-stamp.texi): New rule.
58120         (gnulib.info): Depend on it.
58121         * doc/.gitignore: Add updated-stamp.texi.
58122         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58123
58124 2008-06-19  Bruno Haible  <bruno@clisp.org>
58125
58126         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58127         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58128
58129 2008-06-19  Eric Blake  <ebb9@byu.net>
58130
58131         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58132         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58133         Reported by Stepan Kasal.
58134
58135 2008-06-18  Bruno Haible  <bruno@clisp.org>
58136
58137         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58138         Reported by Eric Blake.
58139
58140 2008-06-18  Eric Blake  <ebb9@byu.net>
58141
58142         Work around cygwin 1.5.25 strsignal bug.
58143         * tests/test-strsignal.c: Allow for const char *.
58144         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58145
58146 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58147
58148         * users.txt: Update URL to article and add author/date
58149         information.
58150
58151 2008-06-17  Bruno Haible  <bruno@clisp.org>
58152
58153         New macro gl_DISABLE_THREADS.
58154         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58155         if the user did not pass --enable-threads or --disable-threads option.
58156         (gl_DISABLE_THREADS): New macro.
58157         Reported by Eric Blake <ebb9@byu.net>.
58158
58159 2008-06-17  Bruno Haible  <bruno@clisp.org>
58160
58161         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58162         when the macro ignores it.
58163         Based on a patch by Eric Blake <ebb9@byu.net>.
58164
58165 2008-06-17  Bruno Haible  <bruno@clisp.org>
58166
58167         * modules/tls (License): Change to LGPLv2+.
58168         Reported by Eric Blake.
58169
58170 2008-06-17  Eric Blake  <ebb9@byu.net>
58171
58172         Simplify c-stack prerequisites.
58173         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58174         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58175         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58176         check.
58177         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58178         <sys/resource.h>.
58179
58180         Move c-stack test into testsuite.
58181         * modules/c-stack-tests: New file.
58182         * lib/c-stack.c [DEBUG]: Move test program...
58183         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58184         fail test if sigaltstack is lacking.
58185         * tests/test-c-stack.sh: New driver file.
58186
58187 2008-06-16  Eric Blake  <ebb9@byu.net>
58188
58189         Use raise module consistently.
58190         * modules/fatal-signal (Depends-on): Add raise.
58191         * modules/sigprocmask (Depends-on): Likewise.
58192         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58193         * lib/sigprocmask.c (sigprocmask): Likewise.
58194         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58195         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58196
58197         Fix compliance bug in sigpending.
58198         * lib/sigprocmask.c (sigpending): Return pending array via
58199         parameter, not return value.
58200
58201 2008-06-14  Eric Blake  <ebb9@byu.net>
58202
58203         Improve obstack-printf test code.
58204         * tests/test-obstack-printf.c (test_function): Fix comment, and
58205         simplify usage of obstack_* in macros.  Add a test for coverage.
58206         Reported by Bruno Haible.
58207
58208 2008-06-14  Bruno Haible  <bruno@clisp.org>
58209
58210         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58211         array size as a constant, not as a const variable.
58212         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58213         AC_USE_SYSTEM_EXTENSIONS.
58214         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58215         Test whether the obstack_printf function actually exists.
58216         * modules/obstack-printf (Depends-on): Add extensions.
58217         (Include): Remove obstack.h.
58218         * modules/obstack-printf-posix (Depends-on): Add extensions.
58219         (Include): Remove obstack.h.
58220
58221 2008-06-13  Eric Blake  <ebb9@byu.net>
58222
58223         Add obstack-printf and obstack-printf-posix modules.
58224         * modules/obstack-printf: New file.
58225         * modules/obstack-printf-posix: Likewise.
58226         * MODULES.html.sh (Misc): Mention them.
58227         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58228         Likewise.
58229         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58230         Likewise.
58231         * modules/stdio (Makefile.am): Accomodate new modules.
58232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58233         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58234         Declare.
58235         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58236         functions.
58237         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58238         (gl_REPLACE_OBSTACK_PRINTF): New macros
58239         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58240         * tests/test-obstack-printf.c: New file.
58241         * modules/obstack-printf-tests: Likewise.
58242         * modules/obstack-printf-posix-tests: Likewise.
58243
58244 2008-06-11  Bruno Haible  <bruno@clisp.org>
58245
58246         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58247         * lib/open.c: Include errno.h.
58248         (open): Fail when attempting to write to a file that has a trailing
58249         slash.
58250         * tests/test-open.c (main): Test against trailing slash bug.
58251         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58252
58253 2008-06-10  Bruno Haible  <bruno@clisp.org>
58254
58255         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58256         for $? to work inside the trap command, with various /bin/sh-s.
58257         * tests/test-vc-list-files-cvs.sh: Likewise.
58258
58259 2008-06-10  Bruno Haible  <bruno@clisp.org>
58260
58261         * lib/acl-internal.h: Don't include gettext.h here.
58262         * lib/set-mode-acl.c: Include gettext.h here.
58263         * lib/copy-acl.c: Likewise.
58264
58265 2008-06-10  Bruno Haible  <bruno@clisp.org>
58266
58267         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58268         * lib/wait-process.c (wait_subprocess): Likewise.
58269         * lib/execute.h (execute): Add termsigp argument.
58270         * lib/execute.c (execute): Likewise.
58271         * lib/csharpcomp.c (compile_csharp_using_pnet,
58272         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58273         * lib/csharpexec.c (execute_csharp_using_pnet,
58274         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58275         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58276         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58277         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58278         is_jikes_present): Update.
58279         * lib/javaexec.c (execute_java_class): Update.
58280         * lib/javaversion.c (execute_and_read_line): Update.
58281         * NEWS: Document the changes.
58282         Reported by Eric Blake.
58283
58284 2008-06-10  Eric Blake  <ebb9@byu.net>
58285
58286         Add missing include.
58287         * tests/test-strstr.c (includes): Add <signal.h>.
58288         * tests/test-strcasestr.c (includes): Likewise.
58289         * tests/test-memmem.c (includes): Likewise.
58290
58291 2008-06-10  Bruno Haible  <bruno@clisp.org>
58292
58293         * lib/wait-process.c (wait_subprocess): Add an assertion.
58294
58295 2008-06-10  Bruno Haible  <bruno@clisp.org>
58296
58297         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58298
58299 2008-06-10  Bruno Haible  <bruno@clisp.org>
58300
58301         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58302         using alarm().
58303         * tests/test-strcasestr.c (main): Likewise.
58304         * tests/test-strstr.c (main): Likewise.
58305
58306 2008-06-09  Bruno Haible  <bruno@clisp.org>
58307
58308         Work around the Solaris 10 ACE ACLs ABI change.
58309         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58310         declare if ACL_NO_TRIVIAL is present.
58311         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58312         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58313         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58314         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58315         define if ACL_NO_TRIVIAL is present.
58316         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58317         and use the current ABI.
58318         (file_has_acl): Use same #if condition as elsewhere.
58319         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58320         in use, and use the current ABI.
58321         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58322         Reported by Jim Meyering.
58323
58324 2008-06-09  Eric Blake  <ebb9@byu.net>
58325
58326         Work around environments that (stupidly) ignore SIGALRM.
58327         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58328         before using alarm().
58329         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58330         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58331         Reported by Ian Beckwith <ianb@erislabs.net>.
58332
58333         Produce autobuild blurb earlier in log.
58334         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58335
58336 2008-06-09  Jim Meyering  <meyering@redhat.com>
58337         and OndÅ™ej Vašík  <ovasik@redhat.com>
58338
58339         utimens.c: correct kernel bug work-around
58340         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58341         failure, not success, and the kernel bug we're trying to work
58342         around affects not just the utimensat call, but also the fallback
58343         futimens call.
58344         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58345         not success.
58346         [HAVE_FUTIMENS]: Use the same work-around, here.
58347
58348 2008-06-09  Jim Meyering  <meyering@redhat.com>
58349
58350         add more guards around definition of ACE_-related code
58351         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58352         ALLOW and ACE_OWNER are also defined.
58353
58354 2008-06-08  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/acl-internal.h: Add me as co-author.
58357         * lib/file-has-acl.c: Likewise.
58358         * lib/set-mode-acl.c: Likewise.
58359         * lib/copy-acl.c: Likewise.
58360
58361 2008-06-08  Bruno Haible  <bruno@clisp.org>
58362
58363         Add support for AIX ACLs.
58364         * lib/acl-internal.h (acl_nontrivial): New declaration.
58365         * lib/file-has-acl.c (acl_nontrivial): New function.
58366         (file_has_acl): Add implementation using AIX 4 ACL API.
58367         * lib/set-mode-acl.c (qset_acl): Likewise.
58368         * lib/copy-acl.c (qcopy_acl): Likewise.
58369
58370 2008-06-08  Bruno Haible  <bruno@clisp.org>
58371
58372         Add support for HP-UX ACLs.
58373         * lib/acl-internal.h (acl_nontrivial): New declaration.
58374         * lib/file-has-acl.c (acl_nontrivial): New function.
58375         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58376         * lib/set-mode-acl.c (qset_acl): Likewise.
58377         * lib/copy-acl.c (qcopy_acl): Likewise.
58378
58379 2008-06-08  Bruno Haible  <bruno@clisp.org>
58380
58381         Add support for Cygwin ACLs.
58382         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58383         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58384         the chmod_or_fchmod call.
58385         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58386
58387 2008-06-08  Bruno Haible  <bruno@clisp.org>
58388
58389         Fix bug with setuid modes in Solaris 10+ code.
58390         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58391         succeeded, when the mode contains some special bits.
58392
58393 2008-06-08  Bruno Haible  <bruno@clisp.org>
58394
58395         Add support for Solaris 7..10 ACLs.
58396         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58397         declarations.
58398         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58399         functions.
58400         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58401         * lib/set-mode-acl.c (qset_acl): Likewise.
58402         * lib/copy-acl.c (qcopy_acl): Likewise.
58403
58404 2008-06-08  Bruno Haible  <bruno@clisp.org>
58405
58406         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58407         declaration.
58408         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58409         (acl_access_nontrivial): Remove MacOS X case.
58410         (file_has_acl): Use acl_extended_nontrivial.
58411         * lib/copy-acl.c (qcopy_acl): Likewise.
58412
58413 2008-06-08  Bruno Haible  <bruno@clisp.org>
58414
58415         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58416
58417 2008-06-08  Jim Meyering  <meyering@redhat.com>
58418
58419         * modules/acl (Maintainer): Add Bruno Haible.
58420
58421 2008-06-07  Bruno Haible  <bruno@clisp.org>
58422
58423         Improve support for Tru64 ACLs.
58424         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58425         ACL on OSF/1.
58426
58427 2008-06-07  Bruno Haible  <bruno@clisp.org>
58428
58429         Add support for MacOS X ACLs.
58430         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58431         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58432         * lib/set-mode-acl.c (qset_acl): Likewise.
58433         * lib/copy-acl.c (qcopy_acl): Likewise.
58434
58435 2008-06-07  Bruno Haible  <bruno@clisp.org>
58436
58437         Fix memory leak introduced on 2008-05-22.
58438         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58439         use.
58440
58441 2008-06-07  Bruno Haible  <bruno@clisp.org>
58442
58443         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58444         to construct an empty ACL.
58445
58446 2008-06-07  Bruno Haible  <bruno@clisp.org>
58447
58448         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58449         precisely.
58450         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58451
58452 2008-06-07  Bruno Haible  <bruno@clisp.org>
58453
58454         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58455         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58456
58457 2008-06-07  Bruno Haible  <bruno@clisp.org>
58458
58459         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58460         regardless of POSIX.
58461         * doc/posix-functions/_longjmp.texi: Likewise.
58462         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58463         SystemV platform in this case.
58464
58465 2008-06-06  Eric Blake  <ebb9@byu.net>
58466
58467         Document abort() bugs.
58468         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58469
58470         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58471         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58472         sigsetjmp.
58473         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58474         siglongjmp, but only as a macro.
58475         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58476         is obsolete.
58477         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58478
58479         Tweak documentation to cover cygwin argz bugs.
58480         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58481         argz bug fix; no code change needed since no cygwin releases
58482         occurred between the last fix and the bug being tested.
58483         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58484         module and recently fixed cygwin bugs.
58485         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58486         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58487         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58488         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58489         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58490         Likewise.
58491         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58492         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58493         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58494         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58495         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58496         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58497         Likewise.
58498
58499         Avoid gcc warning on cygwin.
58500         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58501         !ACL_NO_TRIVIAL]: Avoid unused variable.
58502
58503 2008-06-05  Eric Blake  <ebb9@byu.net>
58504
58505         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58506         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58507         git-version-gen fails to come up with a version.
58508         Reported by Simon Josefsson.
58509
58510 2008-06-05  Jim Meyering  <meyering@redhat.com>
58511             Paul Eggert  <eggert@cs.ucla.edu>
58512
58513         utimens.c: work around a probable Linux kernel bug
58514         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58515         appears to be a kernel bug that causes utimensat to return 280
58516         instead of 0, indicating success.
58517
58518 2008-06-04  Bruno Haible  <bruno@clisp.org>
58519
58520         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58521         2008-06-01 commit.
58522
58523 2008-06-04  Bruno Haible  <bruno@clisp.org>
58524
58525         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58526         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58527         (file_has_acl): Use it. Save errno afterwards.
58528         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58529
58530 2008-06-03  Bruno Haible  <bruno@clisp.org>
58531
58532         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58533         draft code. Simplify #ifs.
58534         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58535         Put Solaris code after POSIX-draft code. Fix comments regarding
58536         Solaris 10, HP-UX. Mention Cygwin.
58537         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58538
58539 2008-06-03  Eric Blake  <ebb9@byu.net>
58540
58541         Provide fallback for older kernels.
58542         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58543         Provide runtime fallback if kernel lacks support.
58544         Reported by Mike Frysinger.
58545
58546 2008-06-02  Bruno Haible  <bruno@clisp.org>
58547
58548         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58549         it exists.
58550
58551 2008-06-02  Bruno Haible  <bruno@clisp.org>
58552
58553         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58554         * lib/copy-acl.c (qcopy_acl): Update comment.
58555
58556 2008-06-02  Bruno Haible  <bruno@clisp.org>
58557
58558         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58559         like ACL APIs.
58560
58561 2008-06-02  Bruno Haible  <bruno@clisp.org>
58562
58563         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58564         * tests/test-set-mode-acl.sh: Likewise.
58565         * tests/test-copy-acl.sh: Likewise.
58566         * tests/test-copy-file.sh: Likewise.
58567
58568 2008-06-02  Bruno Haible  <bruno@clisp.org>
58569
58570         * tests/test-file-has-acl.sh: Remove unused code.
58571
58572 2008-06-01  Bruno Haible  <bruno@clisp.org>
58573
58574         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58575         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58576         messages.
58577         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58578
58579 2008-06-01  Bruno Haible  <bruno@clisp.org>
58580
58581         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58582         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58583         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58584         APIs.
58585         * modules/acl-tests (configure.ac): Remove tests now contained in
58586         m4/acl.m4.
58587
58588 2008-06-02  Jim Meyering  <meyering@redhat.com>
58589
58590         announce-gen: use a better key-server host name
58591         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58592         it may be more consistently reliable.  Suggested by Werner Koch
58593         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58594
58595 2008-06-01  Bruno Haible  <bruno@clisp.org>
58596
58597         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58598         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58599
58600 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58601
58602         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58603
58604 2008-06-01  Bruno Haible  <bruno@clisp.org>
58605
58606         New ACL tests.
58607         * tests/test-file-has-acl.sh: New file.
58608         * tests/test-file-has-acl.c: New file.
58609         * tests/test-set-mode-acl.sh: New file.
58610         * tests/test-set-mode-acl.c: New file.
58611         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58612         * tests/test-copy-acl.c: New file.
58613         * modules/acl-tests: New file, based on modules/copy-file-tests.
58614         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58615         (Depends-on): Add acl-tests.
58616         (configure.ac): Remove checks.
58617         (Makefile.am): Don't create test-sameacls program here any more.
58618
58619 2008-06-01  Bruno Haible  <bruno@clisp.org>
58620
58621         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58622         * tests/test-sameacls.c: Include progname.h.
58623         (main): Invoke set_program_name. Portability fixes for MacOS X,
58624         Solaris, HP-UX.
58625
58626 2008-06-01  Bruno Haible  <bruno@clisp.org>
58627
58628         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58629         function.
58630         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58631
58632 2008-06-01  Bruno Haible  <bruno@clisp.org>
58633
58634         * modules/rpmatch (Depends-on): Add strdup.
58635
58636 2008-06-01  Bruno Haible  <bruno@clisp.org>
58637
58638         * lib/pipe.c: Include unistd-safer.h.
58639         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58640         * modules/pipe (Depends-on): Add unistd-safer.
58641
58642 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58643
58644         * modules/autobuild (configure.ac): Call AB_INIT.
58645
58646 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58647
58648         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58649         Suggested by Bruno Haible <bruno@clisp.org>.
58650
58651 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58652
58653         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58654         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58655         <bruno@clisp.org>.
58656
58657 2008-05-29  Eric Blake  <ebb9@byu.net>
58658
58659         Prefer new POSIX 200x interfaces over futimesat.
58660         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58661         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58662         when available.
58663         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58664
58665 2008-05-28  Bruno Haible  <bruno@clisp.org>
58666
58667         * modules/stpcpy (License): Change to LGPLv2+.
58668         Requested by David Lutterkort <dlutter@redhat.com>.
58669
58670 2008-05-27  Bruno Haible  <bruno@clisp.org>
58671
58672         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58673         current mingw.
58674         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58675
58676 2008-05-27  Bruno Haible  <bruno@clisp.org>
58677
58678         * modules/iconv_open (Link): New section, from module 'iconv'.
58679         * modules/striconv (Link): Likewise.
58680         * modules/striconveh (Link): Likewise.
58681         * modules/xstriconv (Link): Likewise.
58682         * modules/unicodeio (Link): Likewise.
58683         * modules/propername (Link): Likewise.
58684         Reported by Jim Meyering.
58685
58686 2008-05-26  Jim Meyering  <meyering@redhat.com>
58687
58688         sha256: do not artificially restrict buffer length to be < 2^32
58689         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58690         uint32_t to size_t.
58691         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58692         to match.
58693
58694         avoid unaligned access errors, e.g., on sparc
58695         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58696         direct access through a possibly-unaligned uint64* pointer.
58697         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58698         direct access through a possibly-unaligned uint32* pointer.
58699         Prompted by this patch from Tom "spot" Callaway:
58700         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58701
58702         sha512.c: fix typo in comment
58703         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58704
58705 2008-05-25  Bruno Haible  <bruno@clisp.org>
58706
58707         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58708         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58709         (Makefile.am): Update lib_SOURCES.
58710
58711 2008-05-25  Bruno Haible  <bruno@clisp.org>
58712
58713         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58714
58715 2008-05-25  Jim Meyering  <meyering@redhat.com>
58716
58717         useless-if-before-free: freed expr may have white-space differences
58718         * build-aux/useless-if-before-free: Recognize cases in which the
58719         freed expression differs from the tested one in embedded white
58720         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58721         $1 was used, so we can't make any regexp shy.  Improved tests now
58722         detect this.
58723
58724         useless-if-before-free: accept white space in the expression.
58725         * build-aux/useless-if-before-free: For now, any white space
58726         in the expression must be identical in the free argument.
58727
58728         useless-if-before-free: efficiency tweak
58729         * build-aux/useless-if-before-free: Make the expression-matching
58730         regexp "shy".
58731         Make the *outer* regexp shy, not the expr-matching one.
58732
58733         update code-in-comment to accept cast of free arg
58734         * build-aux/useless-if-before-free: Update regexp.
58735
58736 2008-05-25  Bruno Haible  <bruno@clisp.org>
58737
58738         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58739         * modules/copy-file-tests (Files, Makefile.am): Update.
58740         * tests/test-copy-file.c (func_test_copy): Update.
58741
58742 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58743
58744         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58745
58746 2008-05-23  Bruno Haible  <bruno@clisp.org>
58747
58748         Improve support for ACLs on OSF/1.
58749         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58750         Remove fallback for unknown flavors of ACLs.
58751
58752 2008-05-22  Bruno Haible  <bruno@clisp.org>
58753
58754         Add support for ACLs on OSF/1.
58755         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58756         replacements.
58757         (acl_free_text): New macro fallback.
58758         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58759         acl_free.
58760         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58761         acl_free_text function. Require AC_C_INLINE.
58762
58763 2008-05-22  Bruno Haible  <bruno@clisp.org>
58764
58765         Make copy_acl work on MacOS X 10.5.
58766         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
58767         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
58768         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
58769         If MODE_INSIDE_ACL, don't assume that every system has the same text
58770         representation for ACLs as FreeBSD.
58771         * lib/copy-acl.c (copy_acl): Add support for platforms with
58772         !MODE_INSIDE_ACL.
58773         * lib/file-has-acl.c (file_has_acl): Likewise.
58774         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
58775         FreeBSD, MacOS X, or IRIX, respectively.
58776
58777 2008-05-22  Bruno Haible  <bruno@clisp.org>
58778
58779         * lib/acl.h: Don't include <sys/acl.h>.
58780         (GETACLCNT): Move fallback to lib/acl-internal.h.
58781         * lib/acl-internal.h: Include <sys/acl.h> here.
58782         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
58783
58784 2008-05-22  Bruno Haible  <bruno@clisp.org>
58785
58786         Split off copy_acl function to separate file.
58787         * lib/copy-acl.c: New file, extracted from lib/acl.c.
58788         * lib/acl.c (copy_acl): Moved function to separate file.
58789         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
58790         * modules/acl (Files): Add lib/copy-acl.c.
58791         (Makefiles.am): Augment lib_SOURCES.
58792
58793 2008-05-22  Bruno Haible  <bruno@clisp.org>
58794
58795         * modules/copy-file-tests: New file.
58796         * tests/test-copy-file.sh: New file.
58797         * tests/test-copy-file.c: New file.
58798         * tests/test-copy-file-sameacls.c: New file.
58799
58800 2008-05-22  Eric Blake  <ebb9@byu.net>
58801
58802         Avoid gcc warning.
58803         * tests/test-memcmp.c (main): Pass NULL indirectly.
58804
58805 2008-05-21  Bruno Haible  <bruno@clisp.org>
58806
58807         Add reference doc about ACLs.
58808         * doc/acl-resources.txt: New file.
58809         * doc/acl-cygwin.txt: New file.
58810
58811 2008-05-21  Bruno Haible  <bruno@clisp.org>
58812
58813         Avoid one more warning from gcc.
58814         * lib/vasnprintf.c (IF_LINT): Update comments.
58815         (VASNPRINTF): Use it also for the 'prefix' array initializer.
58816
58817 2008-05-21  Jim Meyering  <meyering@redhat.com>
58818
58819         avoid a warning from gcc
58820         * lib/vasnprintf.c (IF_LINT): Define.
58821         (scale10_round_decimal_long_double):
58822         Use it to avoid a "may be used uninitialized" warning.
58823         (scale10_round_decimal_double): Likewise.
58824
58825 2008-05-21  Simon Josefsson  <simon@josefsson.org>
58826
58827         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
58828         declared.
58829
58830 2008-05-20  Bruno Haible  <bruno@clisp.org>
58831
58832         * tests/test-memcmp.c (main): Test also the sign of the result. Test
58833         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
58834
58835 2008-05-20  Simon Josefsson  <simon@josefsson.org>
58836
58837         * modules/memcmp-tests: New file.
58838         * tests/test-memcmp.c: New file.
58839
58840 2008-05-19  Bruno Haible  <bruno@clisp.org>
58841
58842         * modules/propername (Notice, configure.ac): Put quoted "..." into
58843         --keyword option.
58844         * lib/propername.h: Update comments accordingly.
58845         Reported by Eric Blake.
58846
58847 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
58848
58849         * modules/getpass-gnu (Depends-on): Add fseeko.
58850
58851 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58852
58853         * modules/base64-tests: New file.
58854
58855 2008-05-19  Bo Borgerson <gigabo@gmail.com>
58856
58857         * lib/base64.c (base64_decode_ctx): If a decode context structure
58858         was passed in use it to ignore newlines.  If a context structure
58859         was _not_ passed in, continue to treat newlines as garbage (this
58860         is the historical behavior).  Formerly base64_decode.
58861         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58862         takes a decode context structure.
58863         * lib/base64.h (base64_decode): Macro for four-argument calls.
58864         (base64_decode_alloc): Likewise.
58865         * lib/base64.c (base64_decode_ctx): If a decode context structure
58866         was passed in use it to ignore newlines.  If a context structure
58867         was _not_ passed in, continue to treat newlines as garbage (this
58868         is the historical behavior).  Formerly base64_decode.
58869         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58870         takes a decode context structure.
58871         * lib/base64.h (base64_decode): Macro for four-argument calls.
58872         (base64_decode_alloc): Likewise.
58873
58874 2008-05-19  Jim Meyering  <meyering@redhat.com>
58875
58876         avoid a warning from gcc
58877         * lib/trim.c (IF_LINT): Define.
58878         (trim2): Use it to avoid a "may be used uninitialized" warning.
58879
58880         Fix doc typo.
58881         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
58882
58883 2008-05-19  Bruno Haible  <bruno@clisp.org>
58884
58885         * doc/glibc-functions/getpass.texi: Document limits of other
58886         implementations.
58887
58888 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58889             Bruno Haible <bruno@clisp.org>
58890
58891         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
58892
58893 2008-05-18  Bruno Haible  <bruno@clisp.org>
58894
58895         * modules/propername: New file, from GNU gettext.
58896         * lib/propername.h: New file, from GNU gettext.
58897         * lib/propername.c: New file, from GNU gettext.
58898         * MODULES.html.sh (Internationalization functions): Add propername.
58899
58900 2008-05-16  Jim Meyering  <meyering@redhat.com>
58901             Bruno Haible  <bruno@clisp.org>
58902
58903         Avoid some warnings from "gcc -Wshadow".
58904         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
58905
58906 2008-05-15  Eric Blake  <ebb9@byu.net>
58907
58908         Extend previous patch to cygwin 1.7.0.
58909         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
58910         fast implementation in cygwin >= 1.7.0.
58911         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58912         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58913
58914 2008-05-15  Bruno Haible  <bruno@clisp.org>
58915
58916         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
58917         implementation in glibc >= 2.9.
58918         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58919         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58920
58921 2008-05-15  Bruno Haible  <bruno@clisp.org>
58922
58923         * MODULES.html.sh (Internationalization functions): Remove linebreak.
58924         (Unicode string functions): Add unilbrk/*.
58925         Reported by Karl Berry.
58926
58927 2008-05-15  Eric Blake  <ebb9@byu.net>
58928
58929         Fix violation of <stdbool.h> replacement in regex.
58930         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58931         * lib/regexec.c (re_search_internal): Likewise.
58932         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58933
58934 2008-05-15  Jim Meyering  <meyering@redhat.com>
58935
58936         avoid distracting test output when git or cvs is not found
58937         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58938         * tests/test-vc-list-files-git.sh: Likewise.
58939
58940 2008-05-15  Eric Blake  <ebb9@byu.net>
58941
58942         Glibc finally accepted the memmem speedup code, bugzilla #5514.
58943         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
58944         glibc version.
58945         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58946         * doc/posix-functions/strstr.texi (strstr): Likewise.
58947         * lib/str-two-way.h (MAX): Sychronize with glibc.
58948
58949 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
58950
58951         * lib/regcomp.c (optimize_utf8): Add a note on why we test
58952         opr.ctx_type.
58953         (calc_first): Initialize constraint field.
58954         (duplicate_node_closure): Use it instead of special casing ANCHORS.
58955         Fix grammar.
58956         (duplicate_node): Merge constraint field for all node types.
58957         (calc_eclosure_iter): Look at constraint field for all node types.
58958         * lib/regex_internal.c (create_cd_newstate): Don't look at
58959         opr.ctx_type.
58960
58961 2008-05-14  Bruno Haible  <bruno@clisp.org>
58962
58963         Help GCC to do better code generation.
58964         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
58965         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
58966         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
58967         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
58968         Declare with attribute 'malloc' if supported.
58969
58970 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
58971
58972         use "echo STR|wc -c" rather than unportable "expr length STR"
58973         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
58974         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
58975
58976 2008-05-14  Jim Meyering  <meyering@redhat.com>
58977
58978         use dd ibs=$n count=1 ... rather than less-portable head -c$n
58979         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
58980         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
58981         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
58982         via Collin Lasse.
58983
58984 2008-05-14  Eric Blake  <ebb9@byu.net>
58985
58986         Avoid quadratic growth in gl_LIBSOURCES.
58987         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
58988         Suggested by Bruno Haible.
58989
58990         Test xmemdup0.
58991         * modules/xmemdup0-tests: New file.
58992         * tests/test-xmemdup0.c: Likewise.
58993
58994 2008-05-13  Eric Blake  <ebb9@byu.net>
58995
58996         Split xmemdup0 into its own module.
58997         * modules/xmemdup0: New file.
58998         * lib/xmemdup0.h: Likewise.
58999         * lib/xmemdup0.c: Likewise.
59000         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59001         * lib/xalloc.h (xmemdup0): Remove.
59002         * lib/xmalloc.c (xmemdup0): Likewise.
59003
59004 2008-05-13  Eric Blake  <ebb9@byu.net>
59005             Bruno Haible  <bruno@clisp.org>
59006
59007         Reduce number of forks required during autoconf.
59008         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59009         and gl_LIBSOURCES_DIR.
59010         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59011         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59012         m4_syscmd per file.
59013         <m4_foreach_w>: Move...
59014         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59015
59016 2008-05-13  Eric Blake  <ebb9@byu.net>
59017
59018         * gnulib-tool: Fix various comment typos.
59019
59020 2008-05-12  Bruno Haible  <bruno@clisp.org>
59021
59022         Tailor the linebreaking algorithm.
59023         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59024
59025 2008-05-12  Bruno Haible  <bruno@clisp.org>
59026
59027         Update to Unicode 5.0.0.
59028         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59029         LBP_JV, LBP_JT. Redistribute values.
59030         (unilbrk_table): Change size.
59031         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59032         Unicode TR#14 rev. 22.
59033         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59034         LBP_JV, LBP_JT. Redistribute values.
59035         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59036         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59037         Update.
59038         * lib/unilbrk/lbrkprop1.h: Regenerated.
59039         * lib/unilbrk/lbrkprop2.h: Regenerated.
59040         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59041         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59042         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59043         Likewise.
59044         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59045         Likewise.
59046         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59047         result.
59048         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59049         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59050         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59051         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59052         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59053         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59054
59055 2008-05-11  Bruno Haible  <bruno@clisp.org>
59056
59057         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59058
59059 2008-05-11  Bruno Haible  <bruno@clisp.org>
59060
59061         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59062         * modules/unilbrk/gen-lbrk: New file.
59063
59064 2008-05-11  Bruno Haible  <bruno@clisp.org>
59065
59066         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59067         * m4/sha512.m4 (gl_SHA512): Likewise.
59068
59069 2008-05-11  Jim Meyering  <meyering@redhat.com>
59070
59071         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59072         * modules/crypto/sha256: New file.
59073         * modules/crypto/sha512: Likewise.
59074         * lib/sha256.c: Likewise.
59075         * lib/sha256.h: Likewise.
59076         * lib/sha512.c: Likewise.
59077         * lib/sha512.h: Likewise.
59078         * lib/u64.h: Likewise.
59079         * m4/sha256.m4: Likewise.
59080         * m4/sha512.m4: Likewise.
59081         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59082
59083 2008-05-10  Bruno Haible  <bruno@clisp.org>
59084
59085         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59086         (Input/Output <stdio.h>): Add xprintf.
59087         (Signal handling <signal.h>): Add strsignal.
59088         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59089         (Core language properties): Add func.
59090         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59091         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59092         strings.
59093         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59094         (Input/output): New section.
59095         (File system functions): Add openat-die, stat-macros.
59096         (Networking functions): Add sockets.
59097         (Unicode string functions): Add unictype/*.
59098         (Support for building libraries and executables): Add gperf.
59099         (Support for building documentation): Add agpl-3.0.
59100         (Misc): Add nocrash.
59101
59102 2008-05-10  Bruno Haible  <bruno@clisp.org>
59103
59104         * modules/unictype/gen-ctype: New file.
59105
59106 2008-05-10  Jim Meyering  <meyering@redhat.com>
59107
59108         Make chdir-safer.c more efficient on a system with no symlinks.
59109         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59110         also if ELOOP is zero.  Suggested by Bruno Haible.
59111
59112         Make chdir-safer.c slightly safer.
59113         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59114         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59115
59116         Avoid compile failure on systems without ELOOP (like mingw).
59117         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59118         Reported by Bruno Haible.
59119
59120 2008-05-10  Bruno Haible  <bruno@clisp.org>
59121
59122         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59123         (is_utf8_encoding): Use a case-insensitive comparison.
59124         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59125         streq.
59126
59127 2008-05-10  Bruno Haible  <bruno@clisp.org>
59128
59129         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59130         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59131         * lib/unilbrk/ulc-common.h (iconv_string_length,
59132         iconv_string_keeping_offsets): Remove declarations.
59133         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59134         Don't include <iconv.h>, streq.h, xsize.h.
59135         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59136         conversion.
59137         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59138         <iconv.h>, streq.h, xsize.h.
59139         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59140         conversion.
59141         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59142         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59143         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59144         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59145
59146 2008-05-10  Bruno Haible  <bruno@clisp.org>
59147
59148         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59149         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59150
59151         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59152         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59153
59154         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59155         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59156
59157         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59158         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59159
59160         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59161         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59162
59163         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59164         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59165
59166         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59167         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59168
59169         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59170         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59171
59172 2008-05-10  Bruno Haible  <bruno@clisp.org>
59173
59174         Split up 'linebreak' module.
59175         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59176         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59177         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59178         modifications.
59179         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59180         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59181         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59182         lib/linebreak.c.
59183         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59184         lib/linebreak.c.
59185         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59186         lib/linebreak.c.
59187         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59188         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59189         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59190         lib/linebreak.c.
59191         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59192         lib/linebreak.c.
59193         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59194         lib/linebreak.c.
59195         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59196         lib/linebreak.c.
59197         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59198         lib/linebreak.c.
59199         * modules/unilbrk/base: New file.
59200         * modules/unilbrk/tables: New file.
59201         * modules/unilbrk/u8-possible-linebreaks: New file.
59202         * modules/unilbrk/u16-possible-linebreaks: New file.
59203         * modules/unilbrk/u32-possible-linebreaks: New file.
59204         * modules/unilbrk/ulc-common: New file.
59205         * modules/unilbrk/ulc-possible-linebreaks: New file.
59206         * modules/unilbrk/u8-width-linebreaks: New file.
59207         * modules/unilbrk/u16-width-linebreaks: New file.
59208         * modules/unilbrk/u32-width-linebreaks: New file.
59209         * modules/unilbrk/ulc-width-linebreaks: New file.
59210         * lib/linebreak.h: Remove file.
59211         * lib/linebreak.c: Remove file.
59212         * m4/linebreak.m4: Remove file.
59213         * modules/linebreak: Remove file.
59214         * NEWS: Mention the changes.
59215
59216 2008-05-09  Eric Blake  <ebb9@byu.net>
59217
59218         Add xmemdup0.
59219         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59220         implementation.
59221         * lib/xmalloc.c (xmemdup0): New C implementation.
59222
59223 2008-05-08  Bruno Haible  <bruno@clisp.org>
59224
59225         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59226
59227 2008-05-07  Eric Blake  <ebb9@byu.net>
59228
59229         Support cross-compilation of <wctype.h>.
59230         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59231         AC_CACHE_CHECK.
59232
59233 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59234
59235         * build-aux/vc-list-files: Add support for bzr.
59236
59237 2008-05-03  Jim Meyering  <meyering@redhat.com>
59238
59239         avoid failed assertion with tight malloc
59240         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59241
59242 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59243
59244         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59245         are needed from arpa/inet.h.
59246         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59247         Reported by Bruno Haible.
59248
59249 2008-05-02  Jim Meyering  <meyering@redhat.com>
59250
59251         avoid compilation error on FreeBSD 6
59252         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59253
59254 2008-05-01  Jim Meyering  <meyering@redhat.com>
59255
59256         useless-if-before-free: correct --help's exit status description
59257         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59258         for one or more matches, etc.  Reported by Bruno Haible.
59259
59260         vc-list-files: make the stand-alone gnulib test work
59261         * modules/vc-list-files-tests (configure.ac):
59262         Define and AC_SUBST abs_aux_dir.
59263         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59264         $(abs_top_srcdir) to each script and having each of them
59265         duplicate the work of setting PATH, set PATH here, using
59266         the new variable, abs_aux_dir instead.
59267         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59268         * tests/test-vc-list-files-git.sh: Likewise.
59269         Reported by Bruno Haible.
59270
59271 2008-05-01  Bruno Haible  <bruno@clisp.org>
59272
59273         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59274         reallocation. Rename 'done' to 'found_delimiter'.
59275
59276 2008-05-01  Jim Meyering  <meyering@redhat.com>
59277
59278         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59279         * build-aux/vc-list-files: Use `...`, not $(...).
59280
59281 2008-04-30  Jim Meyering  <meyering@redhat.com>
59282
59283         add tests for vc-list-files
59284         * modules/vc-list-files-tests: New module.
59285         * tests/test-vc-list-files-cvs.sh: New file.
59286         * tests/test-vc-list-files-git.sh: New file.
59287
59288         avoid a warning from gcc
59289         * lib/getndelim2.c (IF_LINT): Define.
59290         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59291
59292         vc-list-files: work properly with build-aux/cvsu, too
59293         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59294         to all cvs-based clauses.
59295
59296         vc-list-files: work properly in the CVS+awk case, too
59297         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59298
59299         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59300         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59301         take more than one file argument, so .  Add quotes, just in case $dir
59302         ever contains a shell meta-character.  Prompted by Soren Hansen in
59303         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59304
59305 2008-04-29  Eric Blake  <ebb9@byu.net>
59306
59307         Optimize getndelim2 to use block operations when possible.
59308         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59309         freadseek, and memchr2.
59310         * lib/getndelim2.c (getndelim2): Use them for block reads.
59311
59312 2008-04-29  Bruno Haible  <bruno@clisp.org>
59313
59314         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59315         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59316         * modules/inet_ntop (Depends-on): Add extensions.
59317         * modules/inet_pton (Depends-on): Likewise.
59318         Reported by Simon Josefsson.
59319
59320 2008-04-29  Jim Meyering  <meyering@redhat.com>
59321
59322         When the is more than one match in a block, match all of them.
59323         * build-aux/useless-if-before-free: Iterate through each block
59324         until there are no more matches.
59325
59326         Fix broken useless-if-before-free script.
59327         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59328         the expression to match cast of argument to free-like function.
59329
59330 2008-04-29  Eric Blake  <ebb9@byu.net>
59331
59332         Use new header.
59333         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59334
59335 2008-04-29  Jim Meyering  <meyering@redhat.com>
59336
59337         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59338         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59339         by gnulib to exist and to declare e.g., inet_ntop.
59340         Don't include "inet_ntop.h", now removed.
59341
59342         * m4/arpa_inet_h.m4: Remove trailing blanks.
59343
59344 2008-04-29  Eric Blake  <ebb9@byu.net>
59345
59346         Silence valgrind on safe reads beyond potential array bounds.
59347         * lib/rawmemchr.valgrind: New file.
59348         * lib/strchrnul.valgrind: Likewise.
59349         * modules/rawmemchr (Files): Distribute new file.
59350         * modules/strchrnul (Files): Likewise.
59351         Suggested by Bruno Haible.
59352
59353 2008-04-29  Bruno Haible  <bruno@clisp.org>
59354
59355         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59356         (inet_ntop, inet_pton): Change portability warning's wording.
59357         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59358         Invoke gl_CHECK_NEXT_HEADERS.
59359         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59360         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59361         set ARPA_INET_H.
59362         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59363         * modules/arpa_inet (Description): No longer only for systems that
59364         lack it.
59365         (Depends-on): Add include_next.
59366         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59367         HAVE_ARPA_INET_H.
59368
59369 2008-04-29  Jim Meyering  <meyering@redhat.com>
59370
59371         * modules/mkdir (License): Re-license as LGPLv2+.
59372
59373 2008-04-29  Bruno Haible  <bruno@clisp.org>
59374
59375         * modules/rawmemchr (Maintainer): Set to Eric.
59376         * modules/strchrnul (Maintainer): Likewise.
59377
59378 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59379
59380         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59381         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59382
59383         * modules/arpa_inet (arpa/inet.h): Use them.
59384
59385 2008-04-28  Eric Blake  <ebb9@byu.net>
59386
59387         Test getndelim2.
59388         * modules/getndelim2-tests: New file.
59389         * tests/test-getndelim2.c: Likewise.
59390         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59391         stream.
59392         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59393
59394         * MODULES.html.sh: Document new module.
59395
59396 2008-04-20  Bruno Haible  <bruno@clisp.org>
59397
59398         * lib/c-stack.c (die): Use raise.
59399         * modules/c-stack (Depends-on): Add raise.
59400
59401 2008-04-28  Bruno Haible  <bruno@clisp.org>
59402
59403         Expect rpmatch to be declared.
59404         * lib/yesno.c (rpmatch): Remove declaration.
59405
59406         Declare rpmatch.
59407         * lib/stdlib.in.h (rpmatch): New declaration.
59408         * lib/rpmatch.c: Include <stdlib.h> first.
59409         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59410         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59412         HAVE_RPMATCH.
59413         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59414         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59415         (Include): Set to <stdlib.h>.
59416         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59417         HAVE_RPMATCH.
59418         * NEWS: Document the change.
59419
59420 2008-04-28  Bruno Haible  <bruno@clisp.org>
59421
59422         Change rpmatch to use nl_langinfo when appropriate.
59423         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59424         (N_): New macro.
59425         (localized_pattern): New function/macro.
59426         (try): Remove match, nomatch arguments. Copy the pattern into safe
59427         memory before caching it.
59428         (rpmatch): Use localized_pattern. Add translator comments.
59429         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59430         Suggested by Eric Blake.
59431         * modules/rpmatch (Depends-on): Add stdbool.
59432
59433 2008-04-28  Eric Blake  <ebb9@byu.net>
59434
59435         Add rawmemchr module, matching glibc.
59436         * modules/string (Makefile.am): New indicator.
59437         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59438         * lib/string.in.h (rawmemchr): Declare when appropriate.
59439         * modules/rawmemchr: New file.
59440         * m4/rawmemchr.m4: Likewise.
59441         * lib/rawmemchr.c: Likewise.
59442         * modules/rawmemchr-tests: Likewise.
59443         * tests/test-rawmemchr.c: Likewise.
59444         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59445         module.
59446         * modules/strchrnul (Depends-on): Add rawmemchr.
59447         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59448
59449         Whitespace cleanup.
59450         * tests/test-strchrnul.c: Reindent.
59451         * lib/strchrnul.c: Likewise.
59452
59453         Optimize and test strchrnul.
59454         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59455         * modules/strchrnul-tests: New file.
59456         * tests/test-strchrnul.c: Likewise.
59457
59458         Remove intprops dependency.
59459         * modules/memchr (Depends-on): Remove intprops.
59460         * modules/memrchr (Depends-on): Likewise.
59461         * modules/memchr2 (Depends-on): Likewise.
59462         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59463         * lib/memrchr.c (__memrchr): Likewise.
59464         * lib/memrchr2.c (memchr2): Likewise.
59465         Reported by Simon Josefsson.
59466
59467 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59468
59469         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59470         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59471
59472 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59473
59474         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59475
59476         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59477
59478         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59479
59480         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59481         declarations.
59482         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59483
59484         * m4/inet_pton.m4: Don't check for header files.
59485
59486         * m4/inet_ntop.m4: Don't check for header files.
59487
59488 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59489
59490         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59491         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59492         trigger for cygwin).
59493         Reported by Bruno Haible  <bruno@clisp.org>.
59494
59495 2008-04-28  Bruno Haible  <bruno@clisp.org>
59496
59497         * doc/posix-functions/strdup.texi: Mention mingw problem.
59498
59499 2008-04-27  Bruno Haible  <bruno@clisp.org>
59500
59501         * modules/stat-time-tests (Depends-on): Add sleep.
59502         * tests/test-stat-time.c (force_unlink): New function.
59503         (cleanup): Use it.
59504         (test_mtime): Remove the ctime related tests.
59505         (test_ctime): New function, containing the ctime related tests.
59506         (main): Call test_ctime, except on native Windows platforms.
59507
59508 2008-04-27  Bruno Haible  <bruno@clisp.org>
59509
59510         * lib/rpmatch.c (rpmatch): Add some comments.
59511         Reported by James Youngman <jay@gnu.org>.
59512
59513 2008-04-27  Bruno Haible  <bruno@clisp.org>
59514
59515         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59516         quiet NaNs.
59517
59518 2008-04-27  Bruno Haible  <bruno@clisp.org>
59519
59520         Make test-yesno.sh work on mingw.
59521         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59522         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59523         (main): Set stdin to binary mode.
59524         * modules/yesno-tests (Depends-on): Add binary-io.
59525
59526 2008-04-27  Bruno Haible  <bruno@clisp.org>
59527
59528         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59529         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59530         argument that lie outside the IEEE 854 domain.
59531         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59532         (gl_ISFINITE): Use it.
59533         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59534
59535 2008-04-27  Bruno Haible  <bruno@clisp.org>
59536
59537         Allow local renaming in config.h.
59538         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59539
59540 2008-04-27  Bruno Haible  <bruno@clisp.org>
59541
59542         * lib/memchr.c (__memchr): Change type of 'i'.
59543         * lib/memchr2.c (memchr2): Likewise.
59544
59545 2008-04-26  Eric Blake  <ebb9@byu.net>
59546         and Bruno Haible  <bruno@clisp.org>
59547
59548         Optimize and test memrchr.
59549         * modules/memrchr (Depends-on): Add intprops.
59550         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59551         * modules/memrchr-tests: New file.
59552         * tests/test-memrchr.c: New file.
59553
59554 2008-04-26  Bruno Haible  <bruno@clisp.org>
59555
59556         Add tentative support for DragonFly BSD.
59557         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59558         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59559         fp.
59560         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59561         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59562         * lib/fpurge.c (fpurge): Likewise.
59563         * lib/freadable.c (freaadable): Likewise.
59564         * lib/freadahead.c (freadahead): Likewise.
59565         * lib/freading.c (freading): Likewise.
59566         * lib/freadptr.c (freadptr): Likewise.
59567         * lib/freadseek.c (freadptrinc): Likewise.
59568         * lib/fseeko.c (fseeko): Likewise.
59569         * lib/fseterr.c (fseterr): Likewise.
59570         * lib/fwritable.c (fwritable): Likewise.
59571         * lib/fwriting.c (fwriting): Likewise.
59572
59573 2008-04-26  Bruno Haible  <bruno@clisp.org>
59574
59575         * lib/stdio-impl.h: New file.
59576         * lib/fbufmode.c: Include stdio-impl.h.
59577         (fbufmode): Use fp_, remove redundant #defines.
59578         * lib/fflush.c: Include stdio-impl.h.
59579         (clear_ungetc_buffer): Remove redundant #defines.
59580         * lib/fpurge.c: Include stdio-impl.h.
59581         (fpurge): Remove redundant #defines.
59582         * lib/freadable.c: Include stdio-impl.h.
59583         (freadable): Remove redundant #defines.
59584         * lib/freadahead.c: Include stdio-impl.h.
59585         (freadahead): Remove redundant #defines.
59586         * lib/freading.c: Include stdio-impl.h.
59587         (freading): Remove redundant #defines.
59588         * lib/freadptr.c: Include stdio-impl.h.
59589         (freadptr): Remove redundant #defines.
59590         * lib/freadseek.c: Include stdio-impl.h.
59591         (freadptrinc): Remove redundant #defines.
59592         * lib/fseeko.c: Include stdio-impl.h.
59593         (rpl_fseeko): Remove redundant #defines.
59594         * lib/fseterr.c: Include stdio-impl.h.
59595         (fseterr): Remove redundant #defines.
59596         * lib/fwritable.c: Include stdio-impl.h.
59597         (fwritable: Remove redundant #defines.
59598         * lib/fwriting.c: Include stdio-impl.h.
59599         (fwriting): Remove redundant #defines.
59600         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59601         * modules/fflush (Files): Likewise.
59602         * modules/fpurge (Files): Likewise.
59603         * modules/freadable (Files): Likewise.
59604         * modules/freadahead (Files): Likewise.
59605         * modules/freading (Files): Likewise.
59606         * modules/freadptr (Files): Likewise.
59607         * modules/freadseek (Files): Likewise.
59608         * modules/fseeko (Files): Likewise.
59609         * modules/fseterr (Files): Likewise.
59610         * modules/fwritable (Files): Likewise.
59611         * modules/fwriting (Files): Likewise.
59612
59613 2008-04-26  Bruno Haible  <bruno@clisp.org>
59614
59615         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59616         restore_seek_optimization, update_fpos_cache): New functions, extracted
59617         from rpl_fflush.
59618         (rpl_fflush): Use them.
59619         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59620         (gl_REPLACE_FFLUSH): Use it.
59621
59622 2008-04-26  Bruno Haible  <bruno@clisp.org>
59623
59624         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59625         on Solaris.
59626         * tests/test-xstrtoimax.sh: Likewise.
59627         * tests/test-xstrtoumax.sh: Likewise.
59628         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59629
59630 2008-04-26  Bruno Haible  <bruno@clisp.org>
59631
59632         * modules/memchr-tests: New file.
59633         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59634
59635 2008-04-26  Eric Blake  <ebb9@byu.net>
59636             Bruno Haible  <bruno@clisp.org>
59637
59638         * lib/memchr.c: Include intprops.h.
59639         (__memchr): Optimize parallel detection of matching bytes. Rename local
59640         variables. Add explanatory comments.
59641
59642 2008-04-26  Bruno Haible  <bruno@clisp.org>
59643
59644         Fix module 'memchr', broken since 2000-10-28.
59645         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59646
59647 2008-04-26  Bruno Haible  <bruno@clisp.org>
59648
59649         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59650         comments.
59651
59652 2008-04-25  Eric Blake  <ebb9@byu.net>
59653
59654         Use native fstatat on cygwin 1.7.0.
59655         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59656         first.
59657
59658 2008-04-23  Eric Blake  <ebb9@byu.net>
59659
59660         Improve memchr2 performance.
59661         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59662         NUL bytes.
59663         * modules/memchr2 (Depends-on): Use intprops.h.
59664
59665 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59666
59667         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59668         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59669         <blp@cs.stanford.edu>.
59670
59671 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59672
59673         * lib/arpa_inet.in.h: New file.
59674
59675         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59676         (Makefile.am): Sed in substitute header file.
59677
59678         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59679         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59680
59681         * modules/inet_ntop (configure.ac): Use
59682         gl_ARPA_INET_MODULE_INDICATOR.
59683
59684         * modules/inet_pton (configure.ac): Use
59685         gl_ARPA_INET_MODULE_INDICATOR.
59686
59687 2008-04-22  Jim Meyering  <meyering@redhat.com>
59688
59689         * modules/verify (License): Re-license as LGPLv2+.
59690
59691 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59692
59693         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59694         parameter to void* as per POSIX standard (MinGW uses char*).
59695
59696 2008-04-21  Bruno Haible  <bruno@clisp.org>
59697
59698         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59699         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59700         Define to replacements if REPLACE_ISWCNTRL is 1.
59701         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59702         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59703         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59704         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59705         what it fixes.
59706         * doc/posix-functions/iswalpha.texi: Likewise.
59707         * doc/posix-functions/iswblank.texi: Likewise.
59708         * doc/posix-functions/iswcntrl.texi: Likewise.
59709         * doc/posix-functions/iswdigit.texi: Likewise.
59710         * doc/posix-functions/iswgraph.texi: Likewise.
59711         * doc/posix-functions/iswlower.texi: Likewise.
59712         * doc/posix-functions/iswprint.texi: Likewise.
59713         * doc/posix-functions/iswpunct.texi: Likewise.
59714         * doc/posix-functions/iswspace.texi: Likewise.
59715         * doc/posix-functions/iswupper.texi: Likewise.
59716         * doc/posix-functions/iswxdigit.texi: Likewise.
59717         Reported by Alain Guibert.
59718
59719 2008-04-21  Bruno Haible  <bruno@clisp.org>
59720
59721         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59722         Patch by Alain Guibert.
59723
59724 2008-04-21  Bruno Haible  <bruno@clisp.org>
59725
59726         Fix test failures on mingw.
59727         * tests/test-xstrtol.c (print_no_progname): New function.
59728         (main): Install it in error_print_progname hook.
59729         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59730         * tests/test-xstrtoimax.sh: Likewise.
59731         * tests/test-xstrtoumax.sh: Likewise.
59732
59733 2008-04-21  Bruno Haible  <bruno@clisp.org>
59734
59735         Fix test failure on mingw.
59736         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59737
59738 2008-04-21  Bruno Haible  <bruno@clisp.org>
59739
59740         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59741         Actually assign a value.
59742
59743 2008-04-20  Bruno Haible  <bruno@clisp.org>
59744
59745         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59746         take 2.
59747         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59748         'canonicalize-lgpl' module is also used.
59749         * lib/canonicalize-lgpl.c: Undo last change.
59750         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59751
59752 2008-04-20  Bruno Haible  <bruno@clisp.org>
59753
59754         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59755         config.h. Provide _mkdir based fallback for mingw.
59756         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59757         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59758         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59759         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59760         rather than defining mkdir in config.h.
59761         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59762         (gl_SYS_STAT_H_DEFAULTS): New macro.
59763         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59764         HAVE_IO_H any more.
59765         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
59766         HAVE_DECL_MKDIR and HAVE_IO_H.
59767
59768 2008-04-20  Bruno Haible  <bruno@clisp.org>
59769
59770         * lib/isapipe.c: Port to native Windows platforms.
59771
59772 2008-04-20  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
59775
59776 2008-04-21  Eric Blake  <ebb9@byu.net>
59777
59778         Work around preprocessors that don't handle UINTMAX_MAX.
59779         * lib/memchr2.c (memchr2): Avoid embedded #if.
59780         Reported by Alain Guibert, fix suggested by Bruno Haible.
59781
59782 2008-04-21  Simon Josefsson  <simon@josefsson.org>
59783
59784         * doc/posix-functions/strftime.texi (strftime): Explain better
59785         Windows incompatibility.  Suggested by Micah Cowan
59786         <micah@cowan.name>.
59787
59788 2008-04-20  Bruno Haible  <bruno@clisp.org>
59789
59790         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
59791         unistr/u8-mblen.
59792
59793 2008-04-20  Bruno Haible  <bruno@clisp.org>
59794
59795         Fix test failure on platforms with non-GNU iconv.
59796         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
59797         (U_TO_U8): Use it, rather than u16_to_u8.
59798         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
59799         units at the end of the input string.
59800         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
59801
59802 2008-04-20  Bruno Haible  <bruno@clisp.org>
59803
59804         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
59805         when the resulting length is 0.
59806         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
59807
59808 2008-04-20  Bruno Haible  <bruno@clisp.org>
59809
59810         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
59811         works.
59812         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
59813
59814 2008-04-20  Bruno Haible  <bruno@clisp.org>
59815
59816         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
59817         * modules/tsearch-tests (configure.ac): Test for initstate function.
59818
59819 2008-04-20  Bruno Haible  <bruno@clisp.org>
59820
59821         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
59822         for nlink_t if missing.
59823         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
59824
59825 2008-04-19  Bruno Haible  <bruno@clisp.org>
59826
59827         Work around snprintf bug on Linux libc5.
59828         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
59829         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59830         gl_SNPRINTF_SIZE1.
59831         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59832         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
59833         that test failed.
59834         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
59835         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
59836         * modules/snprintf (Files): Add m4/printf.m4.
59837         * modules/vsnprintf (Files): Likewise.
59838         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
59839         * doc/posix-functions/vsnprintf.texi: Likewise.
59840
59841 2008-04-19  Bruno Haible  <bruno@clisp.org>
59842
59843         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
59844         from 0.0058 to less than 10^-7.
59845
59846 2008-04-19  Bruno Haible  <bruno@clisp.org>
59847
59848         Fix rounding when a precision is given.
59849         * lib/vasnprintf.c (is_borderline): New function.
59850         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
59851         9...9x.
59852         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
59853         %e, %g.
59854         * tests/test-vasprintf-posix.c (test_function): Likewise.
59855         * tests/test-snprintf-posix.h (test_function): Likewise.
59856         * tests/test-sprintf-posix.h (test_function): Likewise.
59857         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
59858         * tests/test-printf-posix.h (test_function): Likewise.
59859         * tests/test-printf-posix.output: Update.
59860         Reported by John Darrington <john@darrington.wattle.id.au> via
59861         Ben Pfaff <blp@cs.stanford.edu>.
59862
59863 2008-04-18  Simon Josefsson  <simon@josefsson.org>
59864
59865         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
59866         Suggested by Bruno Haible <bruno@clisp.org>.
59867
59868 2008-04-17  Bruno Haible  <bruno@clisp.org>
59869
59870         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
59871         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
59872         implementation.
59873         Patch by Bruce Merry <bmerry@gmail.com>.
59874
59875 2008-04-17  Simon Josefsson  <simon@josefsson.org>
59876
59877         * doc/posix-functions/strftime.texi (strftime): Mention that %e
59878         doesn't work under Windows.
59879
59880 2008-04-16  Bruno Haible  <bruno@clisp.org>
59881
59882         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
59883         New macros.
59884         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
59885         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
59886         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
59887         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
59888         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
59889         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
59890         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
59891         macros.
59892         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
59893         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
59894         Northern Sotho, Uighur.
59895
59896 2008-04-16  Bruno Haible  <bruno@clisp.org>
59897
59898         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
59899         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
59900         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
59901         Reported by Daniel Bergström <daniel@octocode.com>.
59902
59903 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
59904             Bruno Haible  <bruno@clisp.org>
59905
59906         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
59907         function.
59908         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
59909         New functions, mostly extracted from gl_locale_name_default.
59910         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
59911
59912 2008-04-16  Eric Blake  <ebb9@byu.net>
59913
59914         Adjust strtod detection to catch glibc 2.7 bug.
59915         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
59916         Reported by John Gatewood Ham.
59917
59918 2008-04-16  Bruno Haible  <bruno@clisp.org>
59919
59920         Add tentative support for Linux libc5.
59921         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
59922         * lib/fpurge.c (fpurge): Likewise.
59923         * lib/freadable.c (freadable): Likewise.
59924         * lib/freadahead.c (freadahead): Likewise.
59925         * lib/freading.c (freading): Likewise.
59926         * lib/freadptr.c (freadptr): Likewise.
59927         * lib/freadseek.c (freadptrinc): Likewise.
59928         * lib/fseeko.c (rpl_fseeko): Likewise.
59929         * lib/fseterr.c (fseterr): Likewise.
59930         * lib/fwritable.c (fwritable): Likewise.
59931         * lib/fwriting.c (fwriting): Likewise.
59932         Reported by Alain Guibert <alguibert+bts@free.fr>.
59933
59934 2008-04-15  Bruno Haible  <bruno@clisp.org>
59935
59936         * modules/mathl (configure.ac): Define module indicator.
59937
59938 2008-04-15  Bruno Haible  <bruno@clisp.org>
59939
59940         * lib/logl.c (logl): Remove unused variables.
59941
59942 2008-04-15  Bruno Haible  <bruno@clisp.org>
59943
59944         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
59945         fails.
59946
59947 2008-04-15  Bruno Haible  <bruno@clisp.org>
59948
59949         * lib/trim.c (trim2): Fix argument of isspace() macro.
59950
59951 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
59952
59953         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
59954         to 0.
59955         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
59956
59957 2008-04-14  Bruno Haible  <bruno@clisp.org>
59958
59959         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
59960         AC_LANG_PROGRAM argument.
59961         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
59962         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
59963         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59964         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59965         * m4/math_h.m4 (gl_MATH_H): Likewise.
59966         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
59967         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59968         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59969         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
59970         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59971         * m4/regex.m4 (gl_REGEX): Likewise.
59972         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
59973         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
59974         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59975         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
59976         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59977         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59978         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59979         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59980
59981 2008-04-14  Jim Meyering  <meyering@redhat.com>
59982
59983         test-strtod: fix typos: s/abs/fabs/
59984         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
59985
59986 2008-04-13  Bruno Haible  <bruno@clisp.org>
59987
59988         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
59989         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
59990         module is also used and while not building the reloc-wrapper.
59991
59992 2008-04-13  Bruno Haible  <bruno@clisp.org>
59993
59994         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
59995
59996 2008-04-13  Bruno Haible  <bruno@clisp.org>
59997
59998         Fix AIX compilation failure introduced on 2008-04-02.
59999         * tests/test-frexp.c (exp): Undefine before redefining.
60000         * tests/test-frexpl.c (exp): Likewise.
60001
60002 2008-04-13  Bruno Haible  <bruno@clisp.org>
60003
60004         Work around a HP-UX stdio bug.
60005         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60006         * tests/test-ftello.c (main): Likewise.
60007         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60008         * doc/posix-functions/ftello.texi: Likewise.
60009
60010 2008-04-13  Bruno Haible  <bruno@clisp.org>
60011
60012         Make test-signbit pass on HP-UX/hppa.
60013         * tests/test-signbit.c (minus_zerol): New variable.
60014         (test_signbitl): Use it.
60015
60016 2008-04-13  Bruno Haible  <bruno@clisp.org>
60017
60018         Make truncl work on OSF/1 4.0.
60019         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60020         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60021         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60023         HAVE_DECL_TRUNCL.
60024         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60025         HAVE_DECL_TRUNCL.
60026         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60027
60028 2008-04-13  Bruno Haible  <bruno@clisp.org>
60029
60030         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60031
60032 2008-04-13  Bruno Haible  <bruno@clisp.org>
60033
60034         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60035         expression, so as to avoid HP-UX 11 cc compiler bug.
60036
60037 2008-04-13  Bruno Haible  <bruno@clisp.org>
60038
60039         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60040
60041 2008-04-13  Bruno Haible  <bruno@clisp.org>
60042
60043         * lib/git-merge-changelog.c: Remove empty declaration outside of
60044         functions.
60045
60046 2008-04-13  Bruno Haible  <bruno@clisp.org>
60047
60048         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60049
60050 2008-04-13  Bruno Haible  <bruno@clisp.org>
60051
60052         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60053         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60054         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60055         also if it exists but lacks definitions of the SHUT_* macros.
60056         * modules/sys_socket (Description): Update.
60057         Reported by Elbert Pol <e.pol@chello.nl>.
60058
60059 2008-04-13  Bruno Haible  <bruno@clisp.org>
60060
60061         * lib/localcharset.c (OS2): Don't redefine if already defined.
60062         Reported by Elbert Pol <e.pol@chello.nl>.
60063
60064 2008-04-13  Bruno Haible  <bruno@clisp.org>
60065
60066         * lib/binary-io.h [__EMX__]: Include <io.h>.
60067         Reported by Elbert Pol <e.pol@chello.nl>.
60068
60069 2008-04-12  Bruno Haible  <bruno@clisp.org>
60070
60071         * lib/fpucw.h: Enable the definitions also for x86_64.
60072         Needed for NetBSD/x86_64.
60073         Reported by Thomas Klausner <tk@giga.or.at>.
60074
60075 2008-04-12  Bruno Haible  <bruno@clisp.org>
60076
60077         * tests/test-strtod.c: Include isnand.h.
60078         (main): Use isnand instead of isnan.
60079         Reported by Jim Meyering.
60080
60081 2008-04-12  Bruno Haible  <bruno@clisp.org>
60082
60083         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60084         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60085
60086 2008-04-12  Jim Meyering  <meyering@redhat.com>
60087
60088         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60089
60090 2008-04-12  Bruno Haible  <bruno@clisp.org>
60091
60092         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60093         Reported by Elbert Pol <e.pol@chello.nl>.
60094
60095 2008-04-12  Eric Blake  <ebb9@byu.net>
60096
60097         Work around Solaris 10 math.h bug.
60098         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60099         (gl_MATH_H_DEFAULTS): Set up default.
60100         * modules/math (Makefile.am): Replace new indicators.
60101         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60102         * tests/test-math.c (main): Test this.
60103         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60104         * doc/posix-headers/math.texi (math.h): Mention bug.
60105         Reported by Nelson H. F. Beebe and Jim Meyering.
60106
60107 2008-04-11  Bruno Haible  <bruno@clisp.org>
60108
60109         Adapt to future versions of Apple GCC.
60110         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60111         Reported by Peter O'Gorman <peter@pogma.com>.
60112
60113 2008-04-11  Bruno Haible  <bruno@clisp.org>
60114
60115         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60116
60117 2008-04-11  Bruno Haible  <bruno@clisp.org>
60118
60119         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60120
60121         * modules/getaddrinfo-tests (Makefile.am): Define
60122         test_getaddrinfo_LDADD.
60123
60124 2008-04-11  Bruno Haible  <bruno@clisp.org>
60125
60126         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60127         (init): Fix syntax error.
60128         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60129         is declared.
60130
60131 2008-04-11  Bruno Haible  <bruno@clisp.org>
60132
60133         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60134         * modules/glob (Depends-on): Add stdbool.
60135
60136 2008-04-11  Bruno Haible  <bruno@clisp.org>
60137
60138         * lib/trim.c: Include <string.h>.
60139
60140 2008-04-11  Eric Blake  <ebb9@byu.net>
60141
60142         Avoid compile failure on OS/2.
60143         * lib/regex_internal.h (internal_function): Disable optimization
60144         on OS/2 (__EMX__), where it caused compiler error.
60145         Reported by Elbert Pol.
60146
60147 2008-04-11  Bruno Haible  <bruno@clisp.org>
60148
60149         Flush the standard error stream before aborting. Needed on mingw.
60150         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60151         * tests/test-array_list.c (ASSERT): Likewise.
60152         * tests/test-array_oset.c (ASSERT): Likewise.
60153         * tests/test-avltree_list.c (ASSERT): Likewise.
60154         * tests/test-avltree_oset.c (ASSERT): Likewise.
60155         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60156         * tests/test-binary-io.c (ASSERT): Likewise.
60157         * tests/test-byteswap.c (ASSERT): Likewise.
60158         * tests/test-c-ctype.c (ASSERT): Likewise.
60159         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60160         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60161         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60162         * tests/test-c-strstr.c (ASSERT): Likewise.
60163         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60164         * tests/test-canonicalize.c (ASSERT): Likewise.
60165         * tests/test-carray_list.c (ASSERT): Likewise.
60166         * tests/test-ceilf1.c (ASSERT): Likewise.
60167         * tests/test-ceilf2.c (ASSERT): Likewise.
60168         * tests/test-ceill.c (ASSERT): Likewise.
60169         * tests/test-count-one-bits.c (ASSERT): Likewise.
60170         * tests/test-fbufmode.c (ASSERT): Likewise.
60171         * tests/test-fflush2.c (ASSERT): Likewise.
60172         * tests/test-floorf1.c (ASSERT): Likewise.
60173         * tests/test-floorf2.c (ASSERT): Likewise.
60174         * tests/test-floorl.c (ASSERT): Likewise.
60175         * tests/test-fopen.c (ASSERT): Likewise.
60176         * tests/test-fpending.c (ASSERT): Likewise.
60177         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60178         * tests/test-fpurge.c (ASSERT): Likewise.
60179         * tests/test-freadable.c (ASSERT): Likewise.
60180         * tests/test-freadahead.c (ASSERT): Likewise.
60181         * tests/test-freading.c (ASSERT): Likewise.
60182         * tests/test-freadptr.c (ASSERT): Likewise.
60183         * tests/test-freadptr2.c (ASSERT): Likewise.
60184         * tests/test-freadseek.c (ASSERT): Likewise.
60185         * tests/test-freopen.c (ASSERT): Likewise.
60186         * tests/test-frexp.c (ASSERT): Likewise.
60187         * tests/test-frexpl.c (ASSERT): Likewise.
60188         * tests/test-fseek.c (ASSERT): Likewise.
60189         * tests/test-fseeko.c (ASSERT): Likewise.
60190         * tests/test-fstrcmp.c (ASSERT): Likewise.
60191         * tests/test-ftell.c (ASSERT): Likewise.
60192         * tests/test-ftello.c (ASSERT): Likewise.
60193         * tests/test-func.c (ASSERT): Likewise.
60194         * tests/test-fwritable.c (ASSERT): Likewise.
60195         * tests/test-fwriting.c (ASSERT): Likewise.
60196         * tests/test-getdelim.c (ASSERT): Likewise.
60197         * tests/test-getline.c (ASSERT): Likewise.
60198         * tests/test-i-ring.c (ASSERT): Likewise.
60199         * tests/test-iconv-utf.c (ASSERT): Likewise.
60200         * tests/test-iconv.c (ASSERT): Likewise.
60201         * tests/test-isfinite.c (ASSERT): Likewise.
60202         * tests/test-isnand.c (ASSERT): Likewise.
60203         * tests/test-isnanf.c (ASSERT): Likewise.
60204         * tests/test-isnanl.h (ASSERT): Likewise.
60205         * tests/test-ldexpl.c (ASSERT): Likewise.
60206         * tests/test-linked_list.c (ASSERT): Likewise.
60207         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60208         * tests/test-localename.c (ASSERT): Likewise.
60209         * tests/test-lseek.c (ASSERT): Likewise.
60210         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60211         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60212         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60213         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60214         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60215         * tests/test-mbschr.c (ASSERT): Likewise.
60216         * tests/test-mbscspn.c (ASSERT): Likewise.
60217         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60218         * tests/test-mbspbrk.c (ASSERT): Likewise.
60219         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60220         * tests/test-mbsrchr.c (ASSERT): Likewise.
60221         * tests/test-mbsspn.c (ASSERT): Likewise.
60222         * tests/test-mbsstr1.c (ASSERT): Likewise.
60223         * tests/test-mbsstr2.c (ASSERT): Likewise.
60224         * tests/test-mbsstr3.c (ASSERT): Likewise.
60225         * tests/test-memchr2.c (ASSERT): Likewise.
60226         * tests/test-memmem.c (ASSERT): Likewise.
60227         * tests/test-open.c (ASSERT): Likewise.
60228         * tests/test-printf-frexp.c (ASSERT): Likewise.
60229         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60230         * tests/test-printf-posix.c (ASSERT): Likewise.
60231         * tests/test-quotearg.c (ASSERT): Likewise.
60232         * tests/test-rbtree_list.c (ASSERT): Likewise.
60233         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60234         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60235         * tests/test-round1.c (ASSERT): Likewise.
60236         * tests/test-roundf1.c (ASSERT): Likewise.
60237         * tests/test-roundl.c (ASSERT): Likewise.
60238         * tests/test-signbit.c (ASSERT): Likewise.
60239         * tests/test-sleep.c (ASSERT): Likewise.
60240         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60241         * tests/test-snprintf.c (ASSERT): Likewise.
60242         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60243         * tests/test-stat-time.c (ASSERT): Likewise.
60244         * tests/test-strcasestr.c (ASSERT): Likewise.
60245         * tests/test-strerror.c (ASSERT): Likewise.
60246         * tests/test-striconv.c (ASSERT): Likewise.
60247         * tests/test-striconveh.c (ASSERT): Likewise.
60248         * tests/test-striconveha.c (ASSERT): Likewise.
60249         * tests/test-strsignal.c (ASSERT): Likewise.
60250         * tests/test-strstr.c (ASSERT): Likewise.
60251         * tests/test-strtod.c (ASSERT): Likewise.
60252         * tests/test-trunc1.c (ASSERT): Likewise.
60253         * tests/test-trunc2.c (ASSERT): Likewise.
60254         * tests/test-truncf1.c (ASSERT): Likewise.
60255         * tests/test-truncf2.c (ASSERT): Likewise.
60256         * tests/test-truncl.c (ASSERT): Likewise.
60257         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60258         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60259         * tests/test-vasnprintf.c (ASSERT): Likewise.
60260         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60261         * tests/test-vasprintf.c (ASSERT): Likewise.
60262         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60263         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60264         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60265         * tests/test-vsnprintf.c (ASSERT): Likewise.
60266         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60267         * tests/test-wcwidth.c (ASSERT): Likewise.
60268         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60269         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60270         * tests/test-xvasprintf.c (ASSERT): Likewise.
60271         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60272         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60273         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60274         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60275         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60276         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60277         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60278         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60279         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60280         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60281         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60282         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60283         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60284         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60285         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60286         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60287         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60288         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60289         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60290         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60291         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60292         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60293         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60294         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60295         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60296         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60297         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60298         * tests/unictype/test-combining.c (ASSERT): Likewise.
60299         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60300         * tests/unictype/test-digit.c (ASSERT): Likewise.
60301         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60302         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60303         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60304         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60305         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60306         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60307         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60308         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60309         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60310         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60311         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60312         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60313         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60314         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60315         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60316         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60317         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60318         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60319         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60320         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60321         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60322         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60323         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60324         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60325         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60326         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60327         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60328         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60329         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60330         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60331         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60332         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60333         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60334         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60335         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60336         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60337         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60338         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60339         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60340         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60341         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60342         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60343         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60344         Reported by Eric Blake.
60345
60346 2008-04-11  Bruno Haible  <bruno@clisp.org>
60347
60348         * lib/wchar.in.h: Tweak comment.
60349
60350 2008-04-11  Bruno Haible  <bruno@clisp.org>
60351
60352         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60353         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60354         gl_COMMON.
60355         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60356
60357 2008-04-11  Bruno Haible  <bruno@clisp.org>
60358
60359         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60360
60361 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60362
60363         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60364         of attempting to use non-existing /dev/*random.  Based on patch
60365         from Adam Strzelecki <ono@java.pl> in
60366         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60367
60368 2008-04-08  Bruno Haible  <bruno@clisp.org>
60369
60370         Add tentative support for emx+gcc.
60371         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60372         * lib/fpurge.c (fpurge): Likewise.
60373         * lib/freadable.c (freadable): Likewise.
60374         * lib/freadahead.c (freadahead): Likewise.
60375         * lib/freading.c (freading): Likewise.
60376         * lib/freadptr.c (freadptr): Likewise.
60377         * lib/freadseek.c (freadptrinc): Likewise.
60378         * lib/fseeko.c (rpl_fseeko): Likewise.
60379         * lib/fseterr.c (fseterr): Likewise.
60380         * lib/fwritable.c (fwritable): Likewise.
60381         * lib/fwriting.c (fwriting): Likewise.
60382         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60383
60384 2008-04-09  Eric Blake  <ebb9@byu.net>
60385
60386         Avoid some autoconf warnings.
60387         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60388         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60389         * m4/afs.m4 (gl_AFS): Likewise.
60390         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60391         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60392         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60393         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60394         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60395         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60396         (AC_CHECK_DECLS_ONCE): Likewise.
60397         Rename file...
60398         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60399         gnulib-tool requires autoconf 2.59 or better.
60400         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60401
60402 2008-04-08  Eric Blake  <ebb9@byu.net>
60403
60404         Use 'git describe --match' if present (added in git 1.5.5).
60405         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60406         if possible.
60407
60408 2008-04-08  Bruno Haible  <bruno@clisp.org>
60409
60410         Add tentative support for OpenServer.
60411         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60412         _ptr, _cnt.
60413         * lib/fpurge.c (fpurge): Likewise.
60414         * lib/freadable.c (freadable): Likewise.
60415         * lib/freadahead.c (freadahead): Likewise.
60416         * lib/freading.c (freading): Likewise.
60417         * lib/freadptr.c (freadptr): Likewise.
60418         * lib/freadseek.c (freadptrinc): Likewise.
60419         * lib/fseeko.c (rpl_fseeko): Likewise.
60420         * lib/fseterr.c (fseterr): Likewise.
60421         * lib/fwritable.c (fwritable): Likewise.
60422         * lib/fwriting.c (fwriting): Likewise.
60423         Reported by Roger Cornelius <rac@tenzing.org> and
60424         Brian K. White <brian@aljex.com>.
60425
60426 2008-04-06  Jim Meyering  <meyering@redhat.com>
60427
60428         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60429
60430 2008-04-06  Bruno Haible  <bruno@clisp.org>
60431
60432         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60433         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60434         * tests/test-printf-posix.sh: Likewise.
60435         * tests/test-vfprintf-posix.sh: Likewise.
60436         * tests/test-vprintf-posix.sh: Likewise.
60437         * tests/test-xprintf-posix.sh: Likewise.
60438
60439 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60440
60441         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60442         hide error from 'ls', needed on OS/2.
60443         Report by Elbert Pol <elbert.pol@gmail.com>.
60444
60445 2008-04-04  Eric Blake  <ebb9@byu.net>
60446
60447         Make test-fseeko.c failures meaningful.
60448         * tests/test-fseeko.c: Print line number on failure.
60449         * tests/test-fseek.c: Likewise.
60450         Reported by Nelson H. F. Beebe.
60451
60452         Improve strtod bug detection check.
60453         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60454         required for Solaris 10.
60455         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60456
60457 2008-04-04  Bruno Haible  <bruno@clisp.org>
60458
60459         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60460         by m4/setenv.m4.
60461
60462 2008-04-03  Eric Blake  <ebb9@byu.net>
60463
60464         Ensure sane .version contents.
60465         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60466         version string.
60467         * build-aux/git-version-gen: Improve documentation.
60468
60469         Make GNU make output nicer.
60470         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60471         MAKECMDGOALS to enforce message for all command line targets.  Set
60472         srcdir for use in maint.mk.
60473
60474         Another maintainer tweak.
60475         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60476         a target that regenerates version.
60477
60478 2008-04-03  Jim Meyering  <meyering@redhat.com>
60479
60480         vc-list-files: don't cause coreutils "make po-check" failure
60481         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60482
60483 2008-04-03  Eric Blake  <ebb9@byu.net>
60484
60485         Allow VPATH usage of vc-list-files.
60486         * build-aux/vc-list-files (scriptversion): Add timestamp.
60487         (options): Add --help, --version, -C.
60488         (CVS): Support installed cvsu.
60489
60490 2008-04-02  Bruno Haible  <bruno@clisp.org>
60491
60492         Avoid some "statement with no effect" warnings from gcc.
60493         * tests/test-wctype.c (main): Explicitly ignore unused values.
60494         Reported by Jim Meyering.
60495
60496 2008-04-02  Jim Meyering  <meyering@redhat.com>
60497
60498         Avoid some warnings from "gcc -Wshadow".
60499         * tests/test-frexp.c (exp): Define to a different identifier.
60500         * tests/test-frexpl.c (exp): Likewise.
60501
60502 2008-04-03  Jim Meyering  <meyering@redhat.com>
60503
60504         bootstrap: remove dangling *.[ch] symlinks from lib
60505         * build-aux/bootstrap [dangling symlink removal]: Move find's
60506         -depth option to precede all others, to avoid a warning.
60507         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60508
60509 2008-04-02  Bruno Haible  <bruno@clisp.org>
60510
60511         Avoid some warnings from "gcc -Wshadow".
60512         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60513         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60514         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60515         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60516         Reported by Jim Meyering.
60517
60518 2008-04-01  Bruno Haible  <bruno@clisp.org>
60519
60520         Fix test to work on IRIX 6.5 with cc.
60521         * tests/test-math.c (numeric_equal): New function.
60522         (main): Use it.
60523
60524 2008-04-01  Bruno Haible  <bruno@clisp.org>
60525
60526         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60527
60528 2008-04-01  Bruno Haible  <bruno@clisp.org>
60529
60530         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60531         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60532         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60533         (Depends-on): Remove math.
60534
60535         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60536         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60537         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60538         (Depends-on): Remove math.
60539
60540         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60541         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60542         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60543         (Depends-on): Remove math.
60544         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60545         (Depends-on): Remove math.
60546
60547         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60548         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60549         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60550         (Depends-on): Remove math.
60551         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60552         (Depends-on): Remove math.
60553
60554         * tests/test-round1.c: Include nan.h.
60555         (main): Use NaNd instead of NAN.
60556         * modules/round-tests (Files): Add tests/nan.h.
60557
60558         * tests/test-trunc1.c: Include nan.h.
60559         (main): Use NaNd instead of NAN.
60560         * modules/trunc-tests (Files): Add tests/nan.h.
60561
60562         * tests/test-roundf1.c: Include nan.h.
60563         (main): Use NaNf instead of NAN.
60564         * modules/roundf-tests (Files): Add tests/nan.h.
60565
60566         * tests/test-truncf1.c: Include nan.h.
60567         (main): Use NaNf instead of NAN.
60568         * modules/truncf-tests (Files): Add tests/nan.h.
60569
60570         * tests/test-ceilf1.c: Include nan.h.
60571         (main): Use NaNf instead of NAN.
60572         * modules/ceilf-tests (Files): Add tests/nan.h.
60573
60574         * tests/test-floorf1.c: Include nan.h.
60575         (main): Use NaNf instead of NAN.
60576         * modules/floorf-tests (Files): Add tests/nan.h.
60577
60578         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60579         (main): Use NaNf instead of NAN.
60580         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60581
60582         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60583         (main): Use NaNd instead of NAN.
60584         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60585
60586         * tests/test-frexp.c: Include nan.h.
60587         (main): Use NaNd instead of NAN.
60588         * modules/frexp-tests (Files): Add tests/nan.h.
60589
60590         * lib/isnan.c: Don't include <math.h>.
60591         (FUNC): Don't use NAN macro.
60592         * modules/isnand-nolibm (Depends-on): Remove math.
60593         * modules/isnanf-nolibm (Depends-on): Remove math.
60594         * modules/isnanl (Depends-on): Remove math.
60595         * modules/isnanl-nolibm (Depends-on): Remove math.
60596
60597         * tests/nan.h: New file.
60598
60599 2008-04-01  Eric Blake  <ebb9@byu.net>
60600
60601         Fix typos.
60602         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60603         values to be the right type.
60604
60605         For now, cater to gnulib strtod inaccuracies.
60606         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60607         fractional results.  While not as nice from a QoI perspective, it
60608         is a quicker patch than correctly implementing decimal to binary
60609         rounding.
60610
60611 2008-03-31  Eric Blake  <ebb9@byu.net>
60612
60613         Guarantee a definition of NAN.
60614         * lib/math.in.h (NAN): Define if missing.
60615         * tests/test-math.c (main): Test it.
60616         * doc/posix-headers/math.texi (math.h): Document this.
60617         * lib/isnan.c (rpl_isnand): Use it.
60618         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60619         * tests/test-floorf1.c (NaN): Likewise.
60620         * tests/test-frexp.c (NaN): Likewise.
60621         * tests/test-isnand.c (NaN): Likewise.
60622         * tests/test-isnanf.c (NaN): Likewise.
60623         * tests/test-round1.c (NaN): Likewise.
60624         * tests/test-roundf1.c (NaN): Likewise.
60625         * tests/test-snprintf-posix.h (NaN): Likewise.
60626         * tests/test-sprintf-posix.h (NaN): Likewise.
60627         * tests/test-trunc1.c (NaN): Likewise.
60628         * tests/test-truncf1.c (NaN): Likewise.
60629         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60630         * tests/test-vasprintf-posix.c (NaN): Likewise.
60631         * modules/isnand-nolibm (Depends-on): Add math.
60632         * modules/isnanf-nolibm (Depends-on): Likewise.
60633         * modules/isnanl (Depends-on): Likewise.
60634         * modules/isnanl-nolibm (Depends-on): Likewise.
60635         * modules/snprintf-posix-tests (Depends-on): Likewise.
60636         * modules/sprintf-posix-tests (Depends-on): Likewise.
60637         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60638         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60639         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60640         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60641
60642 2008-03-31  Bruno Haible  <bruno@clisp.org>
60643
60644         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60645         * doc/posix-functions/strtod.texi: Likewise.
60646
60647 2008-03-31  Bruno Haible  <bruno@clisp.org>
60648
60649         * tests/test-strtod.c (main): Don't use C99 syntax.
60650
60651 2008-03-31  Bruno Haible  <bruno@clisp.org>
60652
60653         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60654         Reported by Eric Blake.
60655
60656 2008-03-31  Jim Meyering  <meyering@redhat.com>
60657
60658         Don't compare actual signbit return values.
60659         * tests/test-strtod.c (main): Rather, compare only their
60660         zero/non-zero nature.
60661
60662 2008-03-31  Eric Blake  <ebb9@byu.net>
60663
60664         More strtod documentation.
60665         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60666         failures as distinct bugs.
60667
60668 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60669
60670         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60671         Problem reported by Erik Benada in
60672         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60673
60674 2008-03-30  Bruno Haible  <bruno@clisp.org>
60675
60676         * tests/test-strtod.c: Add comments about which assertion fails on which
60677         platform.
60678         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60679
60680 2008-03-30  Eric Blake  <ebb9@byu.net>
60681
60682         Test signbit behavior on zeros.
60683         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60684         (test_signbitd, test_signbitl): Likewise.
60685
60686         More strtod touchups.
60687         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60688         sign of negative underflow, for now.  Use .5, not .1.
60689         * doc/posix-functions/strtod.texi (strtod): Mention these
60690         limitations.
60691         Reported by Jim Meyering.
60692
60693 2008-03-30  Bruno Haible  <bruno@clisp.org>
60694
60695         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60696         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60697
60698 2008-03-30  Bruno Haible  <bruno@clisp.org>
60699
60700         Avoid failure when attempting to return empty iconv results on some
60701         platforms.
60702         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60703         allocation, don't report ENOMEM when the resulting string is empty.
60704
60705 2008-03-30  Bruno Haible  <bruno@clisp.org>
60706
60707         Fix buffer overrun.
60708         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60709         Don't consider the width for tmp_length. Check count against tmp_length
60710         before doing the padding. Ensure enough allocation during padding.
60711
60712 2008-03-30  Eric Blake  <ebb9@byu.net>
60713
60714         strtod touchups.
60715         * lib/strtod.c (strtod): Avoid compiler warnings.
60716         Reported by Jim Meyering.
60717
60718 2008-03-30  Bruno Haible  <bruno@clisp.org>
60719
60720         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60721         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60722         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60723         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60724         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60725         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60726         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60727         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60728
60729         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60730         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60731         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60732         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60733         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60734         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60735         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60736         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60737
60738         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60739         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60740         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60741         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60742         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60743         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60744         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60745         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60746
60747         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60748         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60749
60750         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60751         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60752
60753         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60754         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60755
60756         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60758         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60759
60760         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60761         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60762         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60763
60764         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60765         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
60766         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
60767
60768         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
60769         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
60770         * modules/vasprintf (Depends-on): Add EOVERFLOW.
60771
60772         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
60773         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
60774         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
60775         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
60776         (Depends-on): Add EOVERFLOW.
60777         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
60778         (Depends-on): Add EOVERFLOW.
60779         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60780         (Depends-on): Add EOVERFLOW.
60781         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60782         (Depends-on): Add EOVERFLOW.
60783         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60784         (Depends-on): Add EOVERFLOW.
60785         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60786         (Depends-on): Add EOVERFLOW.
60787         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60788         (Depends-on): Add EOVERFLOW.
60789         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60790         (Depends-on): Add EOVERFLOW.
60791
60792         * lib/sprintf.c (EOVERFLOW): Remove fallback.
60793         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
60794         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
60795
60796         * lib/snprintf.c (EOVERFLOW): Remove fallback.
60797         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
60798         * modules/snprintf (Depends-on): Add EOVERFLOW.
60799
60800         * lib/poll.c (EOVERFLOW): Remove fallback.
60801         * modules/poll (Depends-on): Add EOVERFLOW.
60802
60803         * lib/getugroups.c (EOVERFLOW): Remove fallback.
60804         * modules/getugroups (Depends-on): Add EOVERFLOW.
60805
60806         * lib/getdelim.c (EOVERFLOW): Remove fallback.
60807         * modules/getdelim (Depends-on): Add EOVERFLOW.
60808
60809         * lib/ftell.c (EOVERFLOW): Remove fallback.
60810         * modules/ftell (Depends-on): Add EOVERFLOW.
60811
60812         * lib/fprintf.c (EOVERFLOW): Remove fallback.
60813         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
60814         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
60815
60816         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
60817
60818         * modules/EOVERFLOW-tests: New file.
60819         * tests/test-EOVERFLOW.c: New file.
60820
60821         * modules/EOVERFLOW: New file.
60822         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
60823
60824 2008-03-30  Bruno Haible  <bruno@clisp.org>
60825
60826         Fix bug introduced on 2007-06-10.
60827         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
60828         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
60829
60830 2008-03-30  Bruno Haible  <bruno@clisp.org>
60831
60832         Improve freadseek's efficiency after ungetc.
60833         * lib/freadseek.c: Include freadahead.h.
60834         (freadptrinc): New function, extracted from freadseek.
60835         (freadseek): Use it in a loop. Use freadahead to determine the number
60836         of loop iterations.
60837         * modules/freadseek (Depends-on): Add freadahead.
60838         (configure.ac): Require AC_C_INLINE.
60839
60840 2008-03-30  Bruno Haible  <bruno@clisp.org>
60841
60842         * lib/freadseek.c (freadseek): Don't ignore the return value of
60843         freadptr.
60844
60845 2008-03-29  Eric Blake  <ebb9@byu.net>
60846
60847         Add hex float support.
60848         * modules/strtod (Depends-on): Add c-ctype.
60849         (Link): Mention POW_LIB.
60850         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
60851         whitespace between 'e' and exponent.
60852         * tests/test-strtod.c (main): Enable hex float tests.
60853         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
60854         now provides.
60855
60856         Document various strtod bugs, with some fixes.
60857         * doc/posix-functions/strtod.texi (strtod): Document bugs with
60858         "-0x", "inf", "nan", and hex constants.
60859         * doc/posix-functions/atof.texi (atof): Likewise.
60860         * modules/stdlib (Makefile.am): Support strtod.
60861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
60862         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
60863         detect additional strtod bugs.
60864         * lib/stdlib.in.h (rpl_strtod): Add declarations.
60865         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
60866         bool where appropriate.  Parse 'inf' and 'nan'.
60867         * tests/test-strtod.c: New file.
60868         * modules/strtod (Depends-on): Add stdbool, stdlib.
60869         (configure.ac): Turn on module indicator.
60870         * modules/strtod-tests: New module.
60871
60872 2008-03-29  Eric Blake  <ebb9@byu.net>
60873
60874         Fix ftell on mingw.
60875         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
60876         * modules/ftell-tests (Depends-on): Add binary-io.
60877         * modules/ftello-tests (Depends-on): Likewise.
60878         * tests/test-ftell.c (main): Enhance test to cover behavior after
60879         ungetc.  Enforce binary mode.
60880         * tests/test-ftello.c (main): Likewise.
60881
60882         Pass test-freadseek on cygwin.
60883         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
60884         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
60885         ungetc buffer.
60886
60887         * tests/test-fflush2.c (main): Fix typo.
60888
60889 2008-03-29  Bruno Haible  <bruno@clisp.org>
60890
60891         * tests/test-fflush2.c (main): Temporarily disable the contents of
60892         this test.
60893         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
60894         Reported by Eric Blake.
60895
60896 2008-03-28  Simon Josefsson  <simon@josefsson.org>
60897
60898         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
60899         (GC_SHA224_DIGEST_SIZE): Add.
60900
60901         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
60902         (gc_hash_digest_length): Likewise.
60903         (gc_hash_buffer): Likewise.
60904
60905 2008-03-25  Bruno Haible  <bruno@clisp.org>
60906
60907         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
60908         detail which gettext release to use.
60909         Reported by Simon Josefsson.
60910
60911 2008-03-26  Jim Meyering  <meyering@redhat.com>
60912
60913         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
60914         * modules/gnumakefile (clean-GNUmakefile): Also, use
60915         test ... && ... || : syntax rather than if-then ... fi.
60916
60917         gnumakefile: Don't double-quote-expand $(VPATH) value.
60918         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
60919
60920 2008-03-24  Eric Blake  <ebb9@byu.net>
60921
60922         Alter GNUmakefile to install into top directory.
60923         * modules/maintainer-makefile: Split, and add dependency...
60924         * modules/gnumakefile: to this new module.
60925         * build-aux/GNUmakefile: Move...
60926         * top/GNUmakefile: ...here.
60927         * build-aux/maint.mk: Move...
60928         * top/maint.mk: ...here.
60929         * MODULES.html.sh (Support for maintaining...): Document new
60930         module.
60931
60932 2008-03-23  Bruno Haible  <bruno@clisp.org>
60933
60934         * gnulib-tool: New options --vc-files, --no-vc-files.
60935         (func_usage): Document them.
60936         (vc_files): New variable.
60937         (func_import): Consider vc_files.
60938         (func_create_testdir): Set vc_files to empty.
60939         Suggested by Jim Meyering and Karl Berry.
60940
60941 2008-03-23  Bruno Haible  <bruno@clisp.org>
60942
60943         Fix regex compilation error on HP-UX 11.
60944         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
60945         * modules/regex (Files): Add m4/mbstate_t.m4.
60946         Reported by Ton Voon <ton.voon@altinity.com>.
60947
60948 2008-03-23  Bruno Haible  <bruno@clisp.org>
60949
60950         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
60951
60952 2008-03-23  Eric Blake  <ebb9@byu.net>
60953             Bruno Haible  <bruno@clisp.org>
60954
60955         Install files from top/ in the destination directory.
60956         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60957         augmentation also for the files from top/.
60958         (func_import, func_create_testdir): Rewrite file names:
60959         top/filename -> filename.
60960
60961 2008-03-23  Bruno Haible  <bruno@clisp.org>
60962
60963         Tweak "gnulib --version" output.
60964         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
60965
60966 2008-03-23  Bruno Haible  <bruno@clisp.org>
60967
60968         Tweak "gnulib --version" output.
60969         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
60970         rather than contents of ChangeLog, when possible.
60971
60972 2008-03-21  Eric Blake  <ebb9@byu.net>
60973
60974         More --version tweaks.
60975         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
60976         date of last ChangeLog entry.
60977
60978 2008-03-21  Jim Meyering  <meyering@redhat.com>
60979
60980         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
60981
60982 2008-03-20  Eric Blake  <ebb9@byu.net>
60983
60984         VPATH fix.
60985         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
60986
60987 2008-03-20  Simon Josefsson  <simon@josefsson.org>
60988
60989         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
60990         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
60991
60992 2008-03-20  Eric Blake  <ebb9@byu.net>
60993
60994         Sync GNUmakefile with coreutils.
60995         * build-aux/GNUmakefile (have-Makefile): Rename...
60996         (_have-Makefile): ...to this, for namespace consideration.
60997         (GNUmakefile.cfg): Include, if present.
60998         (_autoreconf): Define a default.
60999         (_is-dist-target): New rule for rebuilds to pick up intra-release
61000         version.
61001         (maint-cfg.mk): Rename...
61002         (cfg.mk): ...to this.
61003
61004 2008-03-18  Jim Meyering  <meyering@redhat.com>
61005
61006         New script and module: mktempd
61007         * MODULES.html.sh (maint+release support): Add mktempd.
61008         * build-aux/mktempd: New file.
61009         * modules/mktempd: New file.
61010
61011 2008-03-15  Jim Meyering  <meyering@redhat.com>
61012
61013         Undo last change.
61014         * lib/sha1.c, lib/md5.c: 63 != ~63.
61015         Reported by Andreas Schwab.
61016
61017         sha1.c, md5.c: Hoist a redundant expression.
61018         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61019         "ctx->buflen" only once, before calling *_process_block.
61020         * lib/md5.c (md5_process_bytes): Likewise.
61021
61022 2008-03-14  Eric Blake  <ebb9@byu.net>
61023
61024         Bump copyright year in files generated by gnulib-tool.
61025         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61026         gnulib-tool, rather than hard-coding it.
61027
61028         Fix 'gnulib-tool --version' output to work with git.
61029         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61030         (startup): ...here.
61031         (func_version): Use it to invoke git-version-gen, rather than
61032         relying on CVS keyword expansion.  Modernize wording.
61033         (cvsdatestamp, last_checkin_date, version): Kill unused
61034         variables.
61035
61036 2008-03-12  Jim Meyering  <meyering@redhat.com>
61037
61038         Recognize optional cast of the argument to free.
61039         * build-aux/useless-if-before-free: Update regexps.
61040
61041         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61042
61043 2008-03-11  Bruno Haible  <bruno@clisp.org>
61044
61045         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61046         by a single package.
61047         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61048         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61049         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61050         Reported by Sam Steingold <sds@gnu.org>.
61051
61052 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61053
61054         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61055         repositories.
61056
61057 2008-03-11  Bruno Haible  <bruno@clisp.org>
61058
61059         Avoid conflicts between local macro definitions.
61060         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61061         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61062
61063 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61064             Bruno Haible  <bruno@clisp.org>
61065
61066         Make va_copy work with some version of xlc on AIX 5.1.
61067         * lib/stdarg.in.h: New file.
61068         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61069         On AIX, use a <stdarg.h> file substitute.
61070         * modules/stdarg (Files): Add lib/stdarg.in.h.
61071         (Depends-on): Add include_next.
61072         (Makefile.am): Build a stdarg.h substitute if requested.
61073         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61074
61075 2008-03-10  Bruno Haible  <bruno@clisp.org>
61076
61077         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61078         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61079         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61080
61081 2008-03-10  Bruno Haible  <bruno@clisp.org>
61082
61083         * modules/stdlib (Depends-on): Add include_next, remove
61084         absolute-header.
61085
61086 2008-03-09  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/freadahead.h (freadahead): Document more precisely.
61089         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61090         the sum of both buffer sizes.
61091         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61092         * NEWS: Document the change.
61093
61094 2008-03-09  Bruno Haible  <bruno@clisp.org>
61095
61096         Extend freadptr to return also the buffer size.
61097         * lib/freadptr.h (freadptr): Add sizep argument.
61098         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61099         (freadptr): Add sizep argument. Determine buffer size like freadahead
61100         does.
61101         * tests/test-freadptr.c: Don't include freadahead.h.
61102         (main): Adapt for new calling convention of freadptr.
61103         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61104         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61105         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61106         tests/test-freadptr2.sh.
61107         (Depends): Remove freadahead.
61108         (TESTS): Add test-freadptr2.sh.
61109         (check_PROGRAMS): Add test-freadptr2.
61110
61111 2008-03-09  Bruno Haible  <bruno@clisp.org>
61112
61113         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61114         Report and solution by Simon Josefsson.
61115
61116 2008-03-06  Bruno Haible  <bruno@clisp.org>
61117
61118         Make fflush after ungetc work on BSD platforms.
61119         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61120         * tests/test-fflush2.c: New file.
61121         * tests/test-fflush2.sh: New file.
61122         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61123         tests/test-fflush2.c.
61124         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61125         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61126
61127 2008-03-06  Eric Blake  <ebb9@byu.net>
61128
61129         Likewise for ftello.
61130         * modules/ftello (Dependencies): Add extensions.
61131         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61132
61133 2008-03-06  Bruno Haible  <bruno@clisp.org>
61134
61135         * modules/fseeko (Dependencies): Add extensions.
61136         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61137         Needed on glibc systems.
61138
61139 2008-03-06  Bruno Haible  <bruno@clisp.org>
61140
61141         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61142         email address.
61143         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61144
61145 2008-03-06  Bruno Haible  <bruno@clisp.org>
61146
61147         * users.txt: Add libgnupdf.
61148
61149 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61150
61151         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61152         (Header File Substitutes, Function Substitutes,
61153         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61154         (Build robot for gnulib): Fix typo.
61155
61156 2008-03-06  Bruno Haible  <bruno@clisp.org>
61157
61158         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61159         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61160
61161 2008-03-06  Bruno Haible  <bruno@clisp.org>
61162
61163         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61164         * doc/gnulib.texi: Include it.
61165
61166 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61167
61168         * modules/func (License): Change license to unlimited; there was
61169         no LGPL parts in the module anyway.
61170
61171 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61172
61173         * modules/__func__: Renamed to modules/func.
61174         * modules/__func__-tests: Renamed to modules/func-tests.
61175         * tests/test-__func__.c: Renamed to tests/test-func.c.
61176         * m4/__func__.m4: Renamed to m4/func.m4.
61177         * doc/gnulib.texi (__func__): Section renamed to func.
61178         Suggested by Eric Blake <ebb9@byu.net>.
61179
61180 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61181
61182         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61183         about __func__.  Make example self-contained.  Suggested by Eric
61184         Blake <ebb9@byu.net>.
61185
61186         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61187         Suggested by Eric Blake <ebb9@byu.net>.
61188
61189 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61190
61191         * modules/__func__: New file.
61192         * modules/__func__-tests: New file.
61193         * tests/test-__func__.c: New file.
61194         * m4/__func__.m4: New file.
61195         * doc/gnulib.texi (__func__): Document __func__ module.
61196
61197 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61198
61199         * modules/byteswap (License): Re-license as LGPLv2+.
61200
61201 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61202
61203         * doc/Makefile: Add pdf target.
61204
61205 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61206
61207         * modules/inline (License): Use 'unlimited', since there are only
61208         *.m4 files in this module.
61209
61210 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61211             Bruno Haible  <bruno@clisp.org>
61212
61213         Add support for HP C 7.1 on OpenVMS 8.3.
61214         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61215
61216 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61217
61218         Update VMS specifics.
61219         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61220
61221 2008-03-02  Jim Meyering  <meyering@redhat.com>
61222
61223         Remove the last dependency on the "free" module.
61224         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61225         Reported by Bob Proulx.
61226
61227         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61228
61229         Remove useless "if" tests before free.  Deprecate "free" module.
61230         * doc/posix-functions/free.texi: Mention that this
61231         module is no longer useful.
61232         * modules/free (Notice): Say this module is obsolete.
61233         * modules/readutmp (Depends-on): Remove free.
61234         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61235         * lib/putenv.c (putenv): Likewise.
61236         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61237         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61238         * tests/test-c-strcasestr.c (main): Likewise.
61239         * tests/test-c-strstr.c (main): Likewise.
61240         * tests/test-mbscasestr1.c (main): Likewise.
61241         * tests/test-mbscasestr2.c (main): Likewise.
61242         * tests/test-mbsstr1.c (main): Likewise.
61243         * tests/test-mbsstr2.c (main): Likewise.
61244         * tests/test-memmem.c (main): Likewise.
61245         * tests/test-strcasestr.c (main): Likewise.
61246         * tests/test-striconv.c (main): Likewise.
61247         * tests/test-striconveh.c (main): Likewise.
61248         * tests/test-striconveha.c (main): Likewise.
61249         * tests/test-strstr.c (main): Likewise.
61250
61251         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61252
61253         bootstrap: sync from coreutils again
61254         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61255
61256 2008-03-01  Jim Meyering  <meyering@redhat.com>
61257
61258         bootstrap: sync from coreutils
61259         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61260         also when the target doesn't exist.
61261
61262 2008-03-01  Eric Blake  <ebb9@byu.net>
61263
61264         Fix bugs in last patch.
61265         * lib/memchr2.c (memchr2): Fix typo.
61266         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61267         extension.
61268         Reported by Bruce Korb.
61269
61270         New module 'memchr2'.
61271         * modules/memchr2: New file.
61272         * modules/memchr2-tests: Likewise.
61273         * lib/memchr2.h: Likewise.
61274         * lib/memchr2.c: Likewise, based on memchr.c.
61275         * tests/test-memchr2.c: New test.
61276         * MODULES.html.sh (String handling): Add memchr2.
61277
61278 2008-02-29  Bruno Haible  <bruno@clisp.org>
61279
61280         * modules/freadseek-tests: New file.
61281         * tests/test-freadseek.sh: New file.
61282         * tests/test-freadseek.c: New file.
61283
61284         New module 'freadseek'.
61285         * modules/freadseek: New file.
61286         * lib/freadseek.h: New file.
61287         * lib/freadseek.c: New file.
61288         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61289
61290 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61291
61292         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61293         wydawca.
61294
61295         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61296         program_invocation_name and program_invocation_short_name are
61297         present.
61298
61299 2008-02-28  Bruno Haible  <bruno@clisp.org>
61300
61301         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61302         * tests/test-freadptr.sh: Also test non-seekable stdin.
61303
61304 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61305
61306         * build-aux/bootstrap (source_base, m4_base)
61307         (doc_base, tests_base): New variables.
61308         (gnulib_tool_options): Do not hardcode base directories, use
61309         the above variables instead.
61310
61311 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61312
61313         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61314
61315 2008-02-28  Bruno Haible  <bruno@clisp.org>
61316
61317         * modules/freadptr-tests: New file.
61318         * tests/test-freadptr.sh: New file.
61319         * tests/test-freadptr.c: New file.
61320
61321         New module 'freadptr'.
61322         * modules/freadptr: New file.
61323         * lib/freadptr.h: New file.
61324         * lib/freadptr.c: New file.
61325         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61326
61327 2008-02-26  Karl Berry  <karl@freefriends.org>
61328
61329         Sync from Libtool:
61330         * libltdl/argz.c (argz_add, argz_count): New functions.
61331         * libltdl/argz.in.h: Declare them.
61332         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61333
61334 2008-02-22  Bruno Haible  <bruno@clisp.org>
61335
61336         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61337         is a pointer type.  Needed for HP-UX 10.
61338         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61339         * doc/posix-functions/gmtime_r.texi: Likewise.
61340         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61341
61342 2008-02-24  Bruno Haible  <bruno@clisp.org>
61343
61344         * modules/environ-tests: New file.
61345         * tests/test-environ.c: New file.
61346
61347         New module 'environ'.
61348         * modules/environ: New file.
61349         * lib/unistd.in.h (environ): New declaration.
61350         * m4/environ.m4: New file.
61351         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61352         after use.
61353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61354         HAVE_DECL_ENVIRON.
61355         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61356         HAVE_DECL_ENVIRON.
61357         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61358         wrong claim that 'environ' is missing on some systems.
61359         * modules/execute (Depends-on): Add environ.
61360         * lib/execute.c (environ): Remove fallback declaration.
61361         * modules/pipe (Depends-on): Add environ.
61362         * lib/pipe.c (environ): Remove fallback declaration.
61363         * modules/setenv (Depends-on): Add environ.
61364         * lib/setenv.c (environ): Remove fallback declaration.
61365         * modules/unsetenv (Depends-on): Add environ.
61366         * lib/unsetenv.c (environ): Remove fallback declaration.
61367         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61368         m4/environ.m4.
61369         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61370         (gl_PREREQ_UNSETENV): Likewise.
61371
61372 2008-02-24  Bruno Haible  <bruno@clisp.org>
61373
61374         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61375
61376 2008-02-20  Bob Proulx  <bob@proulx.com>
61377
61378         Enable use of older two part flavor 'git describe'.
61379         * build-aux/git-version-gen: If using the older two part flavor of
61380         git version then recreate the third part now present in the
61381         newer three part flavor of git describe.
61382
61383 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61384
61385         * lib/fts.c (fts_build): Typo correction to comment.
61386
61387 2008-02-17  Bruno Haible  <bruno@clisp.org>
61388
61389         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61390         generating no-op conflicts.
61391
61392 2008-02-17  Bruno Haible  <bruno@clisp.org>
61393
61394         Speed up by 10%.
61395         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61396         result_entries, rather than an index-based loop.
61397
61398 2008-02-17  Bruno Haible  <bruno@clisp.org>
61399
61400         Speed up by 25%.
61401         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61402         'hashcode_cached'.
61403         (entry_create): New function.
61404         (entry_hashcode): Use the cached hashcode if possible.
61405         (read_changelog_file, try_split_merged_entry): Use entry_create.
61406
61407 2008-02-17  Bruno Haible  <bruno@clisp.org>
61408
61409         Speed up from O(n^2) to O(n) for long ChangeLog files.
61410         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61411         (read_changelog_file): Change implementation of entries_reversed list
61412         to rbtreehash.
61413         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61414
61415 2008-02-17  Bruno Haible  <bruno@clisp.org>
61416
61417         New option --split-merged-entry.
61418         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61419         (find_paragraph_end, try_split_merged_entry): New functions.
61420         (long_options): Add option --split-merged-entry.
61421         (usage): Document option --split-merged-entry.
61422         (main): Implement option --split-merged-entry.
61423         Reported by Eric Blake.
61424
61425 2008-02-17  Bruno Haible  <bruno@clisp.org>
61426
61427         * lib/git-merge-changelog.c: Include c-strstr.h.
61428         (main): Support the "git pull --rebase" situation.
61429         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61430         Reported by Eric Blake.
61431
61432 2008-02-16  Eric Blake  <ebb9@byu.net>
61433
61434         Avoid doubling \ in common case of "c-maybe" quoting style.
61435         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61436         eliding outer quotes.
61437         * lib/quotearg.h: Document this.
61438         * tests/test-quotearg.c (result_strings, inputs, results_g)
61439         (flag_results, locale_results): Test it by adding a new string to
61440         each test group.
61441         (compare_strings): Test new string.
61442
61443 2008-02-13  Eric Blake  <ebb9@byu.net>
61444
61445         Avoid trigraph quoting in default output.
61446         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61447         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61448         unless explicitly requested.
61449         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61450
61451 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61452
61453         Don't rely on signed integer overflowing to negative value.
61454         * lib/getugroups.c (getugroups): Include <limits.h>.
61455         Instead, compare against INT_MAX, and increment only if the test passes.
61456
61457 2008-02-13  Jim Meyering  <meyering@redhat.com>
61458         and Eric Blake  <ebb9@byu.net>
61459
61460         Avoid shadowing warning and compile errors on Linux.
61461         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61462         forwarding macros on Linux.
61463         (dcgettext): Define a stub, for Linux.
61464         (results_g, main): Avoid warnings.
61465
61466 2008-02-12  Eric Blake  <ebb9@byu.net>
61467
61468         Silence warning in last patch.
61469         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61470
61471         Quotearg part 4: add tests, fix c-maybe colon quoting.
61472         * lib/quotearg.h: Improve documentation.
61473         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61474         escapes when adding outer quotes.  When quoting trigraphs, use
61475         valid C notation.  When quoting NUL, omit extra characters if next
61476         character is not digit.  Alter prototype.
61477         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61478         callers.
61479         * modules/quotearg-tests: New module.
61480         * tests/test-quotearg.c: New test.
61481
61482 2008-02-07  Eric Blake  <ebb9@byu.net>
61483
61484         Quotearg part 3: add flag to control outer quote elision.
61485         * lib/quotearg.h (c_maybe_quoting_style): New style.
61486         (enum quoting_flags): Better documentation of flags.
61487         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61488         c-maybe style.
61489         (quotearg_buffer_restyled): Handle new flag to elide outer
61490         quotes.
61491
61492         Quotearg part 2: add flag that can control NUL elision.
61493         * lib/quotearg.h (set_quoting_flags): New prototype.
61494         * lib/quotearg.c (struct quoting_options): Add flag field.
61495         (set_quoting_flags): New function.
61496         (quotearg_buffer_restyled): Add flags parameter.
61497         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61498         (quotearg_n_options): Set the flag, since length cannot be
61499         returned.
61500         (quoting_options_from_style): Default flags correctly.
61501
61502         Quotearg part 1: more wrappers, restore quotearg_char state.
61503         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61504         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61505         (quotearg_colon_mem): New wrappers.
61506         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61507         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61508         functions.
61509         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61510         (quotearg_colon_mem): New functions.
61511
61512 2008-02-11  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61515         library in the current directory: it does not work with parallel make.
61516         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61517
61518 2008-02-11  Bruno Haible  <bruno@clisp.org>
61519
61520         * .gitattributes: New file.
61521
61522 2008-02-11  Jim Meyering  <meyering@redhat.com>
61523
61524         useless-if-before-free: Fix reversed exit values.
61525         * build-aux/useless-if-before-free: Use correct values
61526         for EXIT_MATCH and EXIT_NO_MATCH.
61527
61528         * build-aux/useless-if-before-free: Close stdout carefully.
61529
61530 2008-02-10  Bruno Haible  <bruno@clisp.org>
61531
61532         New module 'git-merge-changelog'.
61533         * modules/git-merge-changelog: New file.
61534         * lib/git-merge-changelog.c: New file.
61535
61536 2008-02-10  Jim Meyering  <meyering@redhat.com>
61537
61538         useless-if-before-free: New option: --list (-l).
61539
61540         useless-if-before-free: Don't exit immediately upon open failure.
61541         * build-aux/useless-if-before-free: Exit 2 for errors.
61542         Upon failure to open a file, don't exit immediately.
61543         Rather, just warn and continue with any remaining files.
61544
61545 2008-02-10  Bruno Haible  <bruno@clisp.org>
61546
61547         New abstract list operation 'node_set_value'.
61548         * lib/gl_list.h (gl_list_node_set_value): New function.
61549         (struct gl_list_implementation): New field node_set_value.
61550         * lib/gl_list.c (gl_list_node_set_value): New function.
61551         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61552         (gl_array_list_implementation): Update.
61553         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61554         (gl_carray_list_implementation): Update.
61555         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61556         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61557         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61558         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61559         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61560         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61561         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61562         Update.
61563         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61564         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61565         (gl_sublist_list_implementation): Update.
61566
61567 2008-02-10  Bruno Haible  <bruno@clisp.org>
61568
61569         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61570         Needed when ELEMENT is #defined to 'some_type *'.
61571
61572 2008-02-10  Jim Meyering  <meyering@redhat.com>
61573
61574         New script and module: useless-if-before-free
61575         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61576         * build-aux/useless-if-before-free: New file.
61577         * modules/useless-if-before-free: New file.
61578
61579         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61580
61581         xstrtol_error: Fix typo.
61582         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61583         s/exit_failure/exit_status/.
61584
61585 2008-02-09  Jim Meyering  <meyering@redhat.com>
61586
61587         New script and module: gitlog-to-changelog
61588         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61589         * modules/gitlog-to-changelog: New file.
61590         * build-aux/gitlog-to-changelog: New file.
61591
61592 2008-02-08  Jim Meyering  <meyering@redhat.com>
61593
61594         Avoid two "parameter unused" warnings.
61595         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61596         Mark "st" as used.
61597
61598         Use "git COMMAND", not "git-COMMAND".
61599         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61600         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61601         * build-aux/git-version-gen: Use "git status", not "git-status".
61602
61603 2008-02-07  Bruno Haible  <bruno@clisp.org>
61604
61605         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61606         Avoids a crash on Windows Vista.
61607         Reported by Adam Strzelecki <ono@java.pl> via
61608         Simon Josefsson <simon@josefsson.org>.
61609
61610 2008-02-06  Bruno Haible  <bruno@clisp.org>
61611
61612         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61613         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61614         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61616         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61617         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61618         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61619         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61620         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61621         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61622         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61623         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61624         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61625         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61626         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61627         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61628         left-adjust flag.
61629         * tests/test-snprintf-posix.h (test_function): Likewise.
61630         * tests/test-sprintf-posix.h (test_function): Likewise.
61631         * tests/test-vasprintf-posix.c (test_function): Likewise.
61632         * doc/posix-functions/fprintf.texi: Update.
61633         * doc/posix-functions/printf.texi: Update.
61634         * doc/posix-functions/snprintf.texi: Update.
61635         * doc/posix-functions/sprintf.texi: Update.
61636         * doc/posix-functions/vfprintf.texi: Update.
61637         * doc/posix-functions/vprintf.texi: Update.
61638         * doc/posix-functions/vsnprintf.texi: Update.
61639         * doc/posix-functions/vsprintf.texi: Update.
61640         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61641
61642 2008-02-06  Bruno Haible  <bruno@clisp.org>
61643
61644         Fix bug introduced on 2008-01-26.
61645         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61646
61647 2008-02-06  Bruno Haible  <bruno@clisp.org>
61648
61649         Fix bug introduced on 2007-06-10.
61650         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61651         !NEED_PRINTF_FLAG_ZERO.
61652
61653 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61654
61655         getloadavg: use libperfstat on AIX5
61656         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61657
61658 2008-02-03  Bruno Haible  <bruno@clisp.org>
61659
61660         * lib/diffseq.h: Add comments about required #includes.
61661         Reported by Michael Biggs <gnulib@doubleplum.net>.
61662
61663 2008-02-01  Bruno Haible  <bruno@clisp.org>
61664
61665         * users.txt: Add gnuit.
61666
61667 2008-01-31  Bruno Haible  <bruno@clisp.org>
61668
61669         * lib/md4.c (set_uint32): Mark as inline.
61670         * lib/md5.c (set_uint32): Likewise.
61671         * lib/sha1.c (set_uint32): Likewise.
61672         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61673         * m4/md5.m4 (gl_MD5): Likewise.
61674         * m4/sha1.m4 (gl_SHA1): Likewise.
61675
61676 2008-01-31  Jim Meyering  <meyering@redhat.com>
61677
61678         Use "sizeof VAR", rather than a literal "4".
61679         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61680         * lib/md4.c (md4_read_ctx): Likewise.
61681         * lib/sha1.c (sha1_read_ctx): Likewise.
61682
61683 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61684
61685         * tests/test-sha1.c: New file, based on test-md5.c.
61686
61687         * modules/crypto/sha1-tests: New file.
61688
61689 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61690
61691         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61692
61693 2008-01-31  Jim Meyering  <meyering@redhat.com>
61694
61695         Prefer "sizeof v" over the equivalent "4".
61696         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61697         * lib/md5.c (set_uint32): Likewise.
61698         * lib/sha1.c (set_uint32): Likewise.
61699
61700 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61701
61702         * lib/sha1.c (set_uint32): Mark function as static.
61703
61704 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61705
61706         md2: clarify comments to say that alignment is not required.
61707         * lib/md2.h: Remove warning about alignment in comment.
61708         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61709         never been required.
61710
61711 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61712
61713         md4: adapt alignment constraint fix from sha1.
61714         * lib/md4.c (set_uint32): New function, from sha1.c
61715         (md4_read_ctx): Use it.
61716         (md4_finish_ctx): Doc fix.
61717         * lib/md4.h: Doc fix.
61718
61719 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61720
61721         md5: adapt alignment constraint fix from sha1.
61722         * lib/md5.c (set_uint32): New function, from sha1.c
61723         (md5_read_ctx): Use it.
61724         (md5_finish_ctx): Doc fix.
61725         * lib/md5.h: Doc fix.
61726
61727 2008-01-30  Peter Palfrader  <weasel@debian.org>
61728
61729         sha1: remove the result buffer alignment constraint
61730         * lib/sha1.c (set_uint32): New function.
61731         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61732         constraint.
61733         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61734         * lib/sha1.h: Likewise.
61735
61736 2008-01-30  Andreas Schwab  <schwab@suse.de>
61737             Bruno Haible  <bruno@clisp.org>
61738
61739         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61740         correct definition of LDBL_MIN_EXP.
61741
61742 2008-01-30  Karl Berry  <karl@gnu.org>
61743
61744         * config/srclist-update: try to preserve x bit on updates.
61745         * config/srclistvars.sh: update for karl.
61746
61747 2008-01-29  Jim Meyering  <meyering@redhat.com>
61748
61749         vasnprintf.c: Avoid warning about unused label
61750         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61751         "overflow" label definition and associated code with the
61752         same cpp condition that guards the sole use of that label.
61753
61754 2008-01-26  Bruno Haible  <bruno@clisp.org>
61755
61756         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61757         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61758         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61759         * lib/isnanl-nolibm.h (isnanl): Likewise.
61760         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61761
61762 2008-01-26  Bruno Haible  <bruno@clisp.org>
61763
61764         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61765         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
61766
61767 2008-01-26  Bruno Haible  <bruno@clisp.org>
61768
61769         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
61770         GCC >= 4.0 built-in.
61771         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
61772
61773 2008-01-26  Bruno Haible  <bruno@clisp.org>
61774
61775         Rename isnan, applicable to 'double' only, to isnand.
61776         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
61777         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
61778         (configure.ac): Update.
61779         (Include): Replace "isnan.h" with "isnand.h".
61780         * m4/isnand.m4: Renamed from m4/isnan.m4.
61781         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
61782         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
61783         instead of isnan.c.
61784         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
61785         instead of HAVE_ISNAN_IN_LIBC.
61786         (isnand): Renamed from isnan.
61787         * lib/isnand.c: New file.
61788         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
61789         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
61790         (Makefile.am): Update.
61791         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
61792         Include isnand.h instead of isnan.h.
61793         (main): Test isnand instead of isnan.
61794         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
61795         isnan-nolibm.
61796         * modules/frexp (Depends-on): Likewise.
61797         * modules/frexp-tests (Depends-on): Likewise.
61798         * modules/frexp-nolibm (Depends-on): Likewise.
61799         * modules/frexp-nolibm-tests (Depends-on): Likewise.
61800         * modules/isfinite (Depends-on): Likewise.
61801         * modules/round-tests (Depends-on): Likewise.
61802         * modules/signbit (Depends-on): Likewise.
61803         * modules/signbit-tests (Depends-on): Likewise.
61804         * modules/snprintf-posix (Depends-on): Likewise.
61805         * modules/sprintf-posix (Depends-on): Likewise.
61806         * modules/trunc-tests (Depends-on): Likewise.
61807         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61808         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61809         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61810         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61811         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61812         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61813         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61814         * modules/vasnprintf-posix (Depends-on): Likewise.
61815         * modules/vasprintf-posix (Depends-on): Likewise.
61816         * modules/vfprintf-posix (Depends-on): Likewise.
61817         * modules/vsnprintf-posix (Depends-on): Likewise.
61818         * modules/vsprintf-posix (Depends-on): Likewise.
61819         * lib/frexp.c: Include isnand.h instead of isnan.h.
61820         (ISNAN): Set to isnand instead of isnan.
61821         * lib/isfinite.c: Include isnand.h instead of isnan.h.
61822         (gl_isfinited): Use isnand instead of isnan.
61823         * lib/signbitd.c: Include isnand.h instead of isnan.h.
61824         (gl_signbitd): Use isnand instead of isnan.
61825         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
61826         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
61827         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
61828         (main): Use isnand instead of isnan.
61829         * tests/test-round1.c: Include isnand.h.
61830         (main): Use isnand instead of isnan.
61831         * tests/test-round2.c: Include isnand.h instead of isnan.h.
61832         (ISNAN): Set to isnand instead of isnan.
61833         * tests/test-trunc1.c: Include isnand.h.
61834         (main): Use isnand instead of isnan.
61835         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
61836         (equal): Use isnand instead of isnan.
61837         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
61838         isnand-nolibm.
61839         * NEWS: Mention the change.
61840
61841 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61842             Bruno Haible  <bruno@clisp.org>
61843
61844         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
61845         the GCC builtins for signbits are present and set
61846         REPLACE_SIGNBIT_USING_GCC if so.
61847         * lib/math.in.h (signbit): Define using GCC builtins if
61848         REPLACE_SIGNBIT_USING_GCC is set.
61849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
61850         REPLACE_SIGNBIT_USING_GCC.
61851         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
61852
61853 2008-01-25  Jim Meyering  <meyering@redhat.com>
61854
61855         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
61856         * lib/poll.c: Include <config.h>, not "config.h".
61857         * tests/test-getaddrinfo.c: Likewise.
61858
61859 2008-01-25  Simon Josefsson  <simon@josefsson.org>
61860
61861         * modules/sockets-tests: New file.
61862
61863 2008-01-24  Simon Josefsson  <simon@josefsson.org>
61864
61865         * modules/sockets: New module, can be used to call WSA_Startup and
61866         WSA_Cleanup when needed.
61867
61868         * lib/sockets.h, lib/sockets.c: New files.
61869
61870         * m4/sockets.m4: New file.
61871
61872         * tests/test-sockets.c: New file.
61873
61874 2008-01-19  Bruno Haible  <bruno@clisp.org>
61875
61876         * doc/posix-headers: Renamed from doc/headers.
61877         * doc/posix-functions: Renamed from doc/functions.
61878         * doc/gnulib.texi: Update.
61879
61880 2008-01-19  Bruno Haible  <bruno@clisp.org>
61881
61882         * doc/glibc-functions/strcasestr.texi: Include contents of
61883         doc/functions/strcasestr.texi, fixing the list of platforms.
61884         * doc/functions/strcasestr.texi: Remove file.
61885
61886 2008-01-19  Bruno Haible  <bruno@clisp.org>
61887
61888         * doc/glibc-functions/memmem.texi: Include contents of
61889         doc/functions/memmem.texi.
61890         * doc/functions/memmem.texi: Remove file.
61891
61892 2008-01-18  Bruno Haible  <bruno@clisp.org>
61893
61894         * doc/glibc-functions/*.texi: New files.
61895         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
61896         to use the new files.
61897
61898 2008-01-17  Bruno Haible  <bruno@clisp.org>
61899
61900         * tests/test-gethostname.c (main): Fix printf statement.
61901
61902 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61903
61904         * modules/gethostname-tests: New file.
61905
61906         * tests/test-gethostname.c: New file.
61907
61908 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61909
61910         * lib/gethostname.c: Include string.h unconditionally, strncpy is
61911         used by the UNAME case.  Reported by Bruno Haible
61912         <bruno@clisp.org>.
61913
61914 2008-01-17  Eric Blake  <ebb9@byu.net>
61915
61916         Convert c-strcasestr to be more efficient.
61917         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
61918         (Depends-on): Add c-strcase, remove malloca, strnlen.
61919         * tests/test-c-strcasestr.c (main): Enhance test.
61920         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
61921
61922 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61923
61924         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
61925         Use it in creating po/Makevars.
61926
61927 2008-01-15  Simon Josefsson  <simon@josefsson.org>
61928
61929         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
61930         Applications that requires it should initialize libgcrypt
61931         manually.
61932
61933 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61934
61935         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61936
61937 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61938
61939         Fix problem with getdate on mingw32 reported by Simon Josefsson
61940         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
61941         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
61942         tzname", when deciding whether to declare tzname.
61943         * lib/strftime.c (tzname): Likewise.
61944
61945 2008-01-15  Bruno Haible  <bruno@clisp.org>
61946
61947         Work around a MacOS X 10.5 bug in frexpl().
61948         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
61949         * doc/functions/frexpl.texi: Document the bug.
61950         Reported by Elias Pipping <pipping@gentoo.org>.
61951
61952 2008-01-14  Eric Blake  <ebb9@byu.net>
61953
61954         Touch up previous patch.
61955         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
61956         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
61957
61958         Convert strcasestr module to use Two-Way algorithm.
61959         * modules/strcasestr-simple: New module, based on the old
61960         strcasestr, but with Two-Way rather than KMP.
61961         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
61962         * lib/string.in.h (rpl_strcasestr): Declare.
61963         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
61964         performance.
61965         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
61966         * modules/string (Makefile.am): Support strcasestr.
61967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61968         * modules/strcasestr-tests (Depends-on): Check for alarm.
61969         * tests/test-strcasestr.c: Augment test.
61970         * lib/str-two-way.h: Clean up stray macro.
61971         * NEWS: Document new module.
61972         * MODULES.html.sh (string handling): Likewise.
61973         * doc/functions/strcasestr.texi: New file.
61974         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
61975         here, since it is not a POSIX function.
61976
61977 2008-01-14  Colin Watson  <cjwatson@debian.org>
61978             Bruno Haible  <bruno@clisp.org>
61979
61980         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
61981         works fine; if not, set REPLACE_STRSIGNAL.
61982         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
61983         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61984         REPLACE_STRSIGNAL.
61985         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
61986         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
61987         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
61988
61989 2008-01-14  Bruno Haible  <bruno@clisp.org>
61990
61991         * modules/strsignal (Include): Change to <string.h>.
61992
61993 2008-01-14  Colin Watson  <cjwatson@debian.org>
61994
61995         * modules/argp (Notice): Add a notice recommending to change
61996         XGETTEXT_OPTIONS.
61997         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
61998
61999 2008-01-13  Colin Watson  <cjwatson@debian.org>
62000
62001         * modules/strsignal-tests: New file.
62002         * tests/test-strsignal.c: New file.
62003
62004         * lib/strsignal.c: New file, from glibc with modifications.
62005         * lib/siglist.h: New file, from glibc with modifications.
62006         * lib/string.in.h (strsignal): New declaration.
62007         * m4/strsignal.m4: New file.
62008         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62009         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62010         * modules/strsignal: New file.
62011         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62012         HAVE_DECL_STRSIGNAL.
62013
62014 2008-01-13  Bruno Haible  <bruno@clisp.org>
62015
62016         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62017         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62018         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62019         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62020
62021 2008-01-13  Bruno Haible  <bruno@clisp.org>
62022
62023         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62024         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62025         * lib/argp.h (__attribute__): Likewise.
62026         * lib/c-stack.c (__attribute__): Likewise.
62027         * lib/error.h (__attribute__): Likewise.
62028         * lib/fts.c (__attribute__): Likewise.
62029         * lib/openat.h (__attribute__): Likewise.
62030         * lib/stdio.in.h (__attribute__): Likewise.
62031         * lib/string.in.h (__attribute__): Likewise.
62032         * lib/utimens.c (__attribute__): Likewise.
62033         * lib/vasnprintf.h (__attribute__): Likewise.
62034         * lib/xalloc.h (__attribute__): Likewise.
62035         * lib/xprintf.h (__attribute__): Likewise.
62036         * lib/xstrtol.h (__attribute__): Likewise.
62037         * lib/xvasprintf.h (__attribute__): Likewise.
62038
62039 2008-01-12  Bruno Haible  <bruno@clisp.org>
62040
62041         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62042         * doc/glibc-headers/a.out.texi: New file.
62043         * doc/glibc-headers/aliases.texi: New file.
62044         * doc/glibc-headers/alloca.texi: New file.
62045         * doc/glibc-headers/ar.texi: New file.
62046         * doc/glibc-headers/argp.texi: New file.
62047         * doc/glibc-headers/argz.texi: New file.
62048         * doc/glibc-headers/byteswap.texi: New file.
62049         * doc/glibc-headers/crypt.texi: New file.
62050         * doc/glibc-headers/endian.texi: New file.
62051         * doc/glibc-headers/envz.texi: New file.
62052         * doc/glibc-headers/err.texi: New file.
62053         * doc/glibc-headers/error.texi: New file.
62054         * doc/glibc-headers/execinfo.texi: New file.
62055         * doc/glibc-headers/fpu_control.texi: New file.
62056         * doc/glibc-headers/fstab.texi: New file.
62057         * doc/glibc-headers/fts.texi: New file.
62058         * doc/glibc-headers/getopt.texi: New file.
62059         * doc/glibc-headers/ieee754.texi: New file.
62060         * doc/glibc-headers/ifaddrs.texi: New file.
62061         * doc/glibc-headers/libintl.texi: New file.
62062         * doc/glibc-headers/mcheck.texi: New file.
62063         * doc/glibc-headers/mntent.texi: New file.
62064         * doc/glibc-headers/obstack.texi: New file.
62065         * doc/glibc-headers/paths.texi: New file.
62066         * doc/glibc-headers/printf.texi: New file.
62067         * doc/glibc-headers/pty.texi: New file.
62068         * doc/glibc-headers/resolv.texi: New file.
62069         * doc/glibc-headers/shadow.texi: New file.
62070         * doc/glibc-headers/sysexits.texi: New file.
62071         * doc/glibc-headers/ttyent.texi: New file.
62072
62073 2008-01-12  Jim Meyering  <meyering@redhat.com>
62074
62075         announce-gen: emit Gnulib's git-based version string.
62076         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62077         New option --gnulib-version=V, where V is expected to be
62078         the output of running git describe in the gnulib directory.
62079         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62080         not useful, and plan to stop publishing an xdelta file with each
62081         coreutils release.
62082
62083         * build-aux/announce-gen: Also check for lzma-compressed files.
62084
62085 2008-01-11  Bruno Haible  <bruno@clisp.org>
62086
62087         * tests/test-memmem.c (main): Increase maximum allowed time.
62088         * tests/test-strstr.c (main): Likewise.
62089
62090 2008-01-11  Bruno Haible  <bruno@clisp.org>
62091
62092         * doc/functions/memmem.texi: Add more precisions about platforms.
62093         * doc/functions/strstr.texi: Likewise.
62094
62095 2008-01-10  Eric Blake  <ebb9@byu.net>
62096
62097         * m4/strstr.m4: Delete cruft from copy-n-paste.
62098         Reported by Bruno Haible.
62099
62100 2008-01-10  Bruno Haible  <bruno@clisp.org>
62101
62102         Make c-strstr rely on strstr.
62103         * lib/c-strstr.c: Don't include str-kmp.h.
62104         (c_strstr): Define in terms of strstr.
62105         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62106         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62107
62108 2008-01-10  Bruno Haible  <bruno@clisp.org>
62109
62110         * doc/gnulib.texi (String Functions in C Locale): New section.
62111         * doc/c-ctype.texi: New file.
62112         * doc/c-strcase.texi: New file.
62113         * doc/c-strcaseeq.texi: New file.
62114         * doc/c-strcasestr.texi: New file.
62115         * doc/c-strstr.texi: New file.
62116         * doc/c-strtod.texi: New file.
62117         * doc/c-strtold.texi: New file.
62118
62119 2008-01-10  Eric Blake  <ebb9@byu.net>
62120
62121         * lib/relocatable.h: Fix a comment.
62122
62123 2008-01-10  Eric Blake  <ebb9@byu.net>
62124
62125         Share two-way algorithm.
62126         * lib/str-two-way.h: New file, merged from...
62127         * lib/memmem.c: ...here...
62128         * lib/strstr.c: ...and here.
62129         * modules/memmem (Files): Use it.
62130         * modules/strstr (Files): Likewise.
62131
62132         Avoid quadratic strstr implementations.
62133         * lib/strstr.c: New file.
62134         * m4/strstr.m4: Likewise.
62135         * modules/strstr: Likewise.
62136         * modules/strstr-tests: Likewise.
62137         * tests/test-strstr.c: Likewise.
62138         * lib/string.in.h (rpl_strstr): Declare.
62139         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62140         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62141         * modules/string (Makefile.am): Likewise.
62142         * MODULES.html.sh (string handling): Mention new module.
62143         * doc/functions/strstr.texi (strstr): Document the bug.
62144
62145 2008-01-10  Bruno Haible  <bruno@clisp.org>
62146
62147         * lib/relocatable.h (relocate): State whether result is freshly
62148         allocated or not.
62149         * lib/relocatable.c (relocate): Return a freshly allocated string
62150         instead of a pointer to a privately held string.
62151         Reported by Sylvain Beucler <beuc@gnu.org>.
62152
62153 2008-01-10  Colin Watson  <cjwatson@debian.org>
62154
62155         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62156         s/S_ISNLK/S_ISLNK/.
62157
62158 2008-01-09  Bruno Haible  <bruno@clisp.org>
62159
62160         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62161         and other files.
62162         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62163         if it's only a guess.
62164         * modules/memmem: Simplify by depending on memmem-simple.
62165
62166 2008-01-09  Bruno Haible  <bruno@clisp.org>
62167
62168         Work around OpenBSD 4.0 tdelete() bug.
62169         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62170         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62171         macros and don't redefine the enum values.
62172         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62173         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62174         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62175
62176 2008-01-09  Bruno Haible  <bruno@clisp.org>
62177
62178         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62179         (main): Don't perform the tests if setlocale did not install a UTF-8
62180         locale. Needed on OpenBSD 4.0.
62181         * modules/wcwidth-tests (Depends-on): Add localcharset.
62182
62183 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62184
62185         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62186         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62187         * NEWS: announce this.
62188         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62189
62190 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62191         and Eric Blake  <ebb9@byu.net>
62192
62193         Add memmem-simple module.
62194         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62195         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62196         * modules/memmem-simple: New file.
62197         * modules/memmem (Description): Tweak.
62198         * MODULES.html.sh (string handling): Mention new module.
62199         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62200         addressed by memmem-simple.
62201         * NEWS: Document the difference.
62202
62203 2008-01-09  Eric Blake  <ebb9@byu.net>
62204
62205         Give gcc some memmem optimization hints.
62206         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62207         (strcasestr): Declare as pure.
62208         * modules/memmem (Maintainer): Claim my implementation.
62209
62210 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62211
62212         Support AIX 6.1 and higher.
62213         * build-aux/config.libpath: Likewise.
62214         * build-aux/config.rpath: Likewise.
62215
62216 2008-01-08  Jim Meyering  <meyering@redhat.com>
62217             Bruno Haible  <bruno@clisp.org>
62218
62219         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62220         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62221         Reported by Peter Fales in
62222         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62223
62224 2008-01-08  Bruno Haible  <bruno@clisp.org>
62225
62226         * modules/unictype/category-of (Depends-on): Add
62227         unictype/category-none.
62228         * modules/unictype/category-and-tests (Depends-on): Add
62229         unictype/category-{L,N,Lu,Nd}.
62230         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62231         * modules/unictype/category-or-tests (Depends-on): Add
62232         unictype/category-{L,N}.
62233         * modules/unictype/category-name-tests (Depends-on): Add
62234         unictype/category-{Z,Nl}.
62235         Reported by Simon Josefsson.
62236
62237 2008-01-08  Bruno Haible  <bruno@clisp.org>
62238
62239         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62240         convention better.
62241         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62242         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62243         Reported by Peter Miller <millerp@canb.auug.org.au>.
62244
62245 2008-01-08  Eric Blake  <ebb9@byu.net>
62246
62247         Rewrite memmem to guarantee linear complexity without malloc.
62248         * lib/memmem.c (memmem): Use Two-Way rather than
62249         Knuth-Morris-Pratt, to allow O(1) space usage.
62250         (critical_factorization, two_way_short_needle)
62251         (two_way_long_needle): New functions.
62252         (knuth_morris_pratt): Delete.
62253         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62254         Add stdint.
62255         * tests/test-memmem.c (main): Add tests for periodic needle and
62256         sublinear performance.
62257         * doc/functions/memmem.texi (memmem): Document other deficiencies
62258         in cygwin and older glibc.
62259
62260 2008-01-08  Bruno Haible  <bruno@clisp.org>
62261
62262         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62263         augmentation.
62264
62265 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62266
62267         Add a configure time option: --disable-acl.
62268         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62269         AC_ARG_ENABLE(acl).
62270
62271 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62272
62273         * tests/test-localename.c: Don't include obsolete "setenv.h".
62274
62275         * modules/localename-tests (Depends-on): Need unsetenv.
62276
62277 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62278
62279         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62280
62281 2008-01-06  Colin Watson  <cjwatson@debian.org>
62282
62283         * users.txt: Add man-db.
62284
62285 2008-01-07  Bruno Haible  <bruno@clisp.org>
62286
62287         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62288         previous section name.
62289
62290 2008-01-07  Bruno Haible  <bruno@clisp.org>
62291
62292         * lib/progname.c (set_program_name): Don't strip off a leading
62293         "lt-" prefix outside a .libs directory.
62294         Suggested by Paul Eggert.
62295
62296 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62297             Bruno Haible  <bruno@clisp.org>
62298
62299         Improve memory cleanup in 'relocatable' module.
62300         * lib/relocatable.h (compute_curr_prefix): Change return type to
62301         'char *'.
62302         * lib/relocatable.c (compute_curr_prefix): Change return type to
62303         'char *'. Free curr_installdir after use.
62304         (relocate): Free curr_prefix_better after use.
62305         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62306
62307 2008-01-01  Bruno Haible  <bruno@clisp.org>
62308
62309         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62310         failure on older glibc systems.
62311         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62312
62313 2008-01-05  Eric Blake  <ebb9@byu.net>
62314
62315         Avoid quadratic system memmem.
62316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62317         Reported by Ralf Wildenhues.
62318
62319         Fix memmem test for mingw.
62320         * modules/memmem-tests (configure.ac): Check for alarm.
62321         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62322         it.
62323         * doc/functions/memmem.texi: New file.
62324         * doc/gnulib.texi (Function Substitutes): Add memmem.
62325         Reported by Bruno Haible.
62326
62327 2008-01-04  Bruno Haible  <bruno@clisp.org>
62328
62329         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62330         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62331         gl_HEADER_STRING_H_DEFAULTS.
62332
62333 2008-01-04  Eric Blake  <ebb9@byu.net>
62334
62335         Shorten duration of memmem test.
62336         * tests/test-memmem.c (main): Use alarm to declare failure if test
62337         is taking too long.
62338         Reported by Ralf Wildenhues.
62339
62340 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62341
62342         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62343         string, needed by strerror.
62344
62345 2008-01-03  Colin Watson  <cjwatson@debian.org>
62346             Bruno Haible  <bruno@clisp.org>
62347
62348         * doc/gnulib-tool.texi (Localization): New section.
62349
62350 2008-01-02  Bruno Haible  <bruno@clisp.org>
62351
62352         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62353         variables to 'unsigned char *' type.
62354         Reported by Paul Eggert.
62355
62356 2008-01-02  Jim Meyering  <jim@meyering.net>
62357
62358         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62359
62360 2007-12-31  Jim Meyering  <jim@meyering.net>
62361
62362         Avoid use of private FTS type name.
62363         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62364
62365 2007-12-30  Karl Berry  <karl@gnu.org>
62366
62367         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62368         work around defect in Texinfo and/or the standalone Info browser.
62369
62370 2007-12-30  Bruno Haible  <bruno@clisp.org>
62371
62372         Unify 5 copies of the KMP code.
62373         * lib/str-kmp.h: New file.
62374         * lib/c-strcasestr.c: Include str-kmp.h.
62375         (knuth_morris_pratt): Remove function.
62376         (c_strcasestr): Update.
62377         * lib/c-strstr.c: Include str-kmp.h.
62378         (knuth_morris_pratt): Remove function.
62379         (c_strcasestr): Update.
62380         * lib/mbscasestr.c: Include str-kmp.h.
62381         (knuth_morris_pratt_unibyte): Remove function.
62382         * lib/mbsstr.c: Include str-kmp.h.
62383         (knuth_morris_pratt_unibyte): Remove function.
62384         * lib/strcasestr.c: Include str-kmp.h.
62385         (knuth_morris_pratt): Remove function.
62386         (strcasestr): Update.
62387         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62388         * modules/c-strstr (Files): Likewise.
62389         * modules/mbscasestr (Files): Likewise.
62390         * modules/mbsstr (Files): Likewise.
62391         * modules/strcasestr (Files): Likewise.
62392         Suggested by Paul Eggert.
62393
62394 2007-12-30  Bruno Haible  <bruno@clisp.org>
62395
62396         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62397         defined.
62398
62399 2007-12-30  Bruno Haible  <bruno@clisp.org>
62400
62401         * lib/xmalloca.h: Include xalloc.h.
62402         (xnmalloca): New macro.
62403
62404 2007-12-30  Bruno Haible  <bruno@clisp.org>
62405
62406         * lib/malloca.h (nmalloca): New macro.
62407         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62408         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62409         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62410         knuth_morris_pratt_multibyte): Likewise.
62411         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62412         knuth_morris_pratt_multibyte): Likewise.
62413         * lib/memmem.c (knuth_morris_pratt): Likewise.
62414         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62415
62416 2007-12-25  Bruno Haible  <bruno@clisp.org>
62417
62418         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62419         * lib/glob.c: Don't include openat.h.
62420         (link_exists2_p): Add back the code that deals with the
62421         !GLOB_ALTDIRFUNC case.
62422         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62423         let it do the filename concatenation.
62424         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62425         * modules/glob (Depends-on): Remove openat.
62426
62427 2007-12-31  Bruno Haible  <bruno@clisp.org>
62428
62429         * modules/dirfd (License): Change to LGPLv2+.
62430         Approved by Jim Meyering.
62431
62432 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62433
62434         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62435         when multiplying M by sizeof (size_t).
62436
62437 2007-12-10  Martin Lambers  <marlam@marlam.de>
62438
62439         Override getpagesize on mingw.
62440         * lib/getpagesize.c: New file.
62441         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62442         * modules/getpagesize (Files): Add lib/getpagesize.c.
62443         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62445         REPLACE_GETPAGESIZE.
62446         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62447
62448 2007-12-25  Bruno Haible  <bruno@clisp.org>
62449
62450         * modules/localcharset (Notice): New field.
62451         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62452         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62453
62454 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62455             Bruno Haible  <bruno@clisp.org>
62456
62457         Avoid using the syntax symbol() in formatted documentation.
62458         * MODULES.html.sh (func_module): When replacing symbol() with a
62459         hyperlink, remove the parentheses. Show an error if some remain.
62460         Recognize and render the '...' syntax.
62461         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62462         Rework. Add paragraph about GCC's inlining.
62463         * doc/alloca.texi: Likewise.
62464         * doc/error.texi: Remove parentheses from symbol reference.
62465         * doc/gnulib-intro.texi: Likewise.
62466         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62467         * modules/fnmatch (Description): Reword to say "the ... function".
62468         * modules/full-read (Description): Likewise.
62469         * modules/full-write (Description): Likewise.
62470         * modules/safe-read (Description): Likewise.
62471         * modules/safe-write (Description): Likewise.
62472         * modules/strchrnul (Description): Likewise.
62473         * modules/trim (Description): Likewise.
62474         * modules/error (Description): Remove parentheses from symbol
62475         references.
62476         * modules/verror (Description): Likewise.
62477         Reported by Karl Berry.
62478
62479 2007-12-25  Bruno Haible  <bruno@clisp.org>
62480
62481         Fixup after 2007-10-16 commit.
62482         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62483
62484 2007-12-24  Bruno Haible  <bruno@clisp.org>
62485
62486         Make --enable-relocatable work with DESTDIR.
62487         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62488         to compute installdir from destprog.
62489         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62490         also set the RELOC_DESTDIR variable.
62491         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62492
62493 2007-12-24  Bruno Haible  <bruno@clisp.org>
62494
62495         Fix link error due to xalloc_die().
62496         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62497         of xreadlink.
62498         * lib/relocwrapper.c: Update comments.
62499         * build-aux/install-reloc: Remove xreadlink.c from file list.
62500         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62501         xreadlink.c.
62502         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62503
62504 2007-12-24  Bruno Haible  <bruno@clisp.org>
62505
62506         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62507         * lib/setenv.h: Remove file.
62508         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62509         lib/setenv.h.
62510         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62511         (Depends-on): Add stdlib.
62512         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62513         gl_FUNC_UNSETENV.
62514         (Include): Replace setenv.h with <stdlib.h>.
62515         * modules/unsetenv: New file.
62516         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62517         * lib/unsetenv.c: Include <stdlib.h> first.
62518         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62519         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62520         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62521         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62522         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62523         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62525         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62526         * doc/functions/unsetenv.texi: Update.
62527         * modules/xsetenv (Depends-on): Add unsetenv.
62528         * modules/getdate (Depends-on): Likewise.
62529         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62530         * lib/xsetenv.c: Don't include setenv.h.
62531         * lib/getdate.y: Likewise.
62532         * lib/relocwrapper.c: Likewise.
62533         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62534         (Depends-on): Add stdlib.
62535         * NEWS: Mention the changes.
62536         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62537
62538 2007-12-23  Bruno Haible  <bruno@clisp.org>
62539
62540         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62541         indentation.
62542
62543 2007-12-23  Bruno Haible  <bruno@clisp.org>
62544
62545         * lib/c-strcasestr.c: Add more comments.
62546         * lib/c-strstr.c: Likewise.
62547         * lib/mbscasestr.c: Likewise.
62548         * lib/mbsstr.c: Likewise.
62549         * lib/strcasestr.c: Likewise.
62550         * lib/memmem.c: Likewise.
62551
62552 2007-12-23  Bruno Haible  <bruno@clisp.org>
62553
62554         * tests/test-memmem.c: Include <string.h> first.
62555
62556 2007-12-22  Bruno Haible  <bruno@clisp.org>
62557
62558         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62559         the contents of $testsbase.
62560         Reported by Ralf Wildenhues.
62561
62562 2007-12-22  Bruno Haible  <bruno@clisp.org>
62563
62564         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62565         two variables local_ldadd_before, local_ldadd_last.
62566
62567 2007-12-20  Eric Blake  <ebb9@byu.net>
62568
62569         Work around circular library issue when cross-compiling.
62570         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62571         that progname.o does not need to pull in rpl_memcmp.
62572
62573 2007-12-19  Eric Blake  <ebb9@byu.net>
62574
62575         Fix memmem to avoid O(n^2) worst-case complexity.
62576         * lib/memmem.c (knuth_morris_pratt): New function.
62577         (memmem): Use it if first few naive iterations fail.
62578         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62579         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62580         * modules/memchr (License): Likewise.
62581         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62582         malloca.
62583         * tests/test-memmem.c: Rewrite, borrowing ideas from
62584         test-mbsstr1.c; the old version wouldn't even compile!
62585         * modules/memmem-tests: New file.
62586         * lib/string.in.h (rpl_memmem): Add declaration.
62587         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62589         REPLACE_MEMMEM.
62590
62591 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62592
62593         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62594         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62595         before any system include files, and undef after them all.  This
62596         should fix a problem on VMS reported by John E. Malmberg in
62597         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62598
62599 2007-12-17  Eric Blake  <ebb9@byu.net>
62600
62601         Revert addition of verify, for BSD/OS.
62602         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62603         can't handle large files, for the sake of obsolete platforms.
62604         * modules/fseeko (Depends-on): Remove verify.
62605         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62606         * doc/functions/ftello.texi (ftello): Likewise.
62607         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62608         Reported by Larry Jones.
62609
62610 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62611
62612         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62613         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62614
62615 2007-12-17  Jim Meyering  <meyering@redhat.com>
62616
62617         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62618         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62619         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62620         * modules/getcwd (Depends-on): Add openat.
62621         Reported by Petr Salinger.
62622
62623 2007-12-17  Bruno Haible  <bruno@clisp.org>
62624
62625         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62626         avoid a segmentation fault of the configure test on x86_64 systems.
62627
62628 2007-12-15  Jim Meyering  <meyering@redhat.com>
62629
62630         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62631
62632 2007-12-13  Eric Blake  <ebb9@byu.net>
62633
62634         Another fseek test.
62635         * tests/test-fseek.c (main): Also test ungetc handling.
62636         * tests/test-fseeko.c (main): Likewise.
62637         * modules/fseeko (Depends-on): Add verify.
62638         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62639         large.
62640         Reported by Larry Jones.
62641
62642         Fix fseeko on mingw.
62643         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62644         seek.
62645
62646         Beef up fseek tests.
62647         * tests/test-fseek.c (main): Also test eof handling.
62648         * tests/test-fseeko.c (main): Likewise.
62649         Reported by Larry Jones.
62650
62651 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62652
62653         Fix fseeko on BSD-based platforms.
62654         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62655         successful seek.
62656
62657 2007-12-12  Eric Blake  <ebb9@byu.net>
62658
62659         Allow circular dependency of separate libtests.a
62660         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62661         when use_libtests.
62662
62663 2007-12-11  Eric Blake  <ebb9@byu.net>
62664
62665         Fix bug with -0.0L in previous patch.
62666         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62667         * tests/test-isnan.c (main): Also test on zeroes.
62668         * tests/test-isnanf.c (main): Likewise.
62669         * tests/test-isnanl.h (main): Likewise.
62670
62671         Detect pseudo-denormals on x86 even when cross-compiling.
62672         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62673         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62674         invalid bit patterns that happen to satisfy ==.
62675
62676         Avoid link failures with separate libtests.a.
62677         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62678         last, to satisfy circular dependencies.
62679
62680 2007-12-11  Eric Blake  <ebb9@byu.net>
62681         and Bruno Haible  <bruno@clisp.org>
62682
62683         Fix OpenBSD 4.0 <float.h> handling of long double.
62684         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62685         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62686         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62687
62688 2007-12-11  Jim Meyering  <meyering@redhat.com>
62689
62690         * users.txt: Add libvirt.
62691
62692         Support versions of autoconf prior to 2.59c.
62693         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62694         if it is not already defined.
62695
62696 2007-12-09  Bruno Haible  <bruno@clisp.org>
62697
62698         Let 'gnulib-tool --import' collect sources needed for the tests in
62699         tests/ rather than in lib/.
62700         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62701         argument. If true, add rules to generate libtests.a, and put libtests.a
62702         into $(LDADD). Consider source files in subdirectories and set
62703         uses_subdirs.
62704         (func_emit_initmacro_start, func_emit_initmacro_end,
62705         func_emit_initmacro_done): Pass all arguments explicitly.
62706         (func_import): Determine two module lists main_modules,
62707         testsrelated_modules. Determine use_libtests. Determine two variables
62708         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62709         instead of just sed_transform_lib_file. Determine two variables
62710         main_files and testsrelated_files. Compute 'files' as the union of
62711         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62712         func_add_or_update. In the generated gnulib-comp.m4, collect the
62713         object files for tests/ in different variables than those for lib/.
62714         Substitute LIBTESTS_LIBDEPS.
62715         (func_create_testdir): Combine the uses_subdirs results from
62716         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62717
62718 2007-12-09  Bruno Haible  <bruno@clisp.org>
62719
62720         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62721         the build-aux directory.
62722
62723 2007-12-09  Bruno Haible  <bruno@clisp.org>
62724
62725         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62726         introduced on 2006-09-09.
62727
62728 2007-12-07  Jim Meyering  <meyering@redhat.com>
62729
62730         Let these macros work also with autoconf-2.59.
62731         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62732         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62733         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62734
62735 2007-12-06  Jim Meyering  <meyering@redhat.com>
62736
62737         Avoid a configure-time syntax error in gl_FUNC_ACL.
62738         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62739         function in each branch, before testing the cache variable.
62740
62741 2007-12-04  Eric Blake  <ebb9@byu.net>
62742
62743         Make scripts executable.
62744         * build-aux/config.guess: Add execute permissions.
62745         * build-aux/config.sub: Likewise.
62746         * build-aux/gendocs.sh: Likewise.
62747
62748         Fix frexp on mingw.
62749         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62750         cross-compiling.
62751         * doc/functions/frexp.texi (frexp): Document the bug.
62752
62753         Make cygwin fseeko check more reliable.
62754         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62755         version numbers, rather than unrelated feature check.
62756         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62757         * doc/functions/ftello.texi (ftello): Likewise.
62758         Reported by Bruno Haible.
62759
62760         * m4/strerror.m4: Bump version number.
62761
62762 2007-12-03  Bruno Haible  <bruno@clisp.org>
62763
62764         * doc/functions/mprotect.texi: Mention the mingw problem.
62765
62766 2007-12-03  Eric Blake  <ebb9@byu.net>
62767
62768         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
62769         REPLACE_STRERROR is initialized before this macro.
62770
62771 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62772
62773         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
62774         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
62775         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
62776         put -lsec in even for programs other than 'ls'.  This fixes a problem
62777         for gettext reported by Bruno Haible in
62778         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
62779         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
62780         Add support for Solaris 10.  This isn't efficient, but should get the
62781         job done for now.
62782
62783 2007-12-03  James Youngman  <jay@gnu.org>
62784
62785         * doc/regexprops-generic.texi: change "an close-group" to "a
62786         close-group" and "illegal" to "not allowed".
62787
62788 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62789
62790         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
62791         pr_byname.h. Needed for the rare case when the maintainer has done
62792         "make maintainer-clean" in the source directory and then attempts a
62793         build outside the source directory.
62794         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
62795         scripts_byname.h.
62796
62797 2007-12-02  Martin Lambers <marlam@marlam.de>
62798             Bruno Haible  <bruno@clisp.org>
62799
62800         * lib/getpagesize.h: Remove file.
62801         * lib/unistd.in.h: Include declaration of getpagesize here.
62802         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
62803         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
62804         HAVE_SYS_PARAM_H.
62805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
62806         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62807         * modules/getpagesize (Files): Remove lib/getpagesize.h.
62808         (Depends-on): Add unistd.
62809         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62810         (Include): Use <unistd.h> instead of getpagesize.h.
62811         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
62812         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62813         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
62814         gl_GETPAGESIZE invocation, already handled by module dependency.
62815         * lib/pagealign_alloc.c: Don't include getpagesize.h.
62816
62817 2007-12-02  Bruno Haible  <bruno@clisp.org>
62818
62819         * modules/strings-tests: New file.
62820         * tests/test-strings.c: New file.
62821
62822         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
62823         * lib/strings.in.h: New file.
62824         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
62825         * m4/strings_h.m4: New file.
62826         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
62827         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
62828         * modules/strings: New file.
62829         * modules/string (Makefile.am): Update.
62830         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
62831         Reported by Karl Berry.
62832
62833 2007-12-01  Eric Blake  <ebb9@byu.net>
62834
62835         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
62836         accommodate fix in cygwin 1.5.25.
62837
62838 2007-12-01  Jim Meyering  <meyering@redhat.com>
62839
62840         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
62841         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
62842         that would inhibit utf8-optimization of a regexp containing line-
62843         or buffer-anchors, e.g., `^', `$'.
62844
62845 2007-11-30  Bruno Haible  <bruno@clisp.org>
62846
62847         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
62848         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
62849         glthread_recursive_lock_init.
62850         * lib/lock.c (glthread_recursive_lock_init)
62851         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
62852         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62853
62854 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
62855
62856         New function qset_acl, like set_acl but with syscall semantics.
62857         * lib/acl.h (qset_acl): New decl.
62858         * lib/acl.c (qset_acl): New function.
62859         (set_acl): Use new function.  Use more-consistent diagnostics.
62860
62861 2007-11-28  Jim Meyering  <meyering@redhat.com>
62862
62863         * modules/physmem (License): Change from GPL to LGPLv2+.
62864
62865 2007-11-26  Bruno Haible  <bruno@clisp.org>
62866
62867         * lib/vasnprintf.c (decode_long_double): Don't abort if the
62868         'long double' type has excess precision.
62869         Reported by Jim Meyering in
62870         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
62871
62872 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62873
62874         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
62875         Sync from <http://gnu.org/licenses>.
62876         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
62877         with license text from same location.
62878         * doc/maintain.texi, doc/standards.texi:  Sync from
62879         <http://savannah.gnu.org/projects/gnustandards>.
62880
62881 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
62882         and Jim Meyering  <meyering@redhat.com>
62883
62884         Adjust getdate' grammar to accept a slightly more regular language.
62885         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
62886         Before, the former was rejected.
62887         * lib/getdate.y (digits_to_date_time): New function, factored
62888         out of ...
62889         (number): ...here.  Just call digits_to_date_time.
62890         (hybrid): New non-terminal to handle an <unsigned number,
62891         signed relative offset> sequence consistently.
62892
62893 2007-11-18  Jim Meyering  <meyering@redhat.com>
62894
62895         Pull my changes from coreutils:
62896         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
62897         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
62898         use of $gnulib_tool_option_extras, so that it's separated from the
62899         preceding argument.
62900
62901         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
62902         * build-aux/bootstrap (cp_mark_as_generated): Create any required
62903         parent destination directories before copying a file into place.
62904
62905 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62906
62907         bootstrap: work also with 4-argument variant of AC_INIT
62908         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
62909
62910 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62911
62912         Port test-getaddrinfo to Solaris.
62913         Problem reported by Bruno Haible in
62914         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
62915         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
62916         explanation of setting 'hints'.
62917         Don't reject an implementation merely because it returns EAI_SERVICE.
62918         (EAI_SERVICE): Define to 0 if not defined.
62919
62920 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62921
62922         The license of gnu-make and posix-shell is now "GPLed build tool".
62923         * modules/gnu-make (License): Likewise.
62924         * modules/posix-shell (License): Likewise.
62925
62926         New module posix-shell, for determining a POSIX shell
62927         or perhaps something that is close enough to a POSIX shell.
62928         * m4/posix-shell.m4: New file.
62929         * modules/posix-shell: New file.
62930
62931         * MODULES.html.sh: Mention new module.
62932
62933         New module gnu-make, for determining whether we're using GNU Make.
62934         * m4/gnu-make.m4: New file.
62935         * modules/gnu-make: New file.
62936         * MODULES.html.sh: Mention new module.
62937
62938 2007-11-14  Jim Meyering  <meyering@redhat.com>
62939
62940         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
62941         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
62942         use this macro to create a function _definition_.
62943         Remove useless "#undef ARGMATCH_DIE".
62944
62945 2007-11-14  Bruno Haible  <bruno@clisp.org>
62946
62947         * lib/config.charset: Update for OpenBSD 4.1.
62948         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
62949
62950 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
62951
62952         Document 64-bit #if problems in stdint.texi.
62953         * doc/headers/stdint.texi (stdint.h): Mention problems with
62954         64-bit-#if, and how to work around them.
62955
62956         Don't insist on 'long long int' support in the preprocessor.  It
62957         breaks too many things.  For example, PRIdMAX still uses a 'long
62958         long int' format with the latest Sun compiler, even though
62959         HAVE_LONG_LONG_INT isn't defined due to that compiler's
62960         preprocessor problem.  This causes the latest coreutils to dump
62961         core on Solaris 10 sparc with the Sun C compiler.
62962         Instead, fix the 2007-10-16 problem in a different way, by evaluating
62963         the troublesome expressions at configure-time, not at #if-time.
62964         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
62965         preprocessor.
62966         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
62967         compile-time C checks, done at 'configure'-time.
62968         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
62969         * modules/inttypes (Makefile): Substitute the new symbols that
62970         gl_INTTYPES_H now generates.
62971         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
62972
62973 2007-11-12  Bruno Haible  <bruno@clisp.org>
62974
62975         Tests for Unicode character classification functions.
62976
62977         * modules/unictype/bidicategory-byname-tests: New file.
62978         * modules/unictype/bidicategory-name-tests: New file.
62979         * modules/unictype/bidicategory-of-tests: New file.
62980         * modules/unictype/bidicategory-test-tests: New file.
62981         * modules/unictype/block-list-tests: New file.
62982         * modules/unictype/block-of-tests: New file.
62983         * modules/unictype/block-test-tests: New file.
62984         * modules/unictype/category-C-tests: New file.
62985         * modules/unictype/category-Cc-tests: New file.
62986         * modules/unictype/category-Cf-tests: New file.
62987         * modules/unictype/category-Cn-tests: New file.
62988         * modules/unictype/category-Co-tests: New file.
62989         * modules/unictype/category-Cs-tests: New file.
62990         * modules/unictype/category-L-tests: New file.
62991         * modules/unictype/category-Ll-tests: New file.
62992         * modules/unictype/category-Lm-tests: New file.
62993         * modules/unictype/category-Lo-tests: New file.
62994         * modules/unictype/category-Lt-tests: New file.
62995         * modules/unictype/category-Lu-tests: New file.
62996         * modules/unictype/category-M-tests: New file.
62997         * modules/unictype/category-Mc-tests: New file.
62998         * modules/unictype/category-Me-tests: New file.
62999         * modules/unictype/category-Mn-tests: New file.
63000         * modules/unictype/category-N-tests: New file.
63001         * modules/unictype/category-Nd-tests: New file.
63002         * modules/unictype/category-Nl-tests: New file.
63003         * modules/unictype/category-No-tests: New file.
63004         * modules/unictype/category-P-tests: New file.
63005         * modules/unictype/category-Pc-tests: New file.
63006         * modules/unictype/category-Pd-tests: New file.
63007         * modules/unictype/category-Pe-tests: New file.
63008         * modules/unictype/category-Pf-tests: New file.
63009         * modules/unictype/category-Pi-tests: New file.
63010         * modules/unictype/category-Po-tests: New file.
63011         * modules/unictype/category-Ps-tests: New file.
63012         * modules/unictype/category-S-tests: New file.
63013         * modules/unictype/category-Sc-tests: New file.
63014         * modules/unictype/category-Sk-tests: New file.
63015         * modules/unictype/category-Sm-tests: New file.
63016         * modules/unictype/category-So-tests: New file.
63017         * modules/unictype/category-Z-tests: New file.
63018         * modules/unictype/category-Zl-tests: New file.
63019         * modules/unictype/category-Zp-tests: New file.
63020         * modules/unictype/category-Zs-tests: New file.
63021         * modules/unictype/category-and-not-tests: New file.
63022         * modules/unictype/category-and-tests: New file.
63023         * modules/unictype/category-byname-tests: New file.
63024         * modules/unictype/category-name-tests: New file.
63025         * modules/unictype/category-none-tests: New file.
63026         * modules/unictype/category-of-tests: New file.
63027         * modules/unictype/category-or-tests: New file.
63028         * modules/unictype/category-test-withtable-tests: New file.
63029         * modules/unictype/combining-class-tests: New file.
63030         * modules/unictype/ctype-alnum-tests: New file.
63031         * modules/unictype/ctype-alpha-tests: New file.
63032         * modules/unictype/ctype-blank-tests: New file.
63033         * modules/unictype/ctype-cntrl-tests: New file.
63034         * modules/unictype/ctype-digit-tests: New file.
63035         * modules/unictype/ctype-graph-tests: New file.
63036         * modules/unictype/ctype-lower-tests: New file.
63037         * modules/unictype/ctype-print-tests: New file.
63038         * modules/unictype/ctype-punct-tests: New file.
63039         * modules/unictype/ctype-space-tests: New file.
63040         * modules/unictype/ctype-upper-tests: New file.
63041         * modules/unictype/ctype-xdigit-tests: New file.
63042         * modules/unictype/decimal-digit-tests: New file.
63043         * modules/unictype/digit-tests: New file.
63044         * modules/unictype/mirror-tests: New file.
63045         * modules/unictype/numeric-tests: New file.
63046         * modules/unictype/property-alphabetic-tests: New file.
63047         * modules/unictype/property-ascii-hex-digit-tests: New file.
63048         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63049         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63050         * modules/unictype/property-bidi-block-separator-tests: New file.
63051         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63052         * modules/unictype/property-bidi-common-separator-tests: New file.
63053         * modules/unictype/property-bidi-control-tests: New file.
63054         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63055         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63056         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63057         * modules/unictype/property-bidi-european-digit-tests: New file.
63058         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63059         * modules/unictype/property-bidi-left-to-right-tests: New file.
63060         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63061         * modules/unictype/property-bidi-other-neutral-tests: New file.
63062         * modules/unictype/property-bidi-pdf-tests: New file.
63063         * modules/unictype/property-bidi-segment-separator-tests: New file.
63064         * modules/unictype/property-bidi-whitespace-tests: New file.
63065         * modules/unictype/property-byname-tests: New file.
63066         * modules/unictype/property-combining-tests: New file.
63067         * modules/unictype/property-composite-tests: New file.
63068         * modules/unictype/property-currency-symbol-tests: New file.
63069         * modules/unictype/property-dash-tests: New file.
63070         * modules/unictype/property-decimal-digit-tests: New file.
63071         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63072         * modules/unictype/property-deprecated-tests: New file.
63073         * modules/unictype/property-diacritic-tests: New file.
63074         * modules/unictype/property-extender-tests: New file.
63075         * modules/unictype/property-format-control-tests: New file.
63076         * modules/unictype/property-grapheme-base-tests: New file.
63077         * modules/unictype/property-grapheme-extend-tests: New file.
63078         * modules/unictype/property-grapheme-link-tests: New file.
63079         * modules/unictype/property-hex-digit-tests: New file.
63080         * modules/unictype/property-hyphen-tests: New file.
63081         * modules/unictype/property-id-continue-tests: New file.
63082         * modules/unictype/property-id-start-tests: New file.
63083         * modules/unictype/property-ideographic-tests: New file.
63084         * modules/unictype/property-ids-binary-operator-tests: New file.
63085         * modules/unictype/property-ids-trinary-operator-tests: New file.
63086         * modules/unictype/property-ignorable-control-tests: New file.
63087         * modules/unictype/property-iso-control-tests: New file.
63088         * modules/unictype/property-join-control-tests: New file.
63089         * modules/unictype/property-left-of-pair-tests: New file.
63090         * modules/unictype/property-line-separator-tests: New file.
63091         * modules/unictype/property-logical-order-exception-tests: New file.
63092         * modules/unictype/property-lowercase-tests: New file.
63093         * modules/unictype/property-math-tests: New file.
63094         * modules/unictype/property-non-break-tests: New file.
63095         * modules/unictype/property-not-a-character-tests: New file.
63096         * modules/unictype/property-numeric-tests: New file.
63097         * modules/unictype/property-other-alphabetic-tests: New file.
63098         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63099         * modules/unictype/property-other-grapheme-extend-tests: New file.
63100         * modules/unictype/property-other-id-continue-tests: New file.
63101         * modules/unictype/property-other-id-start-tests: New file.
63102         * modules/unictype/property-other-lowercase-tests: New file.
63103         * modules/unictype/property-other-math-tests: New file.
63104         * modules/unictype/property-other-uppercase-tests: New file.
63105         * modules/unictype/property-paired-punctuation-tests: New file.
63106         * modules/unictype/property-paragraph-separator-tests: New file.
63107         * modules/unictype/property-pattern-syntax-tests: New file.
63108         * modules/unictype/property-pattern-white-space-tests: New file.
63109         * modules/unictype/property-private-use-tests: New file.
63110         * modules/unictype/property-punctuation-tests: New file.
63111         * modules/unictype/property-quotation-mark-tests: New file.
63112         * modules/unictype/property-radical-tests: New file.
63113         * modules/unictype/property-sentence-terminal-tests: New file.
63114         * modules/unictype/property-soft-dotted-tests: New file.
63115         * modules/unictype/property-space-tests: New file.
63116         * modules/unictype/property-terminal-punctuation-tests: New file.
63117         * modules/unictype/property-test-tests: New file.
63118         * modules/unictype/property-titlecase-tests: New file.
63119         * modules/unictype/property-unassigned-code-value-tests: New file.
63120         * modules/unictype/property-unified-ideograph-tests: New file.
63121         * modules/unictype/property-uppercase-tests: New file.
63122         * modules/unictype/property-variation-selector-tests: New file.
63123         * modules/unictype/property-white-space-tests: New file.
63124         * modules/unictype/property-xid-continue-tests: New file.
63125         * modules/unictype/property-xid-start-tests: New file.
63126         * modules/unictype/property-zero-width-tests: New file.
63127         * modules/unictype/scripts-tests: New file.
63128         * modules/unictype/syntax-c-ident-tests: New file.
63129         * modules/unictype/syntax-c-whitespace-tests: New file.
63130         * modules/unictype/syntax-java-ident-tests: New file.
63131         * modules/unictype/syntax-java-whitespace-tests: New file.
63132         * tests/unictype/test-bidi_byname.c: New file.
63133         * tests/unictype/test-bidi_name.c: New file.
63134         * tests/unictype/test-bidi_of.c: New file.
63135         * tests/unictype/test-bidi_test.c: New file.
63136         * tests/unictype/test-block_list.c: New file.
63137         * tests/unictype/test-block_of.c: New file.
63138         * tests/unictype/test-block_test.c: New file.
63139         * tests/unictype/test-categ_and.c: New file.
63140         * tests/unictype/test-categ_and_not.c: New file.
63141         * tests/unictype/test-categ_byname.c: New file.
63142         * tests/unictype/test-categ_name.c: New file.
63143         * tests/unictype/test-categ_none.c: New file.
63144         * tests/unictype/test-categ_of.c: New file.
63145         * tests/unictype/test-categ_or.c: New file.
63146         * tests/unictype/test-categ_test_withtable.c: New file.
63147         * tests/unictype/test-combining.c: New file.
63148         * tests/unictype/test-decdigit.c: New file.
63149         * tests/unictype/test-digit.c: New file.
63150         * tests/unictype/test-mirror.c: New file.
63151         * tests/unictype/test-numeric.c: New file.
63152         * tests/unictype/test-pr_byname.c: New file.
63153         * tests/unictype/test-pr_test.c: New file.
63154         * tests/unictype/test-predicate-part1.h: New file.
63155         * tests/unictype/test-predicate-part2.h: New file.
63156         * tests/unictype/test-scripts.c: New file.
63157         * tests/unictype/test-sy_c_ident.c: New file.
63158         * tests/unictype/test-sy_java_ident.c: New file.
63159
63160         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63161         for Unicode 5.0.0.
63162         * tests/unictype/test-categ_Cc.c: Likewise.
63163         * tests/unictype/test-categ_Cf.c: Likewise.
63164         * tests/unictype/test-categ_Cn.c: Likewise.
63165         * tests/unictype/test-categ_Co.c: Likewise.
63166         * tests/unictype/test-categ_Cs.c: Likewise.
63167         * tests/unictype/test-categ_L.c: Likewise.
63168         * tests/unictype/test-categ_Ll.c: Likewise.
63169         * tests/unictype/test-categ_Lm.c: Likewise.
63170         * tests/unictype/test-categ_Lo.c: Likewise.
63171         * tests/unictype/test-categ_Lt.c: Likewise.
63172         * tests/unictype/test-categ_Lu.c: Likewise.
63173         * tests/unictype/test-categ_M.c: Likewise.
63174         * tests/unictype/test-categ_Mc.c: Likewise.
63175         * tests/unictype/test-categ_Me.c: Likewise.
63176         * tests/unictype/test-categ_Mn.c: Likewise.
63177         * tests/unictype/test-categ_N.c: Likewise.
63178         * tests/unictype/test-categ_Nd.c: Likewise.
63179         * tests/unictype/test-categ_Nl.c: Likewise.
63180         * tests/unictype/test-categ_No.c: Likewise.
63181         * tests/unictype/test-categ_P.c: Likewise.
63182         * tests/unictype/test-categ_Pc.c: Likewise.
63183         * tests/unictype/test-categ_Pd.c: Likewise.
63184         * tests/unictype/test-categ_Pe.c: Likewise.
63185         * tests/unictype/test-categ_Pf.c: Likewise.
63186         * tests/unictype/test-categ_Pi.c: Likewise.
63187         * tests/unictype/test-categ_Po.c: Likewise.
63188         * tests/unictype/test-categ_Ps.c: Likewise.
63189         * tests/unictype/test-categ_S.c: Likewise.
63190         * tests/unictype/test-categ_Sc.c: Likewise.
63191         * tests/unictype/test-categ_Sk.c: Likewise.
63192         * tests/unictype/test-categ_Sm.c: Likewise.
63193         * tests/unictype/test-categ_So.c: Likewise.
63194         * tests/unictype/test-categ_Z.c: Likewise.
63195         * tests/unictype/test-categ_Zl.c: Likewise.
63196         * tests/unictype/test-categ_Zp.c: Likewise.
63197         * tests/unictype/test-categ_Zs.c: Likewise.
63198         * tests/unictype/test-ctype_alnum.c: Likewise.
63199         * tests/unictype/test-ctype_alpha.c: Likewise.
63200         * tests/unictype/test-ctype_blank.c: Likewise.
63201         * tests/unictype/test-ctype_cntrl.c: Likewise.
63202         * tests/unictype/test-ctype_digit.c: Likewise.
63203         * tests/unictype/test-ctype_graph.c: Likewise.
63204         * tests/unictype/test-ctype_lower.c: Likewise.
63205         * tests/unictype/test-ctype_print.c: Likewise.
63206         * tests/unictype/test-ctype_punct.c: Likewise.
63207         * tests/unictype/test-ctype_space.c: Likewise.
63208         * tests/unictype/test-ctype_upper.c: Likewise.
63209         * tests/unictype/test-ctype_xdigit.c: Likewise.
63210         * tests/unictype/test-decdigit.h: Likewise.
63211         * tests/unictype/test-digit.h: Likewise.
63212         * tests/unictype/test-numeric.h: Likewise.
63213         * tests/unictype/test-pr_alphabetic.c: Likewise.
63214         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63215         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63216         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63217         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63218         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63219         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63220         * tests/unictype/test-pr_bidi_control.c: Likewise.
63221         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63222         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63223         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63224         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63225         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63226         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63227         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63228         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63229         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63230         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63231         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63232         * tests/unictype/test-pr_combining.c: Likewise.
63233         * tests/unictype/test-pr_composite.c: Likewise.
63234         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63235         * tests/unictype/test-pr_dash.c: Likewise.
63236         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63237         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63238         * tests/unictype/test-pr_deprecated.c: Likewise.
63239         * tests/unictype/test-pr_diacritic.c: Likewise.
63240         * tests/unictype/test-pr_extender.c: Likewise.
63241         * tests/unictype/test-pr_format_control.c: Likewise.
63242         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63243         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63244         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63245         * tests/unictype/test-pr_hex_digit.c: Likewise.
63246         * tests/unictype/test-pr_hyphen.c: Likewise.
63247         * tests/unictype/test-pr_id_continue.c: Likewise.
63248         * tests/unictype/test-pr_id_start.c: Likewise.
63249         * tests/unictype/test-pr_ideographic.c: Likewise.
63250         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63251         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63252         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63253         * tests/unictype/test-pr_iso_control.c: Likewise.
63254         * tests/unictype/test-pr_join_control.c: Likewise.
63255         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63256         * tests/unictype/test-pr_line_separator.c: Likewise.
63257         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63258         * tests/unictype/test-pr_lowercase.c: Likewise.
63259         * tests/unictype/test-pr_math.c: Likewise.
63260         * tests/unictype/test-pr_non_break.c: Likewise.
63261         * tests/unictype/test-pr_not_a_character.c: Likewise.
63262         * tests/unictype/test-pr_numeric.c: Likewise.
63263         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63264         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63265         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63266         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63267         * tests/unictype/test-pr_other_id_start.c: Likewise.
63268         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63269         * tests/unictype/test-pr_other_math.c: Likewise.
63270         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63271         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63272         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63273         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63274         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63275         * tests/unictype/test-pr_private_use.c: Likewise.
63276         * tests/unictype/test-pr_punctuation.c: Likewise.
63277         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63278         * tests/unictype/test-pr_radical.c: Likewise.
63279         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63280         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63281         * tests/unictype/test-pr_space.c: Likewise.
63282         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63283         * tests/unictype/test-pr_titlecase.c: Likewise.
63284         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63285         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63286         * tests/unictype/test-pr_uppercase.c: Likewise.
63287         * tests/unictype/test-pr_variation_selector.c: Likewise.
63288         * tests/unictype/test-pr_white_space.c: Likewise.
63289         * tests/unictype/test-pr_xid_continue.c: Likewise.
63290         * tests/unictype/test-pr_xid_start.c: Likewise.
63291         * tests/unictype/test-pr_zero_width.c: Likewise.
63292         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63293         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63294
63295 2007-11-12  Bruno Haible  <bruno@clisp.org>
63296
63297         Unicode character classification functions.
63298         * lib/unictype.h: New file.
63299         * modules/unictype/base: New file.
63300         * modules/unictype/category-L: New file.
63301         * modules/unictype/category-Lu: New file.
63302         * modules/unictype/category-Ll: New file.
63303         * modules/unictype/category-Lt: New file.
63304         * modules/unictype/category-Lm: New file.
63305         * modules/unictype/category-Lo: New file.
63306         * modules/unictype/category-M: New file.
63307         * modules/unictype/category-Mn: New file.
63308         * modules/unictype/category-Mc: New file.
63309         * modules/unictype/category-Me: New file.
63310         * modules/unictype/category-N: New file.
63311         * modules/unictype/category-Nd: New file.
63312         * modules/unictype/category-Nl: New file.
63313         * modules/unictype/category-No: New file.
63314         * modules/unictype/category-P: New file.
63315         * modules/unictype/category-Pc: New file.
63316         * modules/unictype/category-Pd: New file.
63317         * modules/unictype/category-Ps: New file.
63318         * modules/unictype/category-Pe: New file.
63319         * modules/unictype/category-Pi: New file.
63320         * modules/unictype/category-Pf: New file.
63321         * modules/unictype/category-Po: New file.
63322         * modules/unictype/category-S: New file.
63323         * modules/unictype/category-Sm: New file.
63324         * modules/unictype/category-Sc: New file.
63325         * modules/unictype/category-Sk: New file.
63326         * modules/unictype/category-So: New file.
63327         * modules/unictype/category-Z: New file.
63328         * modules/unictype/category-Zs: New file.
63329         * modules/unictype/category-Zl: New file.
63330         * modules/unictype/category-Zp: New file.
63331         * modules/unictype/category-C: New file.
63332         * modules/unictype/category-Cc: New file.
63333         * modules/unictype/category-Cf: New file.
63334         * modules/unictype/category-Cs: New file.
63335         * modules/unictype/category-Co: New file.
63336         * modules/unictype/category-Cn: New file.
63337         * modules/unictype/category-or: New file.
63338         * modules/unictype/category-of: New file.
63339         * modules/unictype/category-test: New file.
63340         * modules/unictype/category-test-withtable: New file.
63341         * modules/unictype/category-byname: New file.
63342         * modules/unictype/category-none: New file.
63343         * modules/unictype/category-and: New file.
63344         * modules/unictype/category-and-not: New file.
63345         * modules/unictype/category-name: New file.
63346         * modules/unictype/combining-class: New file.
63347         * modules/unictype/category-all: New file.
63348         * modules/unictype/bidicategory-all: New file.
63349         * modules/unictype/bidicategory-byname: New file.
63350         * modules/unictype/bidicategory-name: New file.
63351         * modules/unictype/bidicategory-of: New file.
63352         * modules/unictype/bidicategory-test: New file.
63353         * modules/unictype/decimal-digit: New file.
63354         * modules/unictype/digit: New file.
63355         * modules/unictype/numeric: New file.
63356         * modules/unictype/mirror: New file.
63357         * modules/unictype/property-white-space: New file.
63358         * modules/unictype/property-alphabetic: New file.
63359         * modules/unictype/property-other-alphabetic: New file.
63360         * modules/unictype/property-not-a-character: New file.
63361         * modules/unictype/property-default-ignorable-code-point: New file.
63362         * modules/unictype/property-other-default-ignorable-code-point: New
63363         file.
63364         * modules/unictype/property-deprecated: New file.
63365         * modules/unictype/property-logical-order-exception: New file.
63366         * modules/unictype/property-variation-selector: New file.
63367         * modules/unictype/property-private-use: New file.
63368         * modules/unictype/property-unassigned-code-value: New file.
63369         * modules/unictype/property-uppercase: New file.
63370         * modules/unictype/property-other-uppercase: New file.
63371         * modules/unictype/property-lowercase: New file.
63372         * modules/unictype/property-other-lowercase: New file.
63373         * modules/unictype/property-titlecase: New file.
63374         * modules/unictype/property-soft-dotted: New file.
63375         * modules/unictype/property-id-start: New file.
63376         * modules/unictype/property-other-id-start: New file.
63377         * modules/unictype/property-id-continue: New file.
63378         * modules/unictype/property-other-id-continue: New file.
63379         * modules/unictype/property-xid-start: New file.
63380         * modules/unictype/property-xid-continue: New file.
63381         * modules/unictype/property-pattern-white-space: New file.
63382         * modules/unictype/property-pattern-syntax: New file.
63383         * modules/unictype/property-join-control: New file.
63384         * modules/unictype/property-grapheme-base: New file.
63385         * modules/unictype/property-grapheme-extend: New file.
63386         * modules/unictype/property-other-grapheme-extend: New file.
63387         * modules/unictype/property-grapheme-link: New file.
63388         * modules/unictype/property-bidi-control: New file.
63389         * modules/unictype/property-bidi-left-to-right: New file.
63390         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63391         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63392         * modules/unictype/property-bidi-european-digit: New file.
63393         * modules/unictype/property-bidi-eur-num-separator: New file.
63394         * modules/unictype/property-bidi-eur-num-terminator: New file.
63395         * modules/unictype/property-bidi-arabic-digit: New file.
63396         * modules/unictype/property-bidi-common-separator: New file.
63397         * modules/unictype/property-bidi-block-separator: New file.
63398         * modules/unictype/property-bidi-segment-separator: New file.
63399         * modules/unictype/property-bidi-whitespace: New file.
63400         * modules/unictype/property-bidi-non-spacing-mark: New file.
63401         * modules/unictype/property-bidi-boundary-neutral: New file.
63402         * modules/unictype/property-bidi-pdf: New file.
63403         * modules/unictype/property-bidi-embedding-or-override: New file.
63404         * modules/unictype/property-bidi-other-neutral: New file.
63405         * modules/unictype/property-hex-digit: New file.
63406         * modules/unictype/property-ascii-hex-digit: New file.
63407         * modules/unictype/property-ideographic: New file.
63408         * modules/unictype/property-unified-ideograph: New file.
63409         * modules/unictype/property-radical: New file.
63410         * modules/unictype/property-ids-binary-operator: New file.
63411         * modules/unictype/property-ids-trinary-operator: New file.
63412         * modules/unictype/property-zero-width: New file.
63413         * modules/unictype/property-space: New file.
63414         * modules/unictype/property-non-break: New file.
63415         * modules/unictype/property-iso-control: New file.
63416         * modules/unictype/property-format-control: New file.
63417         * modules/unictype/property-dash: New file.
63418         * modules/unictype/property-hyphen: New file.
63419         * modules/unictype/property-punctuation: New file.
63420         * modules/unictype/property-line-separator: New file.
63421         * modules/unictype/property-paragraph-separator: New file.
63422         * modules/unictype/property-quotation-mark: New file.
63423         * modules/unictype/property-sentence-terminal: New file.
63424         * modules/unictype/property-terminal-punctuation: New file.
63425         * modules/unictype/property-currency-symbol: New file.
63426         * modules/unictype/property-math: New file.
63427         * modules/unictype/property-other-math: New file.
63428         * modules/unictype/property-paired-punctuation: New file.
63429         * modules/unictype/property-left-of-pair: New file.
63430         * modules/unictype/property-combining: New file.
63431         * modules/unictype/property-composite: New file.
63432         * modules/unictype/property-decimal-digit: New file.
63433         * modules/unictype/property-numeric: New file.
63434         * modules/unictype/property-diacritic: New file.
63435         * modules/unictype/property-extender: New file.
63436         * modules/unictype/property-ignorable-control: New file.
63437         * modules/unictype/property-test: New file.
63438         * modules/unictype/property-byname: New file.
63439         * modules/unictype/property-all: New file.
63440         * modules/unictype/scripts: New file.
63441         * modules/unictype/scripts-all: New file.
63442         * modules/unictype/block-of: New file.
63443         * modules/unictype/block-test: New file.
63444         * modules/unictype/block-list: New file.
63445         * modules/unictype/block-all: New file.
63446         * modules/unictype/syntax-c-whitespace: New file.
63447         * modules/unictype/syntax-java-whitespace: New file.
63448         * modules/unictype/syntax-c-ident: New file.
63449         * modules/unictype/syntax-java-ident: New file.
63450         * modules/unictype/ctype-alnum: New file.
63451         * modules/unictype/ctype-alpha: New file.
63452         * modules/unictype/ctype-cntrl: New file.
63453         * modules/unictype/ctype-digit: New file.
63454         * modules/unictype/ctype-graph: New file.
63455         * modules/unictype/ctype-lower: New file.
63456         * modules/unictype/ctype-print: New file.
63457         * modules/unictype/ctype-punct: New file.
63458         * modules/unictype/ctype-space: New file.
63459         * modules/unictype/ctype-upper: New file.
63460         * modules/unictype/ctype-xdigit: New file.
63461         * modules/unictype/ctype-blank: New file.
63462         * lib/unictype/bidi_byname.c: New file.
63463         * lib/unictype/bidi_name.c: New file.
63464         * lib/unictype/bidi_of.c: New file.
63465         * lib/unictype/bidi_test.c: New file.
63466         * lib/unictype/bitmap.h: New file.
63467         * lib/unictype/block_test.c: New file.
63468         * lib/unictype/blocks.c: New file.
63469         * lib/unictype/categ_C.c: New file.
63470         * lib/unictype/categ_Cc.c: New file.
63471         * lib/unictype/categ_Cf.c: New file.
63472         * lib/unictype/categ_Cn.c: New file.
63473         * lib/unictype/categ_Co.c: New file.
63474         * lib/unictype/categ_Cs.c: New file.
63475         * lib/unictype/categ_L.c: New file.
63476         * lib/unictype/categ_Ll.c: New file.
63477         * lib/unictype/categ_Lm.c: New file.
63478         * lib/unictype/categ_Lo.c: New file.
63479         * lib/unictype/categ_Lt.c: New file.
63480         * lib/unictype/categ_Lu.c: New file.
63481         * lib/unictype/categ_M.c: New file.
63482         * lib/unictype/categ_Mc.c: New file.
63483         * lib/unictype/categ_Me.c: New file.
63484         * lib/unictype/categ_Mn.c: New file.
63485         * lib/unictype/categ_N.c: New file.
63486         * lib/unictype/categ_Nd.c: New file.
63487         * lib/unictype/categ_Nl.c: New file.
63488         * lib/unictype/categ_No.c: New file.
63489         * lib/unictype/categ_P.c: New file.
63490         * lib/unictype/categ_Pc.c: New file.
63491         * lib/unictype/categ_Pd.c: New file.
63492         * lib/unictype/categ_Pe.c: New file.
63493         * lib/unictype/categ_Pf.c: New file.
63494         * lib/unictype/categ_Pi.c: New file.
63495         * lib/unictype/categ_Po.c: New file.
63496         * lib/unictype/categ_Ps.c: New file.
63497         * lib/unictype/categ_S.c: New file.
63498         * lib/unictype/categ_Sc.c: New file.
63499         * lib/unictype/categ_Sk.c: New file.
63500         * lib/unictype/categ_Sm.c: New file.
63501         * lib/unictype/categ_So.c: New file.
63502         * lib/unictype/categ_Z.c: New file.
63503         * lib/unictype/categ_Zl.c: New file.
63504         * lib/unictype/categ_Zp.c: New file.
63505         * lib/unictype/categ_Zs.c: New file.
63506         * lib/unictype/categ_and.c: New file.
63507         * lib/unictype/categ_and_not.c: New file.
63508         * lib/unictype/categ_byname.c: New file.
63509         * lib/unictype/categ_name.c: New file.
63510         * lib/unictype/categ_none.c: New file.
63511         * lib/unictype/categ_of.c: New file.
63512         * lib/unictype/categ_or.c: New file.
63513         * lib/unictype/categ_test.c: New file.
63514         * lib/unictype/combining.c: New file.
63515         * lib/unictype/ctype_alnum.c: New file.
63516         * lib/unictype/ctype_alpha.c: New file.
63517         * lib/unictype/ctype_blank.c: New file.
63518         * lib/unictype/ctype_cntrl.c: New file.
63519         * lib/unictype/ctype_digit.c: New file.
63520         * lib/unictype/ctype_graph.c: New file.
63521         * lib/unictype/ctype_lower.c: New file.
63522         * lib/unictype/ctype_print.c: New file.
63523         * lib/unictype/ctype_punct.c: New file.
63524         * lib/unictype/ctype_space.c: New file.
63525         * lib/unictype/ctype_upper.c: New file.
63526         * lib/unictype/ctype_xdigit.c: New file.
63527         * lib/unictype/decdigit.c: New file.
63528         * lib/unictype/digit.c: New file.
63529         * lib/unictype/identsyntaxmap.h: New file.
63530         * lib/unictype/mirror.c: New file.
63531         * lib/unictype/numeric.c: New file.
63532         * lib/unictype/pr_alphabetic.c: New file.
63533         * lib/unictype/pr_ascii_hex_digit.c: New file.
63534         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63535         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63536         * lib/unictype/pr_bidi_block_separator.c: New file.
63537         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63538         * lib/unictype/pr_bidi_common_separator.c: New file.
63539         * lib/unictype/pr_bidi_control.c: New file.
63540         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63541         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63542         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63543         * lib/unictype/pr_bidi_european_digit.c: New file.
63544         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63545         * lib/unictype/pr_bidi_left_to_right.c: New file.
63546         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63547         * lib/unictype/pr_bidi_other_neutral.c: New file.
63548         * lib/unictype/pr_bidi_pdf.c: New file.
63549         * lib/unictype/pr_bidi_segment_separator.c: New file.
63550         * lib/unictype/pr_bidi_whitespace.c: New file.
63551         * lib/unictype/pr_byname.c: New file.
63552         * lib/unictype/pr_byname.gperf: New file.
63553         * lib/unictype/pr_combining.c: New file.
63554         * lib/unictype/pr_composite.c: New file.
63555         * lib/unictype/pr_currency_symbol.c: New file.
63556         * lib/unictype/pr_dash.c: New file.
63557         * lib/unictype/pr_decimal_digit.c: New file.
63558         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63559         * lib/unictype/pr_deprecated.c: New file.
63560         * lib/unictype/pr_diacritic.c: New file.
63561         * lib/unictype/pr_extender.c: New file.
63562         * lib/unictype/pr_format_control.c: New file.
63563         * lib/unictype/pr_grapheme_base.c: New file.
63564         * lib/unictype/pr_grapheme_extend.c: New file.
63565         * lib/unictype/pr_grapheme_link.c: New file.
63566         * lib/unictype/pr_hex_digit.c: New file.
63567         * lib/unictype/pr_hyphen.c: New file.
63568         * lib/unictype/pr_id_continue.c: New file.
63569         * lib/unictype/pr_id_start.c: New file.
63570         * lib/unictype/pr_ideographic.c: New file.
63571         * lib/unictype/pr_ids_binary_operator.c: New file.
63572         * lib/unictype/pr_ids_trinary_operator.c: New file.
63573         * lib/unictype/pr_ignorable_control.c: New file.
63574         * lib/unictype/pr_iso_control.c: New file.
63575         * lib/unictype/pr_join_control.c: New file.
63576         * lib/unictype/pr_left_of_pair.c: New file.
63577         * lib/unictype/pr_line_separator.c: New file.
63578         * lib/unictype/pr_logical_order_exception.c: New file.
63579         * lib/unictype/pr_lowercase.c: New file.
63580         * lib/unictype/pr_math.c: New file.
63581         * lib/unictype/pr_non_break.c: New file.
63582         * lib/unictype/pr_not_a_character.c: New file.
63583         * lib/unictype/pr_numeric.c: New file.
63584         * lib/unictype/pr_other_alphabetic.c: New file.
63585         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63586         * lib/unictype/pr_other_grapheme_extend.c: New file.
63587         * lib/unictype/pr_other_id_continue.c: New file.
63588         * lib/unictype/pr_other_id_start.c: New file.
63589         * lib/unictype/pr_other_lowercase.c: New file.
63590         * lib/unictype/pr_other_math.c: New file.
63591         * lib/unictype/pr_other_uppercase.c: New file.
63592         * lib/unictype/pr_paired_punctuation.c: New file.
63593         * lib/unictype/pr_paragraph_separator.c: New file.
63594         * lib/unictype/pr_pattern_syntax.c: New file.
63595         * lib/unictype/pr_pattern_white_space.c: New file.
63596         * lib/unictype/pr_private_use.c: New file.
63597         * lib/unictype/pr_punctuation.c: New file.
63598         * lib/unictype/pr_quotation_mark.c: New file.
63599         * lib/unictype/pr_radical.c: New file.
63600         * lib/unictype/pr_sentence_terminal.c: New file.
63601         * lib/unictype/pr_soft_dotted.c: New file.
63602         * lib/unictype/pr_space.c: New file.
63603         * lib/unictype/pr_terminal_punctuation.c: New file.
63604         * lib/unictype/pr_test.c: New file.
63605         * lib/unictype/pr_titlecase.c: New file.
63606         * lib/unictype/pr_unassigned_code_value.c: New file.
63607         * lib/unictype/pr_unified_ideograph.c: New file.
63608         * lib/unictype/pr_uppercase.c: New file.
63609         * lib/unictype/pr_variation_selector.c: New file.
63610         * lib/unictype/pr_white_space.c: New file.
63611         * lib/unictype/pr_xid_continue.c: New file.
63612         * lib/unictype/pr_xid_start.c: New file.
63613         * lib/unictype/pr_zero_width.c: New file.
63614         * lib/unictype/scripts.c: New file.
63615         * lib/unictype/sy_c_ident.c: New file.
63616         * lib/unictype/sy_c_whitespace.c: New file.
63617         * lib/unictype/sy_java_ident.c: New file.
63618         * lib/unictype/sy_java_whitespace.c: New file.
63619
63620         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63621         Unicode 5.0.0.
63622         * lib/unictype/blocks.h: Likewise.
63623         * lib/unictype/categ_C.h: Likewise.
63624         * lib/unictype/categ_Cc.h: Likewise.
63625         * lib/unictype/categ_Cf.h: Likewise.
63626         * lib/unictype/categ_Cn.h: Likewise.
63627         * lib/unictype/categ_Co.h: Likewise.
63628         * lib/unictype/categ_Cs.h: Likewise.
63629         * lib/unictype/categ_L.h: Likewise.
63630         * lib/unictype/categ_Ll.h: Likewise.
63631         * lib/unictype/categ_Lm.h: Likewise.
63632         * lib/unictype/categ_Lo.h: Likewise.
63633         * lib/unictype/categ_Lt.h: Likewise.
63634         * lib/unictype/categ_Lu.h: Likewise.
63635         * lib/unictype/categ_M.h: Likewise.
63636         * lib/unictype/categ_Mc.h: Likewise.
63637         * lib/unictype/categ_Me.h: Likewise.
63638         * lib/unictype/categ_Mn.h: Likewise.
63639         * lib/unictype/categ_N.h: Likewise.
63640         * lib/unictype/categ_Nd.h: Likewise.
63641         * lib/unictype/categ_Nl.h: Likewise.
63642         * lib/unictype/categ_No.h: Likewise.
63643         * lib/unictype/categ_P.h: Likewise.
63644         * lib/unictype/categ_Pc.h: Likewise.
63645         * lib/unictype/categ_Pd.h: Likewise.
63646         * lib/unictype/categ_Pe.h: Likewise.
63647         * lib/unictype/categ_Pf.h: Likewise.
63648         * lib/unictype/categ_Pi.h: Likewise.
63649         * lib/unictype/categ_Po.h: Likewise.
63650         * lib/unictype/categ_Ps.h: Likewise.
63651         * lib/unictype/categ_S.h: Likewise.
63652         * lib/unictype/categ_Sc.h: Likewise.
63653         * lib/unictype/categ_Sk.h: Likewise.
63654         * lib/unictype/categ_Sm.h: Likewise.
63655         * lib/unictype/categ_So.h: Likewise.
63656         * lib/unictype/categ_Z.h: Likewise.
63657         * lib/unictype/categ_Zl.h: Likewise.
63658         * lib/unictype/categ_Zp.h: Likewise.
63659         * lib/unictype/categ_Zs.h: Likewise.
63660         * lib/unictype/categ_of.h: Likewise.
63661         * lib/unictype/combining.h: Likewise.
63662         * lib/unictype/ctype_alnum.h: Likewise.
63663         * lib/unictype/ctype_alpha.h: Likewise.
63664         * lib/unictype/ctype_blank.h: Likewise.
63665         * lib/unictype/ctype_cntrl.h: Likewise.
63666         * lib/unictype/ctype_digit.h: Likewise.
63667         * lib/unictype/ctype_graph.h: Likewise.
63668         * lib/unictype/ctype_lower.h: Likewise.
63669         * lib/unictype/ctype_print.h: Likewise.
63670         * lib/unictype/ctype_punct.h: Likewise.
63671         * lib/unictype/ctype_space.h: Likewise.
63672         * lib/unictype/ctype_upper.h: Likewise.
63673         * lib/unictype/ctype_xdigit.h: Likewise.
63674         * lib/unictype/decdigit.h: Likewise.
63675         * lib/unictype/digit.h: Likewise.
63676         * lib/unictype/mirror.h: Likewise.
63677         * lib/unictype/numeric.h: Likewise.
63678         * lib/unictype/pr_alphabetic.h: Likewise.
63679         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63680         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63681         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63682         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63683         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63684         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63685         * lib/unictype/pr_bidi_control.h: Likewise.
63686         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63687         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63688         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63689         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63690         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63691         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63692         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63693         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63694         * lib/unictype/pr_bidi_pdf.h: Likewise.
63695         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63696         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63697         * lib/unictype/pr_combining.h: Likewise.
63698         * lib/unictype/pr_composite.h: Likewise.
63699         * lib/unictype/pr_currency_symbol.h: Likewise.
63700         * lib/unictype/pr_dash.h: Likewise.
63701         * lib/unictype/pr_decimal_digit.h: Likewise.
63702         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63703         * lib/unictype/pr_deprecated.h: Likewise.
63704         * lib/unictype/pr_diacritic.h: Likewise.
63705         * lib/unictype/pr_extender.h: Likewise.
63706         * lib/unictype/pr_format_control.h: Likewise.
63707         * lib/unictype/pr_grapheme_base.h: Likewise.
63708         * lib/unictype/pr_grapheme_extend.h: Likewise.
63709         * lib/unictype/pr_grapheme_link.h: Likewise.
63710         * lib/unictype/pr_hex_digit.h: Likewise.
63711         * lib/unictype/pr_hyphen.h: Likewise.
63712         * lib/unictype/pr_id_continue.h: Likewise.
63713         * lib/unictype/pr_id_start.h: Likewise.
63714         * lib/unictype/pr_ideographic.h: Likewise.
63715         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63716         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63717         * lib/unictype/pr_ignorable_control.h: Likewise.
63718         * lib/unictype/pr_iso_control.h: Likewise.
63719         * lib/unictype/pr_join_control.h: Likewise.
63720         * lib/unictype/pr_left_of_pair.h: Likewise.
63721         * lib/unictype/pr_line_separator.h: Likewise.
63722         * lib/unictype/pr_logical_order_exception.h: Likewise.
63723         * lib/unictype/pr_lowercase.h: Likewise.
63724         * lib/unictype/pr_math.h: Likewise.
63725         * lib/unictype/pr_non_break.h: Likewise.
63726         * lib/unictype/pr_not_a_character.h: Likewise.
63727         * lib/unictype/pr_numeric.h: Likewise.
63728         * lib/unictype/pr_other_alphabetic.h: Likewise.
63729         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63730         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63731         * lib/unictype/pr_other_id_continue.h: Likewise.
63732         * lib/unictype/pr_other_id_start.h: Likewise.
63733         * lib/unictype/pr_other_lowercase.h: Likewise.
63734         * lib/unictype/pr_other_math.h: Likewise.
63735         * lib/unictype/pr_other_uppercase.h: Likewise.
63736         * lib/unictype/pr_paired_punctuation.h: Likewise.
63737         * lib/unictype/pr_paragraph_separator.h: Likewise.
63738         * lib/unictype/pr_pattern_syntax.h: Likewise.
63739         * lib/unictype/pr_pattern_white_space.h: Likewise.
63740         * lib/unictype/pr_private_use.h: Likewise.
63741         * lib/unictype/pr_punctuation.h: Likewise.
63742         * lib/unictype/pr_quotation_mark.h: Likewise.
63743         * lib/unictype/pr_radical.h: Likewise.
63744         * lib/unictype/pr_sentence_terminal.h: Likewise.
63745         * lib/unictype/pr_soft_dotted.h: Likewise.
63746         * lib/unictype/pr_space.h: Likewise.
63747         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63748         * lib/unictype/pr_titlecase.h: Likewise.
63749         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63750         * lib/unictype/pr_unified_ideograph.h: Likewise.
63751         * lib/unictype/pr_uppercase.h: Likewise.
63752         * lib/unictype/pr_variation_selector.h: Likewise.
63753         * lib/unictype/pr_white_space.h: Likewise.
63754         * lib/unictype/pr_xid_continue.h: Likewise.
63755         * lib/unictype/pr_xid_start.h: Likewise.
63756         * lib/unictype/pr_zero_width.h: Likewise.
63757         * lib/unictype/scripts.h: Likewise.
63758         * lib/unictype/scripts_byname.gperf: Likewise.
63759         * lib/unictype/sy_c_ident.h: Likewise.
63760         * lib/unictype/sy_c_whitespace.h: Likewise.
63761         * lib/unictype/sy_java_ident.h: Likewise.
63762         * lib/unictype/sy_java_whitespace.h: Likewise.
63763
63764         * lib/unictype/Makefile: New file.
63765         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
63766         glibc.
63767         * lib/unictype/3level.h: New file, copied from glibc.
63768         * lib/unictype/3levelbit.h: New file.
63769
63770 2007-11-11  Bruno Haible  <bruno@clisp.org>
63771
63772         * modules/gperf: New file.
63773         * modules/iconv_open (Depends-on): Add it.
63774         (Makefile.am): Remove the GPERF definition.
63775
63776 2007-11-11  Bruno Haible  <bruno@clisp.org>
63777
63778         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
63779         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
63780
63781 2007-11-11  Bruno Haible  <bruno@clisp.org>
63782
63783         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
63784         (usage): Remove function.
63785
63786 2007-11-11  Bruno Haible  <bruno@clisp.org>
63787
63788         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
63789         gl_FUNC_CEILF_LIBS.
63790         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
63791         gl_FUNC_CEIL_LIBS.
63792         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
63793         gl_FUNC_CEILL_LIBS.
63794         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
63795         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
63796         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
63797
63798 2007-11-11  Bruno Haible  <bruno@clisp.org>
63799
63800         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
63801         roundf were declared but do not exist on functions.
63802         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
63803         roundl were declared but do not exist on functions.
63804         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
63805         HAVE_FLOORL_AND_CEILL, respectively.
63806         Needed for Sun C on Solaris 10.
63807
63808 2007-11-11  Bruno Haible  <bruno@clisp.org>
63809
63810         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
63811         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
63812         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
63813         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
63814         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
63815         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
63816         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
63817         HAVE_DECL_ROUNDF.
63818         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
63819         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
63820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
63821         of HAVE_DECL_ROUND*.
63822         * modules/math (Makefile.am): Update.
63823
63824 2007-11-10  Bruno Haible  <bruno@clisp.org>
63825
63826         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
63827         ptrdiff_t as m4/intl.m4.
63828
63829 2007-11-10  Jim Meyering  <meyering@redhat.com>
63830
63831         Avoid link failure for the argmatch test.
63832         * tests/test-argmatch.c (usage): Define function to avoid a link
63833         failure: argmatch_die requires a usage function.
63834
63835 2007-11-09  Bruno Haible  <bruno@clisp.org>
63836
63837         * doc/functions/snprintf.texi: Mention BeOS deficiency.
63838         * doc/functions/vsnprintf.texi: Likewise.
63839         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
63840         with a size argument < 2.
63841
63842 2007-11-09  Bruno Haible  <bruno@clisp.org>
63843
63844         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
63845         buffer. Fixes an inefficiency introduced on 2007-11-03.
63846
63847 2007-11-09  Bruno Haible  <bruno@clisp.org>
63848
63849         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
63850         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
63851
63852 2007-11-08  Jim Meyering  <meyering@redhat.com>
63853
63854         Change cache variable name prefix "jm_" to "gl_" everywhere.
63855         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
63856         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
63857         * m4/uptime.m4: s/gl_/jm_/
63858
63859 2007-11-07  Bruno Haible  <bruno@clisp.org>
63860
63861         Update to GNU gettext 0.17.
63862         * m4/intl.m4: Update to GNU gettext 0.17.
63863         * m4/po.m4: Likewise.
63864         * modules/gettext (Files): Remove m4/ulonglong.m4.
63865         (configure.ac): Require gettext infrastructure from version 0.17.
63866
63867 2007-11-06  Bruno Haible  <bruno@clisp.org>
63868
63869         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
63870         symbolic values are not defined in a public header.
63871         * lib/freadable.c (freadable) [QNX]: Likewise.
63872         * lib/freadahead.c (freadahead) [QNX]: Likewise.
63873         * lib/freading.c (freading) [QNX]: Likewise.
63874         * lib/fseterr.c (fseterr) [QNX]: Likewise.
63875         * lib/fwritable.c (fwritable) [QNX]: Likewise.
63876         * lib/fwriting.c (fwriting) [QNX]: Likewise.
63877         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
63878         Reported by Alain Magloire.
63879
63880         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
63881
63882 2007-11-05  Bruno Haible  <bruno@clisp.org>
63883
63884         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
63885         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
63886         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
63887         Reported by Eric Blake.
63888
63889 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63890             Bruno Haible  <bruno@clisp.org>
63891
63892         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
63893         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
63894         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
63895         (malloc): Undefine also before including <stdlib.h>.
63896         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
63897         Needed on OSF/1 4.0.
63898
63899 2007-11-05  Jim Meyering  <meyering@redhat.com>
63900
63901         git-version-gen: sync from coreutils.
63902         * build-aux/git-version-gen: Add comments.
63903         Change the first '-' to '.' in the snapshot version string,
63904         e.g., 6.9-377-08144 -> 6.9.377-08144
63905         Remove first parameter.
63906         Don't declare a version "-dirty" merely because a time
63907         stamp has changed.
63908
63909 2007-11-04  Bruno Haible  <bruno@clisp.org>
63910
63911         * lib/lock.h: Protect all macro definitions containing an 'if'
63912         statement through a "do { ... } while (0)".
63913         * lib/tls.h: Likewise.
63914
63915 2007-11-04  Bruno Haible  <bruno@clisp.org>
63916
63917         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
63918
63919 2007-11-04  Bruno Haible  <bruno@clisp.org>
63920
63921         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
63922         * modules/fprintf-posix (Depends-on): Add nocrash.
63923         * modules/snprintf-posix (Depends-on): Likewise.
63924         * modules/sprintf-posix (Depends-on): Likewise.
63925         * modules/vasnprintf-posix (Depends-on): Likewise.
63926         * modules/vasprintf-posix (Depends-on): Likewise.
63927         * modules/vfprintf-posix (Depends-on): Likewise.
63928         * modules/vsnprintf-posix (Depends-on): Likewise.
63929         * modules/vsprintf-posix (Depends-on): Likewise.
63930         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63931         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63932         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63933         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63934         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63935         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63936         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63937
63938 2007-11-04  Bruno Haible  <bruno@clisp.org>
63939
63940         * modules/nocrash: New file.
63941         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
63942         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
63943
63944 2007-11-04  Bruno Haible  <bruno@clisp.org>
63945
63946         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
63947         precision handling.
63948         * tests/test-vasprintf-posix.c (test_function): Likewise.
63949         * tests/test-snprintf-posix.h (test_function): Likewise.
63950         * tests/test-sprintf-posix.h (test_function): Likewise.
63951
63952         Fix *printf behaviour for large precisions on mingw and BeOS.
63953         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
63954         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
63955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
63956         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63957         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63958         gl_PRINTF_PRECISION and test its result. Invoke
63959         gl_PREREQ_VASNPRINTF_PRECISION.
63960         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63961         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63962         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63963         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63964         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63965         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63966         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63967         * doc/functions/fprintf.texi: Update.
63968         * doc/functions/printf.texi: Update.
63969         * doc/functions/snprintf.texi: Update.
63970         * doc/functions/sprintf.texi: Update.
63971         * doc/functions/vfprintf.texi: Update.
63972         * doc/functions/vprintf.texi: Update.
63973         * doc/functions/vsnprintf.texi: Update.
63974         * doc/functions/vsprintf.texi: Update.
63975
63976 2007-11-04  Bruno Haible  <bruno@clisp.org>
63977
63978         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
63979
63980 2007-11-04  Bruno Haible  <bruno@clisp.org>
63981
63982         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
63983         Reported by Sylvain Beucler <beuc@gnu.org>.
63984
63985 2007-11-03  Bruno Haible  <bruno@clisp.org>
63986
63987         * tests/test-fprintf-posix2.sh: New file.
63988         * tests/test-fprintf-posix2.c: New file.
63989         * modules/fprintf-posix-tests (Files): Add them.
63990         (TESTS): Add test-fprintf-posix2.sh.
63991         (configure.ac): Check for getrlimit and setrlimit.
63992         (check_PROGRAMS): Add test-fprintf-posix2.
63993
63994         * tests/test-printf-posix2.sh: New file.
63995         * tests/test-printf-posix2.c: New file.
63996         * modules/printf-posix-tests (Files): Add them.
63997         (TESTS): Add test-printf-posix2.sh.
63998         (configure.ac): Check for getrlimit and setrlimit.
63999         (check_PROGRAMS): Add test-printf-posix2.
64000
64001         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64002         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64003         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64004         (decode_double): New function, copied from decode_long_double.
64005         (scale10_round_decimal_decoded): New function, extracted from
64006         scale10_round_decimal_long_double.
64007         (scale10_round_decimal_long_double): Use it.
64008         (scale10_round_decimal_double): New function.
64009         (floorlog10): New function.
64010         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64012         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64013         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64014         gl_PRINTF_ENOMEM and test its result. Invoke
64015         gl_PREREQ_VASNPRINTF_ENOMEM.
64016         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64018         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64020         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64021         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64022         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64023         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64024         * modules/snprintf-posix (Depends-on): Likewise.
64025         * modules/sprintf-posix (Depends-on): Likewise.
64026         * modules/vasnprintf-posix (Depends-on): Likewise.
64027         * modules/vasprintf-posix (Depends-on): Likewise.
64028         * modules/vfprintf-posix (Depends-on): Likewise.
64029         * modules/vsnprintf-posix (Depends-on): Likewise.
64030         * modules/vsprintf-posix (Depends-on): Likewise.
64031         * doc/functions/fprintf.texi: Update.
64032         * doc/functions/printf.texi: Update.
64033         * doc/functions/snprintf.texi: Update.
64034         * doc/functions/sprintf.texi: Update.
64035         * doc/functions/vfprintf.texi: Update.
64036         * doc/functions/vprintf.texi: Update.
64037         * doc/functions/vsnprintf.texi: Update.
64038         * doc/functions/vsprintf.texi: Update.
64039
64040 2007-11-03  Bruno Haible  <bruno@clisp.org>
64041
64042         * modules/frexp-nolibm-tests: New file.
64043
64044         * modules/frexp-nolibm: New file.
64045         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64046
64047 2007-11-03  Bruno Haible  <bruno@clisp.org>
64048
64049         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64050         value is C99 compliant.
64051         Needed for OSF/1 5.1.
64052
64053 2007-11-03  Bruno Haible  <bruno@clisp.org>
64054
64055         Fix out-of-memory handling of vasnprintf.
64056         * lib/printf-parse.c: Include <errno.h>.
64057         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64058         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64059         is already set.
64060
64061 2007-11-02  Eric Blake  <ebb9@byu.net>
64062
64063         Fix tests on cygwin.
64064         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64065
64066 2007-11-01  Bruno Haible  <bruno@clisp.org>
64067
64068         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64069         warning.
64070         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64071         needed for POSIX compatibility.
64072
64073 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64074
64075         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64076         for compatibility with GNU.
64077
64078 2007-11-01  Bruno Haible  <bruno@clisp.org>
64079
64080         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64081         (putenv): Renamed from rpl_putenv. Change argument type from
64082         'const char *' to 'char *'.
64083         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64084         of defining putenv in config.h, just set REPLACE_PUTENV.
64085         * modules/putenv (Depends-on): Add stdlib.
64086         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64087         (Include): Use <stdlib.h>.
64088         * lib/stdlib.in.h (putenv): New declaration.
64089         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64090         REPLACE_PUTENV.
64091         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64092         REPLACE_PUTENV.
64093         Needed for MacOS X 10.5.0.
64094         Reported by Peter O'Gorman <peter@pogma.com>.
64095
64096 2007-11-01  Jim Meyering  <meyering@redhat.com>
64097
64098         Treat an empty date string exactly like "0".
64099         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64100         if the remaining date string (to be parsed) is empty, use "0".
64101         Reported by Mischa Molhoek and discussed in this thread:
64102         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64103
64104 2007-10-31  Bruno Haible  <bruno@clisp.org>
64105
64106         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64107         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64108         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64109         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64110         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64111         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64112
64113 2007-10-31  Bruno Haible  <bruno@clisp.org>
64114
64115         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64116         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64117         (AC_TYPE_LONG_LONG_INT): Use it.
64118         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64119         it as well.
64120         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64121         to m4/longlong.m4.
64122         * modules/stdint (Files): Remove m4/ulonglong.m4.
64123         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64124         m4/ulonglong.m4.
64125         * modules/strtoumax (Files): Likewise.
64126
64127 2007-10-30  Bruno Haible  <bruno@clisp.org>
64128
64129         * modules/xvasprintf-posix: New file.
64130         Suggested by Eric Blake.
64131
64132 2007-10-30  Bruno Haible  <bruno@clisp.org>
64133
64134         * modules/xprintf-posix-tests: New file.
64135         * tests/test-xprintf-posix.sh: New file.
64136         * tests/test-xprintf-posix.c: New file.
64137         * tests/test-xfprintf-posix.c: New file.
64138
64139         * modules/xprintf-posix: New file.
64140
64141 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64142
64143         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64144         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64145         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64146
64147 2007-10-29  Bruno Haible  <bruno@clisp.org>
64148
64149         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64150         contain the special marker '_cv_'.
64151         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64152         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64153         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64154         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64155         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64156         Reported by Ralf Wildenhues.
64157
64158 2007-10-29  Bruno Haible  <bruno@clisp.org>
64159
64160         * gnulib-tool (func_import): When --lgpl is not specified, set
64161         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64162         GPLv3.
64163         Reported by Simon Josefsson.
64164
64165 2007-10-28  Bruno Haible  <bruno@clisp.org>
64166
64167         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64168         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64169         HAVE_DECL_ISFINITE.
64170         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64171         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64172         HAVE_DECL_ISFINITE.
64173
64174 2007-10-28  Bruno Haible  <bruno@clisp.org>
64175
64176         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64177         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64178
64179 2007-10-28  Bruno Haible  <bruno@clisp.org>
64180
64181         Fix link errors with Sun C 5.0 on Solaris 10.
64182         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64183         function is declared but not present in the compiler's libm.
64184         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64185         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64186         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64187         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64188         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64189         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64190         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64192         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64193         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64194         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64195         HAVE_DECL_FLOORL.
64196
64197 2007-10-28  Bruno Haible  <bruno@clisp.org>
64198
64199         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64200         gl_FUNC_FLOORL. Cache the result.
64201         (gl_FUNC_FLOORL): Use it.
64202         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64203         gl_FUNC_CEILL. Cache the result.
64204         (gl_FUNC_CEILL): Use it.
64205
64206         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64207         gl_FUNC_FLOOR. Cache the result.
64208         (gl_FUNC_FLOOR): Use it.
64209         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64210         gl_FUNC_CEIL. Cache the result.
64211         (gl_FUNC_CEIL): Use it.
64212
64213         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64214         gl_FUNC_FLOORF. Cache the result.
64215         (gl_FUNC_FLOORF): Use it.
64216         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64217         gl_FUNC_CEILF. Cache the result.
64218         (gl_FUNC_CEILF): Use it.
64219
64220 2007-10-28  Bruno Haible  <bruno@clisp.org>
64221
64222         * gnulib-tool: Allow specifying the LGPL version number through
64223         --lgpl=2 or --lgpl=3.
64224         (func_usage): Document --lgpl with argument.
64225         Handle --lgpl=... arguments.
64226         (func_import): Recognize also gl_LGPL calls with an argument. When
64227         --lgpl=2 is used and the module's license is just LGPL, report an
64228         error. Set sed_transform_lib_file according to the lgpl variable. In
64229         the generated files, use --lgpl or gl_LGPL invocations with argument,
64230         if necessary.
64231         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64232         an LGPv2+ license.
64233         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64234         gl_LGPL macro.
64235
64236 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64237             Bruno Haible  <bruno@clisp.org>
64238
64239         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64240         (u16_uctomb_aux): Likewise.
64241         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64242         !HAVE_INLINE.
64243         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64244
64245 2007-10-28  Bruno Haible  <bruno@clisp.org>
64246
64247         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64248         Invoke AM_GETTEXT_OPTION if it exists.
64249         * modules/vasprintf: Likewise.
64250         * modules/verror: Likewise.
64251         * modules/xprintf: Likewise.
64252         * modules/xvasprintf: Likewise.
64253
64254 2007-10-27  Ben Pfaff  <blp@gnu.org>
64255
64256         * lib/math.in.h: Define isfinite macro and prototypes for
64257         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64258         implementations.
64259         * m4/math_h.m4: New substitutions for isfinite module.
64260         * lib/isfinite.c: New file.
64261         * m4/isfinite.m4: New file.
64262         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64263         * modules/isfinite: New file.
64264         * modules/isfinite-tests: New file.
64265         * tests/tests-isfinite.c: New file.
64266         * doc/functions/isfinite.texi: Mention isfinite module.
64267         * MODULES.html.sh: Mention new module.
64268
64269 2007-10-27  Ben Pfaff  <blp@gnu.org>
64270
64271         Ralf Wildenhues reported that Tru64 4.0D declares the round
64272         functions but does not have definitions.
64273         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64274         cannot be found in any library, set the output variable to
64275         "missing" instead of "".
64276         * m4/round.m4: Also use our substitute if we cannot find round in
64277         any library, even if it is declared.
64278         * m4/roundf.m4: Likewise for roundf.
64279         * m4/roundl.m4: Likewise for roundl.
64280         * lib/math.in.h: Undefine roundf, round, roundl before defining
64281         their replacements, to allow for hypothetical systems where these
64282         may be defined as macros but not available in libraries.
64283
64284 2007-10-27  Bruno Haible  <bruno@clisp.org>
64285
64286         * doc/gnulib.texi: Invoke @firstparagraphindent.
64287         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64288         changes in gnulib.
64289         (Source changes): New section.
64290
64291 2007-10-26  Bruno Haible  <bruno@clisp.org>
64292
64293         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64294         borrowed from autoconf.
64295
64296 2007-10-26  Bruno Haible  <bruno@clisp.org>
64297
64298         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64299         strerror returned the empty string. Needed on HP-UX 11.00.
64300
64301 2007-10-24  Micah Cowan  <micah@cowan.name>
64302
64303         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64304         * build-aux/bootstrap: Remove support for now-unnecessary option,
64305         --cvs-user, and envvars CVS_USER, CVS_RSH.
64306
64307 2007-10-24  Jim Meyering  <meyering@redhat.com>
64308
64309         Avoid diagnostics from sha1sum when there is no cached checksum.
64310         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64311         if the po.s1 file hasn't been created yet.
64312
64313         * build-aux/bootstrap: Sync from coreutils:
64314         2007-10-24  Jim Meyering  <meyering@redhat.com>
64315         Get gnulib from the git repository, not from an obsolete cvs one.
64316         * build-aux/bootstrap: Suggestion from Micah Cowan.
64317         2007-10-04  Jim Meyering  <jim@meyering.net>
64318         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64319         (update_po_files): Work also when there are no .po files in po/.
64320
64321 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64322
64323         * README: Append ".git" to git and cg examples.
64324         Problem reported by Benoit Sigoure.
64325
64326 2007-10-23  Micah Cowan  <micah@cowan.name>
64327
64328         * users.txt: Add wget.
64329
64330 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64331
64332         Fix linking of some unistdio tests on FreeBSD.
64333         * modules/unistdio/u16-vsnprintf-tests
64334         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64335         * modules/unistdio/u16-vsprintf-tests
64336         (test_u16_vsnprintf1_LDADD): Likewise.
64337         * modules/unistdio/u32-vsnprintf-tests
64338         (test_u32_vsnprintf1_LDADD): Likewise.
64339         * modules/unistdio/u32-vsprintf-tests
64340         (test_u32_vsprintf1_LDADD): Likewise.
64341         * modules/unistdio/u8-vsnprintf-tests
64342         (test_u8_vsnprintf1_LDADD): Likewise.
64343         * modules/unistdio/u8-vsprintf-tests
64344         (test_u8_vsprintf1_LDADD): Likewise.
64345         * modules/unistdio/ulc-vsnprintf-tests
64346         (test_ulc_vsnprintf1_LDADD): Likewise.
64347         * modules/unistdio/ulc-vsprintf-tests
64348         (test_ulc_vsprintf1_LDADD): Likewise.
64349
64350         Fix linking of some uniconv tests on FreeBSD.
64351         * modules/uniconv/u16-conv-from-enc-tests
64352         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64353         * modules/uniconv/u16-conv-to-enc-tests
64354         (test_u16_conv_to_enc_LDADD): Likewise.
64355         * modules/uniconv/u16-strconv-from-enc-tests
64356         (test_u16_strconv_from_enc_LDADD): Likewise.
64357         * modules/uniconv/u16-strconv-to-enc-tests
64358         (test_u16_strconv_to_enc_LDADD): Likewise.
64359         * modules/uniconv/u32-conv-from-enc-tests
64360         (test_u32_conv_from_enc_LDADD): Likewise.
64361         * modules/uniconv/u32-conv-to-enc-tests
64362         (test_u32_conv_to_enc_LDADD): Likewise.
64363         * modules/uniconv/u32-strconv-from-enc-tests
64364         (test_u32_strconv_from_enc_LDADD): Likewise.
64365         * modules/uniconv/u32-strconv-to-enc-tests
64366         (test_u32_strconv_to_enc_LDADD): Likewise.
64367         * modules/uniconv/u8-conv-from-enc-tests
64368         (test_u8_conv_from_enc_LDADD): Likewise.
64369         * modules/uniconv/u8-conv-to-enc-tests
64370         (test_u8_conv_to_enc_LDADD): Likewise.
64371         * modules/uniconv/u8-strconv-from-enc-tests
64372         (test_u8_strconv_from_enc_LDADD): Likewise.
64373         * modules/uniconv/u8-strconv-to-enc-tests
64374         (test_u8_strconv_to_enc_LDADD): Likewise.
64375
64376 2007-10-22  Bruno Haible  <bruno@clisp.org>
64377
64378         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64379         size.
64380
64381 2007-10-22  Eric Blake  <ebb9@byu.net>
64382
64383         Tweak x*printf documentation.
64384         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64385         variable name and comments.
64386         Suggested by Bruno Haible.
64387
64388 2007-10-22  Bruno Haible  <bruno@clisp.org>
64389
64390         * lib/acl.c (copy_acl): Fix file name in comment.
64391
64392 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64393
64394         Fix Tru64 problem with stdbool.h.
64395         * lib/stdbool.in.h (false, true):
64396         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64397         Don't declare as an enum in this situation; it runs afoul of Tru64.
64398         Problem reported by Steven M. Schweda in
64399         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64400
64401 2007-10-22  Eric Blake  <ebb9@byu.net>
64402
64403         Also wrap vf?printf.
64404         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64405         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64406         (xvprintf, xvfprintf): New functions.
64407
64408 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64409
64410         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64411         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64412
64413         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64414         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64415
64416 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64417
64418         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64419         by Bruno Haible.
64420
64421 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64422
64423         * lib/getloadavg.c
64424         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64425         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64426
64427         * tests/test-i-ring.c: Work for C89.
64428
64429 2007-10-22  Bruno Haible  <bruno@clisp.org>
64430
64431         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64432         -1u, in preprocessor expression, so that we don't test for the bug
64433         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64434         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64435
64436 2007-10-22  Eric Blake  <ebb9@byu.net>
64437
64438         * tests/test-yesno.sh: Silence stderr during test.
64439
64440 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64441
64442         * modules/crypto/gc-camellia: New file.
64443
64444         * m4/gc-camellia.m4: New file.
64445
64446         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64447
64448         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64449
64450 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64451
64452         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64453         --help to stdout.  Reported by sms@antinode.org (Steven
64454         M. Schweda).
64455
64456 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64457
64458         * users.txt: Fix link to libksba.
64459
64460 2007-10-21  Ben Pfaff  <blp@gnu.org>
64461
64462         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64463         round.c roundf implementation that depends on floorf and ceilf to
64464         be tested unconditionally.
64465
64466 2007-10-21  Ben Pfaff  <blp@gnu.org>
64467
64468         * m4/check-libm-func.m4: Removed.
64469         * m4/check-math-lib.m4: New file.
64470         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64471         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64472         definition and lack of AC_LIBOBJ([roundf]).
64473         * m4/roundl.m4: Ditto, and similarly for roundl.
64474         * modules/round: Reference new m4 file.
64475         * modules/roundf: Ditto.
64476         * modules/roundl: Ditto.
64477         * tests/test-round2.c (main): Use ROUND instead of round.
64478         Bug report from Bruno Haible.
64479
64480 2007-10-21  Bruno Haible  <bruno@clisp.org>
64481
64482         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64483         context.
64484
64485 2007-10-21  Bruno Haible  <bruno@clisp.org>
64486
64487         * tests/test-wcwidth.c (main): Allow negative result for some control
64488         characters.
64489
64490         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64491         Needed on OSF/1 5.1.
64492
64493 2007-10-21  Bruno Haible  <bruno@clisp.org>
64494
64495         * tests/test-floorf1.c: Include isnanf.h.
64496         (main): Use isnanf() instead of isnan().
64497         * tests/test-ceilf1.c: Include isnanf.h.
64498         (main): Use isnanf() instead of isnan().
64499         * tests/test-truncf1.c: Include isnanf.h.
64500         (main): Use isnanf() instead of isnan().
64501         * tests/test-roundf1.c: Include isnanf.h.
64502         (main): Use isnanf() instead of isnan().
64503
64504 2007-10-21  Eric Blake  <ebb9@byu.net>
64505
64506         * users.txt: Update URL for m4.
64507
64508 2007-10-21  Bruno Haible  <bruno@clisp.org>
64509
64510         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64511
64512 2007-10-21  Bruno Haible  <bruno@clisp.org>
64513
64514         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64515         Git's management files if the CVS files are not present.
64516
64517 2007-10-20  Bruno Haible  <bruno@clisp.org>
64518
64519         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64520         gcc-3.4.x.
64521
64522 2007-10-20  Ben Pfaff  <blp@gnu.org>
64523
64524         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64525         implementations.
64526         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64527         * lib/round.c: New file.
64528         * lib/roundf.c: New file.
64529         * lib/roundl.c: New file.
64530         * m4/round.m4: New file.
64531         * m4/roundf.m4: New file.
64532         * m4/roundl.m4: New file.
64533         * m4/check-libm-func-m4: New file.
64534         * modules/math: Replace round, roundf, roundl related @VARS@ in
64535         math.in.h.
64536         * modules/round: New file.
64537         * modules/round-tests: New file.
64538         * modules/roundf: New file.
64539         * modules/roundf-tests: New file.
64540         * modules/roundl: New file.
64541         * modules/roundl-tests: New file.
64542         * tests/test-round1.c: New file.
64543         * tests/test-round2.c: New file.
64544         * tests/test-roundf1.c: New file.
64545         * tests/test-roundf2.c: New file.
64546         * tests/test-roundl.c: New file.
64547         * doc/functions/round.texi: Mention round module.
64548         * doc/functions/roundf.texi: Mention roundf module.
64549         * doc/functions/roundl.texi: Mention roundl module.
64550         * MODULES.html.sh: Mention new modules.
64551         Thanks to Bruno Haible for suggestions.
64552
64553 2007-10-20  Jim Meyering  <meyering@redhat.com>
64554
64555         * lib/xprintf.c: Include <config.h> unconditionally.
64556
64557         Change xprintf's license to GPL.
64558         * modules/xprintf (License): s/LGPL/GPL/, since this module
64559         depends on modules (exit and exitfail) which are GPL.
64560         Suggestion from Bruno Haible.
64561
64562         xprintf fixes.
64563         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64564         Use a clearer diagnostic.
64565         Patch from Bruno Haible.
64566
64567 2007-10-20  Bruno Haible  <bruno@clisp.org>
64568
64569         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64570         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64572
64573 2007-10-20  Bruno Haible  <bruno@clisp.org>
64574
64575         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64576         precision in the comparison result > x - 1 or similar.
64577         * tests/test-ceilf2.c (correct_result_p): Likewise.
64578         * tests/test-truncf2.c (correct_result_p): Likewise.
64579         * tests/test-trunc2.c (correct_result_p): Likewise.
64580         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64581
64582 2007-10-20  Bruno Haible  <bruno@clisp.org>
64583
64584         * modules/ceil: New file.
64585         * m4/ceil.m4: New file.
64586         * doc/functions/ceil.texi: Mention the 'ceil' module.
64587
64588 2007-10-20  Bruno Haible  <bruno@clisp.org>
64589
64590         * modules/floor: New file.
64591         * m4/floor.m4: New file.
64592         * doc/functions/floor.texi: Mention the 'floor' module.
64593
64594 2007-10-20  Bruno Haible  <bruno@clisp.org>
64595
64596         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64597         of %a.
64598         * modules/floorf-tests (Depends-on): Likewise.
64599         * modules/truncf-tests (Depends-on): Likewise.
64600         * modules/trunc-tests (Depends-on): Likewise.
64601         Reported by Ben Pfaff.
64602
64603 2007-10-19  Jim Meyering  <meyering@redhat.com>
64604
64605         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64606         Don't bother testing specific errno values.  Just test ferror.
64607
64608         New module: xprintf
64609         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64610
64611 2007-10-19  Bruno Haible  <bruno@clisp.org>
64612
64613         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64614         syntax.
64615         * modules/javaexec (Makefile.am): Likewise.
64616         * modules/relocatable-prog (Makefile.am): Likewise.
64617         Suggested by Jim Meyering.
64618
64619 2007-10-18  Bruno Haible  <bruno@clisp.org>
64620
64621         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64622         Reported by Jim Meyering.
64623
64624 2007-10-18  Eric Blake  <ebb9@byu.net>
64625
64626         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64627
64628 2007-10-18  Bruno Haible  <bruno@clisp.org>
64629
64630         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64631         the format string into writable memory. Needed in Fortify conditions.
64632
64633 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64634             Bruno Haible  <bruno@clisp.org>
64635
64636         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64637         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64638         * modules/trim (Depends-on): Add mbchar.
64639         (configure.ac): Add gl_FUNC_MBRTOWC.
64640         (Makefile.am): Augment lib_SOURCES.
64641
64642 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64643
64644         Modify glob.c to use fstatat and dirfd, to simplify it.
64645         Suggested by Eric Blake.
64646         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64647         Don't include <stdbool.h>; not used.
64648         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64649         (link_exists_p): Simplify implementation, since we can now assume
64650         dirfd and fstatat.
64651         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64652
64653 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64654
64655         * gnulib-tool (func_get_dependencies): Fix sed script to
64656         match only tests.
64657
64658 2007-10-17  Bruno Haible  <bruno@clisp.org>
64659
64660         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64661         allow locale names without encoding suffix.
64662         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64663         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64664
64665 2007-10-16  Bruno Haible  <bruno@clisp.org>
64666
64667         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64668         * lib/getgroups.c (getgroups): Likewise.
64669         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64670
64671 2007-10-16  Bruno Haible  <bruno@clisp.org>
64672
64673         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64674         * modules/malloc-posix (License): Likewise.
64675         * modules/realloc-posix (License): Likewise.
64676         * modules/calloc-posix (License): Likewise.
64677         * modules/intprops (License): Change from GPL to LGPL, with
64678         Paul Eggert's approval.
64679
64680 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64681
64682         Merge glibc changes into lib/glob.c.
64683
64684         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64685         2007-10-15 04:59:03 UTC.  Here are the changes:
64686
64687         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64688
64689         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64690
64691         * lib/glob.c: Add some branch prediction throughout.
64692
64693         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64694
64695         [BZ #5103]
64696         * lib/glob.c (glob): Recognize patterns starting \/.
64697
64698         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64699
64700         [BZ #3996]
64701         * lib/glob.c (attribute_hidden): Define if not defined.
64702         (glob): Unescape dirname, filename or username when needed and not
64703         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64704         is NULL.  Handle unescaped [ in pattern without closing ].
64705         Don't pass GLOB_CHECK down to recursive glob for directories.
64706         (__glob_pattern_type): New function.
64707         (__glob_pattern_p): Implement using __glob_pattern_type.
64708         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64709         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64710         Remove unreachable code.
64711
64712         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64713
64714         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64715         explain why there are no leaks.
64716
64717         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64718
64719         [BZ #3253]
64720         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64721         time, rather allocate increasingly bigger arrays of pointers, if
64722         possible with alloca, if too large with malloc.
64723
64724 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64725
64726         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64727         Problem reported by H.Merijn Brand in
64728         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64729         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64730         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64731
64732 2007-10-15  Bruno Haible  <bruno@clisp.org>
64733
64734         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64735         with explicit rpl_ prefix.
64736         * lib/fopen.c (fopen): Likewise.
64737         * lib/freopen.c (freopen): Likewise.
64738         * lib/iconv.c (iconv): Likewise.
64739         * lib/iconv_close.c (iconv_close): Likewise.
64740
64741 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64742
64743         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64744
64745 2007-10-15  Bruno Haible  <bruno@clisp.org>
64746
64747         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64748         <stddef.h> instead of <stdlib.h> since we only need NULL.
64749         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64750
64751 2007-10-15  Bruno Haible  <bruno@clisp.org>
64752
64753         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64754         Replace paragraph talking about LIBOBJS.
64755         Reported by Colin Watson <cjwatson@debian.org>.
64756
64757 2007-10-15  Bruno Haible  <bruno@clisp.org>
64758
64759         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64760         <stdlib.h> before using NULL.
64761
64762 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64763
64764         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64765         Reported by Albert Chin <china@thewrittenword.com>.
64766
64767 2007-10-14  Bruno Haible  <bruno@clisp.org>
64768
64769         * modules/iconv_open-utf-tests: New file.
64770         * tests/test-iconv-utf.c: New file.
64771
64772         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
64773         * modules/iconv_open-utf: New file.
64774         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
64775         (iconv, iconv_close): New declarations.
64776         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
64777         be defined.
64778         (iconv_open): Add special handling of conversion between UTF-8 and
64779         UTF-{16,32}{BE,LE}.
64780         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
64781         * lib/iconv_close.c: New file.
64782         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
64783         gl_FUNC_ICONV_OPEN.
64784         (gl_FUNC_ICONV_OPEN): Use it.
64785         (gl_FUNC_ICONV_OPEN_UTF): New macro.
64786         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
64787         and REPLACE_ICONV_UTF.
64788         * modules/iconv_open (Depends-on): Add c-strcase.
64789         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
64790         ICONV_CONST.
64791         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
64792
64793 2007-10-13  Albert Chin  <china@thewrittenword.com>
64794             Bruno Haible  <bruno@clisp.org>
64795
64796         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
64797         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
64798
64799 2007-10-13  Bruno Haible  <bruno@clisp.org>
64800
64801         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
64802         defined, use the ISO C99 inline semantics.
64803         * lib/argp.h (ARGP_EI): Likewise.
64804
64805 2007-10-13  Bruno Haible  <bruno@clisp.org>
64806
64807         Handle 'inline' change in gcc 4.3.0.
64808         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
64809         argp_fmtstream_write, argp_fmtstream_set_lmargin,
64810         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
64811         argp_fmtstream_point): Disable 'extern' declaration if the function
64812         definition is going to be provided inline.
64813         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
64814         semantics, not the ISO C99 inline semantics.
64815         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
64816         'extern' declaration if the function definition is going to be provided
64817         inline.
64818         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
64819         the GNU C inline semantics, not the ISO C99 inline semantics. With
64820         GCC 4.2, avoid a warning.
64821
64822 2007-10-13  Bruno Haible  <bruno@clisp.org>
64823
64824         * lib/freading.h (freading): Enable the use of __freading for
64825         glibc >= 2.7.
64826         * lib/freading.c (freading): Likewise.
64827
64828 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64829
64830         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
64831         "warning: C99 inline functions are not supported; using GNU89".
64832
64833 2007-10-12  Bruno Haible  <bruno@clisp.org>
64834
64835         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
64836         of 2.
64837         * tests/test-ceilf2.c: New file.
64838         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
64839
64840         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
64841         * modules/ceilf-tests: Update.
64842
64843 2007-10-12  Bruno Haible  <bruno@clisp.org>
64844
64845         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
64846         of 2.
64847         * tests/test-floorf2.c: New file.
64848         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
64849
64850         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
64851         * modules/floorf-tests: Update.
64852
64853 2007-10-12  Bruno Haible  <bruno@clisp.org>
64854
64855         * tests/test-trunc2.c: New file.
64856         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
64857
64858         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
64859         * modules/trunc-tests: Update.
64860
64861 2007-10-12  Bruno Haible  <bruno@clisp.org>
64862
64863         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
64864         of 2.
64865         * tests/test-truncf2.c: New file.
64866         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
64867
64868         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
64869         * modules/truncf-tests: Update.
64870
64871 2007-10-11  Eric Blake  <ebb9@byu.net>
64872
64873         Don't claim strerror is broken on Interix.
64874         * doc/functions/strerror.texi (strerror): Known broken systems are
64875         now Solaris 8, and not Interix.
64876         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
64877         Interix on cross-compile.
64878         Reported by Martin Koeppe in
64879         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
64880
64881 2007-10-11  Bruno Haible  <bruno@clisp.org>
64882
64883         * modules/i-ring-tests: New file.
64884         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
64885         instead of assert.
64886
64887 2007-10-11  Bruno Haible  <bruno@clisp.org>
64888
64889         * modules/filenamecat-tests: New file.
64890         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
64891         * lib/filenamecat.c: Remove test code.
64892
64893 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64894
64895         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
64896
64897         * lib/strerror.c: Include <string.h> always, to test interface,
64898         and to remove the need for the dummy.
64899         Include intprops.h to compute width instead of doing it ourselves
64900         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
64901         (strerror): Define it to return NULL if there's no system strerror.
64902         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
64903         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
64904         ancient pre-strerror Unix systems well any more.  Saying "unknown
64905         system error" is enough.
64906         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
64907         simpler strerror.c implementation.
64908         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
64909         Simplify the tests to reflect the simpler strerror implementation.
64910         * modules/strerror (Depends-on): Add intprops.
64911
64912 2007-10-09  Eric Blake  <ebb9@byu.net>
64913
64914         Silence test-fpending.
64915         * modules/fpending-tests (Files): Add wrapper script.
64916         * tests/test-fpending.sh: New file.
64917
64918 2007-10-09  Bruno Haible  <bruno@clisp.org>
64919
64920         * MODULES.html.sh (func_module): Don't create a hyperlink for
64921         function names like 'printf_frexp'.
64922         (Misc): Add crc, memxor.
64923         (Characteristics of floating types): New section.
64924         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
64925         isnanf-nolibm, signbit, trunc, truncf, truncl.
64926         (Enhancements for ISO C 99 functions): New subsection Input/output.
64927         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
64928         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
64929         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
64930         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64931         (Enhancements for POSIX:2001 functions): Add chdir-long.
64932         (File system functions): Add areadlink, chdir-safer, read-file.
64933         Remove cycle-check.
64934         (File system as inode set): New section.
64935         (Date and time): Add gethrxtime.
64936         (Multithreading): Add openmp.
64937         (Internationalization functions): Add localename.
64938         (Unicode string functions): Add unistr/u*-mbsnlen.
64939         (Support for maintaining and releasing projects): Add git-version-gen.
64940         (Lone files): Remove directories.
64941
64942 2007-10-08  Ben Pfaff  <blp@gnu.org>
64943
64944         * lib/xmalloca.h: Fix typo in comment.
64945
64946 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64947
64948         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
64949         when avoiding problems with integer overflow.  Use a portable test
64950         instead.
64951
64952 2007-10-08  Simon Josefsson  <simon@josefsson.org>
64953
64954         * modules/dummy (License): Change to LGPLv2+.
64955         * modules/float (License): Likewise
64956         * modules/realloc (License): Likewise
64957         * modules/stdlib (License): Likewise
64958
64959 2007-10-07  Bruno Haible  <bruno@clisp.org>
64960
64961         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
64962         * floor.c (TWO_MANT_DIG): Likewise.
64963         * ceil.c (TWO_MANT_DIG): Likewise.
64964         Reported by Ben Pfaff.
64965
64966 2007-10-07  Bruno Haible  <bruno@clisp.org>
64967
64968         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
64969         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
64970         * lib/frexp.c (FUNC): Likewise.
64971         * lib/printf-frexp.h (printf_frexp): Likewise.
64972         * lib/printf-frexpl.h (printf_frexpl): Likewise.
64973         * lib/printf-frexp.c (FUNC): Likewise.
64974         Suggested by Jim Meyering.
64975
64976 2007-10-07  Jim Meyering  <meyering@redhat.com>
64977
64978         Make xnanosleep's integer overflow test more robust.
64979         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
64980         so that gcc-4.3.0 doesn't optimize away this test for overflow.
64981
64982 2007-10-07  Bruno Haible  <bruno@clisp.org>
64983
64984         * NEWS: Mention the license change.
64985
64986         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
64987         abbreviations in the modules files.
64988
64989         Change copyright notice from GPLv2+ to GPLv3+.
64990         * README: Change copyright notice.
64991         * MODULES.html.sh: Likewise.
64992         * build-aux/bootstrap.conf: Likewise.
64993         * build-aux/config.libpath: Likewise.
64994         * build-aux/csharpcomp.sh.in: Likewise.
64995         * build-aux/csharpexec.sh.in: Likewise.
64996         * build-aux/install-reloc: Likewise.
64997         * build-aux/javacomp.sh.in: Likewise.
64998         * build-aux/javaexec.sh.in: Likewise.
64999         * build-aux/ldd.sh.in: Likewise.
65000         * build-aux/reloc-ldflags: Likewise.
65001         * build-aux/relocatable.sh.in: Likewise.
65002         * build-aux/x-to-1.in: Likewise.
65003         * check-module: Likewise.
65004         * config/srclistvars.sh: Likewise.
65005         * gnulib-tool: Likewise.
65006         * lib/acl-internal.h: Likewise.
65007         * lib/acl.c: Likewise.
65008         * lib/acl.h: Likewise.
65009         * lib/acl_entries.c: Likewise.
65010         * lib/areadlink-with-size.c: Likewise.
65011         * lib/areadlink.c: Likewise.
65012         * lib/areadlink.h: Likewise.
65013         * lib/argmatch.c: Likewise.
65014         * lib/argmatch.h: Likewise.
65015         * lib/argp-ba.c: Likewise.
65016         * lib/argp-eexst.c: Likewise.
65017         * lib/argp-fmtstream.c: Likewise.
65018         * lib/argp-fmtstream.h: Likewise.
65019         * lib/argp-fs-xinl.c: Likewise.
65020         * lib/argp-help.c: Likewise.
65021         * lib/argp-namefrob.h: Likewise.
65022         * lib/argp-parse.c: Likewise.
65023         * lib/argp-pin.c: Likewise.
65024         * lib/argp-pv.c: Likewise.
65025         * lib/argp-pvh.c: Likewise.
65026         * lib/argp-xinl.c: Likewise.
65027         * lib/argp.h: Likewise.
65028         * lib/at-func.c: Likewise.
65029         * lib/atanl.c: Likewise.
65030         * lib/backupfile.c: Likewise.
65031         * lib/backupfile.h: Likewise.
65032         * lib/basename.c: Likewise.
65033         * lib/binary-io.h: Likewise.
65034         * lib/byteswap.in.h: Likewise.
65035         * lib/c-stack.c: Likewise.
65036         * lib/c-stack.h: Likewise.
65037         * lib/c-strcasestr.c: Likewise.
65038         * lib/c-strcasestr.h: Likewise.
65039         * lib/c-strstr.c: Likewise.
65040         * lib/c-strstr.h: Likewise.
65041         * lib/c-strtod.c: Likewise.
65042         * lib/calloc.c: Likewise.
65043         * lib/canon-host.c: Likewise.
65044         * lib/canon-host.h: Likewise.
65045         * lib/canonicalize-lgpl.c: Likewise.
65046         * lib/canonicalize.c: Likewise.
65047         * lib/canonicalize.h: Likewise.
65048         * lib/ceil.c: Likewise.
65049         * lib/ceilf.c: Likewise.
65050         * lib/ceill.c: Likewise.
65051         * lib/chdir-long.c: Likewise.
65052         * lib/chdir-long.h: Likewise.
65053         * lib/chdir-safer.c: Likewise.
65054         * lib/chdir-safer.h: Likewise.
65055         * lib/chown.c: Likewise.
65056         * lib/classpath.c: Likewise.
65057         * lib/classpath.h: Likewise.
65058         * lib/clean-temp.c: Likewise.
65059         * lib/clean-temp.h: Likewise.
65060         * lib/cloexec.c: Likewise.
65061         * lib/close-stream.c: Likewise.
65062         * lib/closein.c: Likewise.
65063         * lib/closein.h: Likewise.
65064         * lib/closeout.c: Likewise.
65065         * lib/closeout.h: Likewise.
65066         * lib/concat-filename.c: Likewise.
65067         * lib/copy-file.c: Likewise.
65068         * lib/copy-file.h: Likewise.
65069         * lib/count-one-bits.h: Likewise.
65070         * lib/crc.c: Likewise.
65071         * lib/crc.h: Likewise.
65072         * lib/creat-safer.c: Likewise.
65073         * lib/csharpcomp.c: Likewise.
65074         * lib/csharpcomp.h: Likewise.
65075         * lib/csharpexec.c: Likewise.
65076         * lib/csharpexec.h: Likewise.
65077         * lib/cycle-check.c: Likewise.
65078         * lib/cycle-check.h: Likewise.
65079         * lib/diacrit.c: Likewise.
65080         * lib/diacrit.h: Likewise.
65081         * lib/diffseq.h: Likewise.
65082         * lib/dirchownmod.c: Likewise.
65083         * lib/dirent.in.h: Likewise.
65084         * lib/dirfd.c: Likewise.
65085         * lib/dirfd.h: Likewise.
65086         * lib/dirname.c: Likewise.
65087         * lib/dirname.h: Likewise.
65088         * lib/dummy.c: Likewise.
65089         * lib/dup-safer.c: Likewise.
65090         * lib/dup2.c: Likewise.
65091         * lib/eealloc.h: Likewise.
65092         * lib/error.c: Likewise.
65093         * lib/error.h: Likewise.
65094         * lib/euidaccess.c: Likewise.
65095         * lib/exclude.c: Likewise.
65096         * lib/exclude.h: Likewise.
65097         * lib/execute.c: Likewise.
65098         * lib/execute.h: Likewise.
65099         * lib/exitfail.c: Likewise.
65100         * lib/exitfail.h: Likewise.
65101         * lib/expl.c: Likewise.
65102         * lib/fatal-signal.c: Likewise.
65103         * lib/fatal-signal.h: Likewise.
65104         * lib/fbufmode.c: Likewise.
65105         * lib/fbufmode.h: Likewise.
65106         * lib/fchdir.c: Likewise.
65107         * lib/fchmodat.c: Likewise.
65108         * lib/fchownat.c: Likewise.
65109         * lib/fcntl--.h: Likewise.
65110         * lib/fcntl-safer.h: Likewise.
65111         * lib/fcntl.in.h: Likewise.
65112         * lib/fd-safer.c: Likewise.
65113         * lib/fflush.c: Likewise.
65114         * lib/file-has-acl.c: Likewise.
65115         * lib/file-set.c: Likewise.
65116         * lib/file-type.c: Likewise.
65117         * lib/file-type.h: Likewise.
65118         * lib/fileblocks.c: Likewise.
65119         * lib/filemode.c: Likewise.
65120         * lib/filemode.h: Likewise.
65121         * lib/filename.h: Likewise.
65122         * lib/filenamecat.c: Likewise.
65123         * lib/filenamecat.h: Likewise.
65124         * lib/findprog.c: Likewise.
65125         * lib/findprog.h: Likewise.
65126         * lib/float.in.h: Likewise.
65127         * lib/floor.c: Likewise.
65128         * lib/floorf.c: Likewise.
65129         * lib/floorl.c: Likewise.
65130         * lib/fopen-safer.c: Likewise.
65131         * lib/fopen.c: Likewise.
65132         * lib/fpending.c: Likewise.
65133         * lib/fpending.h: Likewise.
65134         * lib/fprintf.c: Likewise.
65135         * lib/fprintftime.h: Likewise.
65136         * lib/fpucw.h: Likewise.
65137         * lib/fpurge.c: Likewise.
65138         * lib/fpurge.h: Likewise.
65139         * lib/freadable.c: Likewise.
65140         * lib/freadable.h: Likewise.
65141         * lib/freadahead.c: Likewise.
65142         * lib/freadahead.h: Likewise.
65143         * lib/freading.c: Likewise.
65144         * lib/freading.h: Likewise.
65145         * lib/free.c: Likewise.
65146         * lib/freopen.c: Likewise.
65147         * lib/frexp.c: Likewise.
65148         * lib/frexpl.c: Likewise.
65149         * lib/fseek.c: Likewise.
65150         * lib/fseterr.c: Likewise.
65151         * lib/fseterr.h: Likewise.
65152         * lib/fstatat.c: Likewise.
65153         * lib/fstrcmp.c: Likewise.
65154         * lib/fstrcmp.h: Likewise.
65155         * lib/fsusage.c: Likewise.
65156         * lib/fsusage.h: Likewise.
65157         * lib/ftell.c: Likewise.
65158         * lib/ftello.c: Likewise.
65159         * lib/fts-cycle.c: Likewise.
65160         * lib/fts.c: Likewise.
65161         * lib/fts_.h: Likewise.
65162         * lib/full-read.c: Likewise.
65163         * lib/full-read.h: Likewise.
65164         * lib/full-write.c: Likewise.
65165         * lib/full-write.h: Likewise.
65166         * lib/fwritable.c: Likewise.
65167         * lib/fwritable.h: Likewise.
65168         * lib/fwriteerror.c: Likewise.
65169         * lib/fwriteerror.h: Likewise.
65170         * lib/fwriting.c: Likewise.
65171         * lib/fwriting.h: Likewise.
65172         * lib/gcd.c: Likewise.
65173         * lib/gcd.h: Likewise.
65174         * lib/getcwd.c: Likewise.
65175         * lib/getdate.h: Likewise.
65176         * lib/getdate.y: Likewise.
65177         * lib/getdomainname.c: Likewise.
65178         * lib/getdomainname.h: Likewise.
65179         * lib/getgroups.c: Likewise.
65180         * lib/gethostname.c: Likewise.
65181         * lib/gethrxtime.c: Likewise.
65182         * lib/gethrxtime.h: Likewise.
65183         * lib/getloadavg.c: Likewise.
65184         * lib/getndelim2.c: Likewise.
65185         * lib/getndelim2.h: Likewise.
65186         * lib/getnline.c: Likewise.
65187         * lib/getnline.h: Likewise.
65188         * lib/getopt.c: Likewise.
65189         * lib/getopt.in.h: Likewise.
65190         * lib/getopt1.c: Likewise.
65191         * lib/getopt_int.h: Likewise.
65192         * lib/getpagesize.h: Likewise.
65193         * lib/getsubopt.c: Likewise.
65194         * lib/gettime.c: Likewise.
65195         * lib/getugroups.c: Likewise.
65196         * lib/getugroups.h: Likewise.
65197         * lib/getusershell.c: Likewise.
65198         * lib/gl_anyavltree_list1.h: Likewise.
65199         * lib/gl_anyavltree_list2.h: Likewise.
65200         * lib/gl_anyhash_list1.h: Likewise.
65201         * lib/gl_anyhash_list2.h: Likewise.
65202         * lib/gl_anylinked_list1.h: Likewise.
65203         * lib/gl_anylinked_list2.h: Likewise.
65204         * lib/gl_anyrbtree_list1.h: Likewise.
65205         * lib/gl_anyrbtree_list2.h: Likewise.
65206         * lib/gl_anytree_list1.h: Likewise.
65207         * lib/gl_anytree_list2.h: Likewise.
65208         * lib/gl_anytree_oset.h: Likewise.
65209         * lib/gl_anytreehash_list1.h: Likewise.
65210         * lib/gl_anytreehash_list2.h: Likewise.
65211         * lib/gl_array_list.c: Likewise.
65212         * lib/gl_array_list.h: Likewise.
65213         * lib/gl_array_oset.c: Likewise.
65214         * lib/gl_array_oset.h: Likewise.
65215         * lib/gl_avltree_list.c: Likewise.
65216         * lib/gl_avltree_list.h: Likewise.
65217         * lib/gl_avltree_oset.c: Likewise.
65218         * lib/gl_avltree_oset.h: Likewise.
65219         * lib/gl_avltreehash_list.c: Likewise.
65220         * lib/gl_avltreehash_list.h: Likewise.
65221         * lib/gl_carray_list.c: Likewise.
65222         * lib/gl_carray_list.h: Likewise.
65223         * lib/gl_linked_list.c: Likewise.
65224         * lib/gl_linked_list.h: Likewise.
65225         * lib/gl_linkedhash_list.c: Likewise.
65226         * lib/gl_linkedhash_list.h: Likewise.
65227         * lib/gl_list.c: Likewise.
65228         * lib/gl_list.h: Likewise.
65229         * lib/gl_oset.c: Likewise.
65230         * lib/gl_oset.h: Likewise.
65231         * lib/gl_rbtree_list.c: Likewise.
65232         * lib/gl_rbtree_list.h: Likewise.
65233         * lib/gl_rbtree_oset.c: Likewise.
65234         * lib/gl_rbtree_oset.h: Likewise.
65235         * lib/gl_rbtreehash_list.c: Likewise.
65236         * lib/gl_rbtreehash_list.h: Likewise.
65237         * lib/gl_sublist.c: Likewise.
65238         * lib/gl_sublist.h: Likewise.
65239         * lib/group-member.c: Likewise.
65240         * lib/group-member.h: Likewise.
65241         * lib/hard-locale.c: Likewise.
65242         * lib/hard-locale.h: Likewise.
65243         * lib/hash-pjw.c: Likewise.
65244         * lib/hash-pjw.h: Likewise.
65245         * lib/hash-triple.c: Likewise.
65246         * lib/hash.c: Likewise.
65247         * lib/hash.h: Likewise.
65248         * lib/human.c: Likewise.
65249         * lib/human.h: Likewise.
65250         * lib/i-ring.c: Likewise.
65251         * lib/i-ring.h: Likewise.
65252         * lib/idcache.c: Likewise.
65253         * lib/imaxabs.c: Likewise.
65254         * lib/imaxdiv.c: Likewise.
65255         * lib/inet_pton.c: Likewise.
65256         * lib/inet_pton.h: Likewise.
65257         * lib/intprops.h: Likewise.
65258         * lib/inttostr.c: Likewise.
65259         * lib/inttostr.h: Likewise.
65260         * lib/inttypes.in.h: Likewise.
65261         * lib/isapipe.c: Likewise.
65262         * lib/isdir.c: Likewise.
65263         * lib/isnan.c: Likewise.
65264         * lib/isnan.h: Likewise.
65265         * lib/isnanf.c: Likewise.
65266         * lib/isnanf.h: Likewise.
65267         * lib/isnanl-nolibm.h: Likewise.
65268         * lib/isnanl.c: Likewise.
65269         * lib/isnanl.h: Likewise.
65270         * lib/javacomp.c: Likewise.
65271         * lib/javacomp.h: Likewise.
65272         * lib/javaexec.c: Likewise.
65273         * lib/javaexec.h: Likewise.
65274         * lib/javaversion.c: Likewise.
65275         * lib/javaversion.h: Likewise.
65276         * lib/javaversion.java: Likewise.
65277         * lib/lbrkprop.h: Likewise.
65278         * lib/lchmod.h: Likewise.
65279         * lib/lchown.c: Likewise.
65280         * lib/ldexpl.c: Likewise.
65281         * lib/linebreak.c: Likewise.
65282         * lib/linebreak.h: Likewise.
65283         * lib/linebuffer.c: Likewise.
65284         * lib/linebuffer.h: Likewise.
65285         * lib/locale.in.h: Likewise.
65286         * lib/logl.c: Likewise.
65287         * lib/long-options.c: Likewise.
65288         * lib/long-options.h: Likewise.
65289         * lib/lstat.c: Likewise.
65290         * lib/lstat.h: Likewise.
65291         * lib/math.in.h: Likewise.
65292         * lib/mbchar.c: Likewise.
65293         * lib/mbchar.h: Likewise.
65294         * lib/mbfile.h: Likewise.
65295         * lib/mbiter.h: Likewise.
65296         * lib/mbscasecmp.c: Likewise.
65297         * lib/mbscasestr.c: Likewise.
65298         * lib/mbschr.c: Likewise.
65299         * lib/mbscspn.c: Likewise.
65300         * lib/mbslen.c: Likewise.
65301         * lib/mbsncasecmp.c: Likewise.
65302         * lib/mbsnlen.c: Likewise.
65303         * lib/mbspbrk.c: Likewise.
65304         * lib/mbspcasecmp.c: Likewise.
65305         * lib/mbsrchr.c: Likewise.
65306         * lib/mbssep.c: Likewise.
65307         * lib/mbsspn.c: Likewise.
65308         * lib/mbsstr.c: Likewise.
65309         * lib/mbstok_r.c: Likewise.
65310         * lib/mbswidth.c: Likewise.
65311         * lib/mbswidth.h: Likewise.
65312         * lib/mbuiter.h: Likewise.
65313         * lib/memcasecmp.c: Likewise.
65314         * lib/memcasecmp.h: Likewise.
65315         * lib/memchr.c: Likewise.
65316         * lib/memcmp.c: Likewise.
65317         * lib/memcoll.c: Likewise.
65318         * lib/memcoll.h: Likewise.
65319         * lib/memcpy.c: Likewise.
65320         * lib/memrchr.c: Likewise.
65321         * lib/mkancesdirs.c: Likewise.
65322         * lib/mkdir-p.c: Likewise.
65323         * lib/mkdir-p.h: Likewise.
65324         * lib/mkdir.c: Likewise.
65325         * lib/mkdirat.c: Likewise.
65326         * lib/mkdtemp.c: Likewise.
65327         * lib/mkstemp-safer.c: Likewise.
65328         * lib/mkstemp.c: Likewise.
65329         * lib/modechange.c: Likewise.
65330         * lib/modechange.h: Likewise.
65331         * lib/mountlist.c: Likewise.
65332         * lib/mountlist.h: Likewise.
65333         * lib/mpsort.c: Likewise.
65334         * lib/nanosleep.c: Likewise.
65335         * lib/obstack.c: Likewise.
65336         * lib/obstack.h: Likewise.
65337         * lib/open-safer.c: Likewise.
65338         * lib/open.c: Likewise.
65339         * lib/openat-die.c: Likewise.
65340         * lib/openat-priv.h: Likewise.
65341         * lib/openat-proc.c: Likewise.
65342         * lib/openat.c: Likewise.
65343         * lib/openat.h: Likewise.
65344         * lib/pagealign_alloc.c: Likewise.
65345         * lib/pagealign_alloc.h: Likewise.
65346         * lib/physmem.c: Likewise.
65347         * lib/physmem.h: Likewise.
65348         * lib/pipe-safer.c: Likewise.
65349         * lib/pipe.c: Likewise.
65350         * lib/pipe.h: Likewise.
65351         * lib/posixtm.c: Likewise.
65352         * lib/posixtm.h: Likewise.
65353         * lib/posixver.c: Likewise.
65354         * lib/printf-frexp.c: Likewise.
65355         * lib/printf-frexp.h: Likewise.
65356         * lib/printf-frexpl.c: Likewise.
65357         * lib/printf-frexpl.h: Likewise.
65358         * lib/printf.c: Likewise.
65359         * lib/progname.c: Likewise.
65360         * lib/progname.h: Likewise.
65361         * lib/progreloc.c: Likewise.
65362         * lib/putenv.c: Likewise.
65363         * lib/quote.c: Likewise.
65364         * lib/quote.h: Likewise.
65365         * lib/quotearg.c: Likewise.
65366         * lib/quotearg.h: Likewise.
65367         * lib/raise.c: Likewise.
65368         * lib/readline.c: Likewise.
65369         * lib/readline.h: Likewise.
65370         * lib/readlink.c: Likewise.
65371         * lib/readtokens.c: Likewise.
65372         * lib/readtokens.h: Likewise.
65373         * lib/readtokens0.c: Likewise.
65374         * lib/readtokens0.h: Likewise.
65375         * lib/readutmp.c: Likewise.
65376         * lib/readutmp.h: Likewise.
65377         * lib/realloc.c: Likewise.
65378         * lib/relocwrapper.c: Likewise.
65379         * lib/rename-dest-slash.c: Likewise.
65380         * lib/rename.c: Likewise.
65381         * lib/rmdir.c: Likewise.
65382         * lib/rpmatch.c: Likewise.
65383         * lib/safe-read.c: Likewise.
65384         * lib/safe-read.h: Likewise.
65385         * lib/safe-write.c: Likewise.
65386         * lib/safe-write.h: Likewise.
65387         * lib/same-inode.h: Likewise.
65388         * lib/same.c: Likewise.
65389         * lib/same.h: Likewise.
65390         * lib/save-cwd.c: Likewise.
65391         * lib/save-cwd.h: Likewise.
65392         * lib/savedir.c: Likewise.
65393         * lib/savedir.h: Likewise.
65394         * lib/savewd.c: Likewise.
65395         * lib/savewd.h: Likewise.
65396         * lib/search.in.h: Likewise.
65397         * lib/setenv.c: Likewise.
65398         * lib/setenv.h: Likewise.
65399         * lib/settime.c: Likewise.
65400         * lib/sh-quote.c: Likewise.
65401         * lib/sh-quote.h: Likewise.
65402         * lib/sig2str.c: Likewise.
65403         * lib/sig2str.h: Likewise.
65404         * lib/signal.in.h: Likewise.
65405         * lib/signbitd.c: Likewise.
65406         * lib/signbitf.c: Likewise.
65407         * lib/signbitl.c: Likewise.
65408         * lib/sigprocmask.c: Likewise.
65409         * lib/sincosl.c: Likewise.
65410         * lib/sleep.c: Likewise.
65411         * lib/sprintf.c: Likewise.
65412         * lib/sqrtl.c: Likewise.
65413         * lib/stat-time.h: Likewise.
65414         * lib/stdio--.h: Likewise.
65415         * lib/stdio-safer.h: Likewise.
65416         * lib/stdlib--.h: Likewise.
65417         * lib/stdlib-safer.h: Likewise.
65418         * lib/stdlib.in.h: Likewise.
65419         * lib/stpcpy.c: Likewise.
65420         * lib/stpncpy.c: Likewise.
65421         * lib/strchrnul.c: Likewise.
65422         * lib/strcspn.c: Likewise.
65423         * lib/strerror.c: Likewise.
65424         * lib/strftime.c: Likewise.
65425         * lib/strftime.h: Likewise.
65426         * lib/striconveh.c: Likewise.
65427         * lib/striconveh.h: Likewise.
65428         * lib/striconveha.c: Likewise.
65429         * lib/striconveha.h: Likewise.
65430         * lib/stripslash.c: Likewise.
65431         * lib/strnlen1.c: Likewise.
65432         * lib/strnlen1.h: Likewise.
65433         * lib/strtod.c: Likewise.
65434         * lib/strtoimax.c: Likewise.
65435         * lib/strtok_r.c: Likewise.
65436         * lib/strtol.c: Likewise.
65437         * lib/strtoll.c: Likewise.
65438         * lib/strtoul.c: Likewise.
65439         * lib/strtoull.c: Likewise.
65440         * lib/sysexits.in.h: Likewise.
65441         * lib/tempname.c: Likewise.
65442         * lib/tempname.h: Likewise.
65443         * lib/timespec.h: Likewise.
65444         * lib/tls.c: Likewise.
65445         * lib/tls.h: Likewise.
65446         * lib/tmpdir.c: Likewise.
65447         * lib/tmpdir.h: Likewise.
65448         * lib/tmpfile-safer.c: Likewise.
65449         * lib/tmpfile.c: Likewise.
65450         * lib/trigl.c: Likewise.
65451         * lib/trigl.h: Likewise.
65452         * lib/trim.c: Likewise.
65453         * lib/trim.h: Likewise.
65454         * lib/trunc.c: Likewise.
65455         * lib/truncf.c: Likewise.
65456         * lib/truncl.c: Likewise.
65457         * lib/tsearch.c: Likewise.
65458         * lib/unicodeio.c: Likewise.
65459         * lib/unicodeio.h: Likewise.
65460         * lib/unistd--.h: Likewise.
65461         * lib/unistd-safer.h: Likewise.
65462         * lib/unistdio/ulc-fprintf.c: Likewise.
65463         * lib/unistdio/ulc-vfprintf.c: Likewise.
65464         * lib/unlinkdir.c: Likewise.
65465         * lib/unlinkdir.h: Likewise.
65466         * lib/unlocked-io.h: Likewise.
65467         * lib/unsetenv.c: Likewise.
65468         * lib/userspec.c: Likewise.
65469         * lib/utime.c: Likewise.
65470         * lib/utimecmp.c: Likewise.
65471         * lib/utimecmp.h: Likewise.
65472         * lib/utimens.c: Likewise.
65473         * lib/verify.h: Likewise.
65474         * lib/verror.c: Likewise.
65475         * lib/verror.h: Likewise.
65476         * lib/version-etc-fsf.c: Likewise.
65477         * lib/version-etc.c: Likewise.
65478         * lib/version-etc.h: Likewise.
65479         * lib/vfprintf.c: Likewise.
65480         * lib/vprintf.c: Likewise.
65481         * lib/vsprintf.c: Likewise.
65482         * lib/w32spawn.h: Likewise.
65483         * lib/wait-process.c: Likewise.
65484         * lib/wait-process.h: Likewise.
65485         * lib/wcwidth.c: Likewise.
65486         * lib/write-any-file.c: Likewise.
65487         * lib/xalloc-die.c: Likewise.
65488         * lib/xalloc.h: Likewise.
65489         * lib/xasprintf.c: Likewise.
65490         * lib/xgetcwd.c: Likewise.
65491         * lib/xgetcwd.h: Likewise.
65492         * lib/xgetdomainname.c: Likewise.
65493         * lib/xgetdomainname.h: Likewise.
65494         * lib/xgethostname.c: Likewise.
65495         * lib/xmalloc.c: Likewise.
65496         * lib/xmalloca.c: Likewise.
65497         * lib/xmalloca.h: Likewise.
65498         * lib/xmemcoll.c: Likewise.
65499         * lib/xnanosleep.c: Likewise.
65500         * lib/xreadlink.c: Likewise.
65501         * lib/xreadlink.h: Likewise.
65502         * lib/xsetenv.c: Likewise.
65503         * lib/xsetenv.h: Likewise.
65504         * lib/xstriconv.c: Likewise.
65505         * lib/xstriconv.h: Likewise.
65506         * lib/xstrndup.c: Likewise.
65507         * lib/xstrndup.h: Likewise.
65508         * lib/xstrtod.c: Likewise.
65509         * lib/xstrtod.h: Likewise.
65510         * lib/xstrtol-error.c: Likewise.
65511         * lib/xstrtol.c: Likewise.
65512         * lib/xstrtol.h: Likewise.
65513         * lib/xtime.h: Likewise.
65514         * lib/xvasprintf.c: Likewise.
65515         * lib/xvasprintf.h: Likewise.
65516         * lib/yesno.c: Likewise.
65517         * lib/yesno.h: Likewise.
65518         * posix-modules: Likewise.
65519         * tests/test-alloca-opt.c: Likewise.
65520         * tests/test-arcfour.c: Likewise.
65521         * tests/test-arctwo.c: Likewise.
65522         * tests/test-argmatch.c: Likewise.
65523         * tests/test-argp-2.sh: Likewise.
65524         * tests/test-argp.c: Likewise.
65525         * tests/test-arpa_inet.c: Likewise.
65526         * tests/test-array_list.c: Likewise.
65527         * tests/test-array_oset.c: Likewise.
65528         * tests/test-atexit.c: Likewise.
65529         * tests/test-avltree_list.c: Likewise.
65530         * tests/test-avltree_oset.c: Likewise.
65531         * tests/test-avltreehash_list.c: Likewise.
65532         * tests/test-base64.c: Likewise.
65533         * tests/test-binary-io.c: Likewise.
65534         * tests/test-byteswap.c: Likewise.
65535         * tests/test-c-ctype.c: Likewise.
65536         * tests/test-c-strcasecmp.c: Likewise.
65537         * tests/test-c-strcasestr.c: Likewise.
65538         * tests/test-c-strncasecmp.c: Likewise.
65539         * tests/test-c-strstr.c: Likewise.
65540         * tests/test-canonicalize-lgpl.c: Likewise.
65541         * tests/test-canonicalize.c: Likewise.
65542         * tests/test-carray_list.c: Likewise.
65543         * tests/test-ceilf.c: Likewise.
65544         * tests/test-ceill.c: Likewise.
65545         * tests/test-count-one-bits.c: Likewise.
65546         * tests/test-crc.c: Likewise.
65547         * tests/test-dirname.c: Likewise.
65548         * tests/test-fbufmode.c: Likewise.
65549         * tests/test-fcntl.c: Likewise.
65550         * tests/test-fflush.c: Likewise.
65551         * tests/test-floorf.c: Likewise.
65552         * tests/test-floorl.c: Likewise.
65553         * tests/test-fopen.c: Likewise.
65554         * tests/test-fprintf-posix.c: Likewise.
65555         * tests/test-fprintf-posix.h: Likewise.
65556         * tests/test-fpurge.c: Likewise.
65557         * tests/test-freadable.c: Likewise.
65558         * tests/test-freadahead.c: Likewise.
65559         * tests/test-freading.c: Likewise.
65560         * tests/test-freopen.c: Likewise.
65561         * tests/test-frexp.c: Likewise.
65562         * tests/test-frexpl.c: Likewise.
65563         * tests/test-fseek.c: Likewise.
65564         * tests/test-fseeko.c: Likewise.
65565         * tests/test-fseterr.c: Likewise.
65566         * tests/test-fstrcmp.c: Likewise.
65567         * tests/test-ftell.c: Likewise.
65568         * tests/test-ftello.c: Likewise.
65569         * tests/test-fwritable.c: Likewise.
65570         * tests/test-fwriting.c: Likewise.
65571         * tests/test-getaddrinfo.c: Likewise.
65572         * tests/test-getpass.c: Likewise.
65573         * tests/test-gettimeofday.c: Likewise.
65574         * tests/test-hmac-md5.c: Likewise.
65575         * tests/test-hmac-sha1.c: Likewise.
65576         * tests/test-iconv.c: Likewise.
65577         * tests/test-iconvme.c: Likewise.
65578         * tests/test-inttypes.c: Likewise.
65579         * tests/test-isnan.c: Likewise.
65580         * tests/test-isnanf.c: Likewise.
65581         * tests/test-isnanl-nolibm.c: Likewise.
65582         * tests/test-isnanl.c: Likewise.
65583         * tests/test-isnanl.h: Likewise.
65584         * tests/test-ldexpl.c: Likewise.
65585         * tests/test-linked_list.c: Likewise.
65586         * tests/test-linkedhash_list.c: Likewise.
65587         * tests/test-locale.c: Likewise.
65588         * tests/test-localename.c: Likewise.
65589         * tests/test-lock.c: Likewise.
65590         * tests/test-lseek.c: Likewise.
65591         * tests/test-malloca.c: Likewise.
65592         * tests/test-math.c: Likewise.
65593         * tests/test-mbscasecmp.c: Likewise.
65594         * tests/test-mbscasestr1.c: Likewise.
65595         * tests/test-mbscasestr2.c: Likewise.
65596         * tests/test-mbscasestr3.c: Likewise.
65597         * tests/test-mbscasestr4.c: Likewise.
65598         * tests/test-mbschr.c: Likewise.
65599         * tests/test-mbscspn.c: Likewise.
65600         * tests/test-mbsncasecmp.c: Likewise.
65601         * tests/test-mbspbrk.c: Likewise.
65602         * tests/test-mbspcasecmp.c: Likewise.
65603         * tests/test-mbsrchr.c: Likewise.
65604         * tests/test-mbsspn.c: Likewise.
65605         * tests/test-mbsstr1.c: Likewise.
65606         * tests/test-mbsstr2.c: Likewise.
65607         * tests/test-mbsstr3.c: Likewise.
65608         * tests/test-md5.c: Likewise.
65609         * tests/test-memmem.c: Likewise.
65610         * tests/test-netinet_in.c: Likewise.
65611         * tests/test-open.c: Likewise.
65612         * tests/test-printf-frexp.c: Likewise.
65613         * tests/test-printf-frexpl.c: Likewise.
65614         * tests/test-printf-posix.c: Likewise.
65615         * tests/test-printf-posix.h: Likewise.
65616         * tests/test-rbtree_list.c: Likewise.
65617         * tests/test-rbtree_oset.c: Likewise.
65618         * tests/test-rbtreehash_list.c: Likewise.
65619         * tests/test-read-file.c: Likewise.
65620         * tests/test-rijndael.c: Likewise.
65621         * tests/test-search.c: Likewise.
65622         * tests/test-signbit.c: Likewise.
65623         * tests/test-sleep.c: Likewise.
65624         * tests/test-snprintf-posix.c: Likewise.
65625         * tests/test-snprintf-posix.h: Likewise.
65626         * tests/test-snprintf.c: Likewise.
65627         * tests/test-sprintf-posix.c: Likewise.
65628         * tests/test-sprintf-posix.h: Likewise.
65629         * tests/test-stat-time.c: Likewise.
65630         * tests/test-stdbool.c: Likewise.
65631         * tests/test-stdint.c: Likewise.
65632         * tests/test-stdio.c: Likewise.
65633         * tests/test-stdlib.c: Likewise.
65634         * tests/test-stpncpy.c: Likewise.
65635         * tests/test-strcasestr.c: Likewise.
65636         * tests/test-striconv.c: Likewise.
65637         * tests/test-striconveh.c: Likewise.
65638         * tests/test-striconveha.c: Likewise.
65639         * tests/test-string.c: Likewise.
65640         * tests/test-sys_select.c: Likewise.
65641         * tests/test-sys_socket.c: Likewise.
65642         * tests/test-sys_stat.c: Likewise.
65643         * tests/test-sys_time.c: Likewise.
65644         * tests/test-sysexits.c: Likewise.
65645         * tests/test-time.c: Likewise.
65646         * tests/test-tls.c: Likewise.
65647         * tests/test-trunc.c: Likewise.
65648         * tests/test-truncf.c: Likewise.
65649         * tests/test-truncl.c: Likewise.
65650         * tests/test-unistd.c: Likewise.
65651         * tests/test-vasnprintf-posix.c: Likewise.
65652         * tests/test-vasnprintf-posix2.c: Likewise.
65653         * tests/test-vasnprintf.c: Likewise.
65654         * tests/test-vasprintf-posix.c: Likewise.
65655         * tests/test-vasprintf.c: Likewise.
65656         * tests/test-verify.c: Likewise.
65657         * tests/test-vfprintf-posix.c: Likewise.
65658         * tests/test-vprintf-posix.c: Likewise.
65659         * tests/test-vsnprintf-posix.c: Likewise.
65660         * tests/test-vsnprintf.c: Likewise.
65661         * tests/test-vsprintf-posix.c: Likewise.
65662         * tests/test-wchar.c: Likewise.
65663         * tests/test-wctype.c: Likewise.
65664         * tests/test-wcwidth.c: Likewise.
65665         * tests/test-xstrtol.c: Likewise.
65666         * tests/test-xvasprintf.c: Likewise.
65667         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65668         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65669         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65670         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65671         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65672         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65673         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65674         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65675         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65676         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65677         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65678         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65679         * tests/uniname/test-uninames.c: Likewise.
65680         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65681         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65682         * tests/unistdio/test-u16-printf1.h: Likewise.
65683         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65684         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65685         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65686         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65687         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65688         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65689         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65690         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65691         * tests/unistdio/test-u32-printf1.h: Likewise.
65692         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65693         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65694         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65695         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65696         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65697         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65698         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65699         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65700         * tests/unistdio/test-u8-printf1.h: Likewise.
65701         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65702         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65703         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65704         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65705         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65706         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65707         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65708         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65709         * tests/unistdio/test-ulc-printf1.h: Likewise.
65710         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65711         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65712         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65713         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65714         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65715         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65716         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65717         * tests/uniwidth/test-u16-width.c: Likewise.
65718         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65719         * tests/uniwidth/test-u32-width.c: Likewise.
65720         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65721         * tests/uniwidth/test-u8-width.c: Likewise.
65722         * tests/uniwidth/test-uc_width.c: Likewise.
65723         * config/srclist-update: Likewise.
65724         (fixlicense): Update to GPLv3+.
65725
65726         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65727         * tests/test-tsearch.c: Change copyright notice.
65728
65729         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65730         * lib/c-strcaseeq.h: Change copyright notice.
65731         * lib/streq.h: Likewise.
65732         * lib/uniconv.h: Likewise.
65733         * lib/uniconv/u-conv-from-enc.h: Likewise.
65734         * lib/uniconv/u-conv-to-enc.h: Likewise.
65735         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65736         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65737         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65738         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65739         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65740         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65741         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65742         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65743         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65744         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65745         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65746         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65747         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65748         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65749         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65750         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65751         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65752         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65753         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65754         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65755         * lib/uniname.h: Likewise.
65756         * lib/uniname/uniname.c: Likewise.
65757         * lib/unistdio.h: Likewise.
65758         * lib/unistdio/u-asnprintf.h: Likewise.
65759         * lib/unistdio/u-asprintf.h: Likewise.
65760         * lib/unistdio/u-printf-args.c: Likewise.
65761         * lib/unistdio/u-printf-args.h: Likewise.
65762         * lib/unistdio/u-printf-parse.h: Likewise.
65763         * lib/unistdio/u-snprintf.h: Likewise.
65764         * lib/unistdio/u-sprintf.h: Likewise.
65765         * lib/unistdio/u-vasprintf.h: Likewise.
65766         * lib/unistdio/u-vsnprintf.h: Likewise.
65767         * lib/unistdio/u-vsprintf.h: Likewise.
65768         * lib/unistdio/u16-asnprintf.c: Likewise.
65769         * lib/unistdio/u16-asprintf.c: Likewise.
65770         * lib/unistdio/u16-printf-parse.c: Likewise.
65771         * lib/unistdio/u16-snprintf.c: Likewise.
65772         * lib/unistdio/u16-sprintf.c: Likewise.
65773         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
65774         * lib/unistdio/u16-u16-asprintf.c: Likewise.
65775         * lib/unistdio/u16-u16-snprintf.c: Likewise.
65776         * lib/unistdio/u16-u16-sprintf.c: Likewise.
65777         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
65778         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
65779         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
65780         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
65781         * lib/unistdio/u16-vasnprintf.c: Likewise.
65782         * lib/unistdio/u16-vasprintf.c: Likewise.
65783         * lib/unistdio/u16-vsnprintf.c: Likewise.
65784         * lib/unistdio/u16-vsprintf.c: Likewise.
65785         * lib/unistdio/u32-asnprintf.c: Likewise.
65786         * lib/unistdio/u32-asprintf.c: Likewise.
65787         * lib/unistdio/u32-printf-parse.c: Likewise.
65788         * lib/unistdio/u32-snprintf.c: Likewise.
65789         * lib/unistdio/u32-sprintf.c: Likewise.
65790         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
65791         * lib/unistdio/u32-u32-asprintf.c: Likewise.
65792         * lib/unistdio/u32-u32-snprintf.c: Likewise.
65793         * lib/unistdio/u32-u32-sprintf.c: Likewise.
65794         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
65795         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
65796         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
65797         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
65798         * lib/unistdio/u32-vasnprintf.c: Likewise.
65799         * lib/unistdio/u32-vasprintf.c: Likewise.
65800         * lib/unistdio/u32-vsnprintf.c: Likewise.
65801         * lib/unistdio/u32-vsprintf.c: Likewise.
65802         * lib/unistdio/u8-asnprintf.c: Likewise.
65803         * lib/unistdio/u8-asprintf.c: Likewise.
65804         * lib/unistdio/u8-printf-parse.c: Likewise.
65805         * lib/unistdio/u8-snprintf.c: Likewise.
65806         * lib/unistdio/u8-sprintf.c: Likewise.
65807         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
65808         * lib/unistdio/u8-u8-asprintf.c: Likewise.
65809         * lib/unistdio/u8-u8-snprintf.c: Likewise.
65810         * lib/unistdio/u8-u8-sprintf.c: Likewise.
65811         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
65812         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
65813         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
65814         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
65815         * lib/unistdio/u8-vasnprintf.c: Likewise.
65816         * lib/unistdio/u8-vasprintf.c: Likewise.
65817         * lib/unistdio/u8-vsnprintf.c: Likewise.
65818         * lib/unistdio/u8-vsprintf.c: Likewise.
65819         * lib/unistdio/ulc-asnprintf.c: Likewise.
65820         * lib/unistdio/ulc-asprintf.c: Likewise.
65821         * lib/unistdio/ulc-printf-parse.c: Likewise.
65822         * lib/unistdio/ulc-snprintf.c: Likewise.
65823         * lib/unistdio/ulc-sprintf.c: Likewise.
65824         * lib/unistdio/ulc-vasnprintf.c: Likewise.
65825         * lib/unistdio/ulc-vasprintf.c: Likewise.
65826         * lib/unistdio/ulc-vsnprintf.c: Likewise.
65827         * lib/unistdio/ulc-vsprintf.c: Likewise.
65828         * lib/unistr.h: Likewise.
65829         * lib/unistr/u-cpy-alloc.h: Likewise.
65830         * lib/unistr/u-cpy.h: Likewise.
65831         * lib/unistr/u-endswith.h: Likewise.
65832         * lib/unistr/u-move.h: Likewise.
65833         * lib/unistr/u-set.h: Likewise.
65834         * lib/unistr/u-startswith.h: Likewise.
65835         * lib/unistr/u-stpcpy.h: Likewise.
65836         * lib/unistr/u-stpncpy.h: Likewise.
65837         * lib/unistr/u-strcat.h: Likewise.
65838         * lib/unistr/u-strcpy.h: Likewise.
65839         * lib/unistr/u-strcspn.h: Likewise.
65840         * lib/unistr/u-strdup.h: Likewise.
65841         * lib/unistr/u-strlen.h: Likewise.
65842         * lib/unistr/u-strncat.h: Likewise.
65843         * lib/unistr/u-strncpy.h: Likewise.
65844         * lib/unistr/u-strnlen.h: Likewise.
65845         * lib/unistr/u-strpbrk.h: Likewise.
65846         * lib/unistr/u-strspn.h: Likewise.
65847         * lib/unistr/u-strstr.h: Likewise.
65848         * lib/unistr/u-strtok.h: Likewise.
65849         * lib/unistr/u16-check.c: Likewise.
65850         * lib/unistr/u16-chr.c: Likewise.
65851         * lib/unistr/u16-cmp.c: Likewise.
65852         * lib/unistr/u16-cpy-alloc.c: Likewise.
65853         * lib/unistr/u16-cpy.c: Likewise.
65854         * lib/unistr/u16-endswith.c: Likewise.
65855         * lib/unistr/u16-mblen.c: Likewise.
65856         * lib/unistr/u16-mbsnlen.c: Likewise.
65857         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65858         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65859         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65860         * lib/unistr/u16-mbtouc.c: Likewise.
65861         * lib/unistr/u16-mbtoucr.c: Likewise.
65862         * lib/unistr/u16-move.c: Likewise.
65863         * lib/unistr/u16-next.c: Likewise.
65864         * lib/unistr/u16-prev.c: Likewise.
65865         * lib/unistr/u16-set.c: Likewise.
65866         * lib/unistr/u16-startswith.c: Likewise.
65867         * lib/unistr/u16-stpcpy.c: Likewise.
65868         * lib/unistr/u16-stpncpy.c: Likewise.
65869         * lib/unistr/u16-strcat.c: Likewise.
65870         * lib/unistr/u16-strchr.c: Likewise.
65871         * lib/unistr/u16-strcmp.c: Likewise.
65872         * lib/unistr/u16-strcpy.c: Likewise.
65873         * lib/unistr/u16-strcspn.c: Likewise.
65874         * lib/unistr/u16-strdup.c: Likewise.
65875         * lib/unistr/u16-strlen.c: Likewise.
65876         * lib/unistr/u16-strmblen.c: Likewise.
65877         * lib/unistr/u16-strmbtouc.c: Likewise.
65878         * lib/unistr/u16-strncat.c: Likewise.
65879         * lib/unistr/u16-strncmp.c: Likewise.
65880         * lib/unistr/u16-strncpy.c: Likewise.
65881         * lib/unistr/u16-strnlen.c: Likewise.
65882         * lib/unistr/u16-strpbrk.c: Likewise.
65883         * lib/unistr/u16-strrchr.c: Likewise.
65884         * lib/unistr/u16-strspn.c: Likewise.
65885         * lib/unistr/u16-strstr.c: Likewise.
65886         * lib/unistr/u16-strtok.c: Likewise.
65887         * lib/unistr/u16-to-u32.c: Likewise.
65888         * lib/unistr/u16-to-u8.c: Likewise.
65889         * lib/unistr/u16-uctomb-aux.c: Likewise.
65890         * lib/unistr/u16-uctomb.c: Likewise.
65891         * lib/unistr/u32-check.c: Likewise.
65892         * lib/unistr/u32-chr.c: Likewise.
65893         * lib/unistr/u32-cmp.c: Likewise.
65894         * lib/unistr/u32-cpy-alloc.c: Likewise.
65895         * lib/unistr/u32-cpy.c: Likewise.
65896         * lib/unistr/u32-endswith.c: Likewise.
65897         * lib/unistr/u32-mblen.c: Likewise.
65898         * lib/unistr/u32-mbsnlen.c: Likewise.
65899         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65900         * lib/unistr/u32-mbtouc.c: Likewise.
65901         * lib/unistr/u32-mbtoucr.c: Likewise.
65902         * lib/unistr/u32-move.c: Likewise.
65903         * lib/unistr/u32-next.c: Likewise.
65904         * lib/unistr/u32-prev.c: Likewise.
65905         * lib/unistr/u32-set.c: Likewise.
65906         * lib/unistr/u32-startswith.c: Likewise.
65907         * lib/unistr/u32-stpcpy.c: Likewise.
65908         * lib/unistr/u32-stpncpy.c: Likewise.
65909         * lib/unistr/u32-strcat.c: Likewise.
65910         * lib/unistr/u32-strchr.c: Likewise.
65911         * lib/unistr/u32-strcmp.c: Likewise.
65912         * lib/unistr/u32-strcpy.c: Likewise.
65913         * lib/unistr/u32-strcspn.c: Likewise.
65914         * lib/unistr/u32-strdup.c: Likewise.
65915         * lib/unistr/u32-strlen.c: Likewise.
65916         * lib/unistr/u32-strmblen.c: Likewise.
65917         * lib/unistr/u32-strmbtouc.c: Likewise.
65918         * lib/unistr/u32-strncat.c: Likewise.
65919         * lib/unistr/u32-strncmp.c: Likewise.
65920         * lib/unistr/u32-strncpy.c: Likewise.
65921         * lib/unistr/u32-strnlen.c: Likewise.
65922         * lib/unistr/u32-strpbrk.c: Likewise.
65923         * lib/unistr/u32-strrchr.c: Likewise.
65924         * lib/unistr/u32-strspn.c: Likewise.
65925         * lib/unistr/u32-strstr.c: Likewise.
65926         * lib/unistr/u32-strtok.c: Likewise.
65927         * lib/unistr/u32-to-u16.c: Likewise.
65928         * lib/unistr/u32-to-u8.c: Likewise.
65929         * lib/unistr/u32-uctomb.c: Likewise.
65930         * lib/unistr/u8-check.c: Likewise.
65931         * lib/unistr/u8-chr.c: Likewise.
65932         * lib/unistr/u8-cmp.c: Likewise.
65933         * lib/unistr/u8-cpy-alloc.c: Likewise.
65934         * lib/unistr/u8-cpy.c: Likewise.
65935         * lib/unistr/u8-endswith.c: Likewise.
65936         * lib/unistr/u8-mblen.c: Likewise.
65937         * lib/unistr/u8-mbsnlen.c: Likewise.
65938         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65939         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65940         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65941         * lib/unistr/u8-mbtouc.c: Likewise.
65942         * lib/unistr/u8-mbtoucr.c: Likewise.
65943         * lib/unistr/u8-move.c: Likewise.
65944         * lib/unistr/u8-next.c: Likewise.
65945         * lib/unistr/u8-prev.c: Likewise.
65946         * lib/unistr/u8-set.c: Likewise.
65947         * lib/unistr/u8-startswith.c: Likewise.
65948         * lib/unistr/u8-stpcpy.c: Likewise.
65949         * lib/unistr/u8-stpncpy.c: Likewise.
65950         * lib/unistr/u8-strcat.c: Likewise.
65951         * lib/unistr/u8-strchr.c: Likewise.
65952         * lib/unistr/u8-strcmp.c: Likewise.
65953         * lib/unistr/u8-strcpy.c: Likewise.
65954         * lib/unistr/u8-strcspn.c: Likewise.
65955         * lib/unistr/u8-strdup.c: Likewise.
65956         * lib/unistr/u8-strlen.c: Likewise.
65957         * lib/unistr/u8-strmblen.c: Likewise.
65958         * lib/unistr/u8-strmbtouc.c: Likewise.
65959         * lib/unistr/u8-strncat.c: Likewise.
65960         * lib/unistr/u8-strncmp.c: Likewise.
65961         * lib/unistr/u8-strncpy.c: Likewise.
65962         * lib/unistr/u8-strnlen.c: Likewise.
65963         * lib/unistr/u8-strpbrk.c: Likewise.
65964         * lib/unistr/u8-strrchr.c: Likewise.
65965         * lib/unistr/u8-strspn.c: Likewise.
65966         * lib/unistr/u8-strstr.c: Likewise.
65967         * lib/unistr/u8-strtok.c: Likewise.
65968         * lib/unistr/u8-to-u16.c: Likewise.
65969         * lib/unistr/u8-to-u32.c: Likewise.
65970         * lib/unistr/u8-uctomb-aux.c: Likewise.
65971         * lib/unistr/u8-uctomb.c: Likewise.
65972         * lib/unitypes.h: Likewise.
65973         * lib/uniwidth.h: Likewise.
65974         * lib/uniwidth/cjk.h: Likewise.
65975         * lib/uniwidth/u16-strwidth.c: Likewise.
65976         * lib/uniwidth/u16-width.c: Likewise.
65977         * lib/uniwidth/u32-strwidth.c: Likewise.
65978         * lib/uniwidth/u32-width.c: Likewise.
65979         * lib/uniwidth/u8-strwidth.c: Likewise.
65980         * lib/uniwidth/u8-width.c: Likewise.
65981         * lib/uniwidth/width.c: Likewise.
65982
65983 2007-10-07  Bruno Haible  <bruno@clisp.org>
65984
65985         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
65986         The file is still under LGPL (see modules/inttypes).
65987
65988 2007-10-06  Bruno Haible  <bruno@clisp.org>
65989
65990         * modules/trunc (Dependencies): Add 'extensions'.
65991         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
65992         Reported by Ben Pfaff <blp@gnu.org>.
65993
65994 2007-10-06  Bruno Haible  <bruno@clisp.org>
65995
65996         * modules/freopen-tests: New file.
65997         * tests/test-freopen.c: New file.
65998
65999         * modules/fopen-tests: New file.
66000         * tests/test-fopen.c: New file.
66001
66002         * modules/fopen: New file.
66003         * lib/fopen.c: New file.
66004         * m4/fopen.m4: New file.
66005         * modules/freopen: New file.
66006         * lib/freopen.c: New file.
66007         * m4/freopen.m4: New file.
66008         * lib/stdio.in.h (fopen, freopen): New declarations.
66009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66010         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66011         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66012         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66013         * doc/functions/fopen.texi: Mention the 'fopen' module.
66014         * doc/functions/freopen.texi: Mention the 'freopen' module.
66015
66016 2007-10-06  Bruno Haible  <bruno@clisp.org>
66017
66018         * modules/open-tests: New file.
66019         * tests/test-open.c: New file.
66020
66021         * modules/open: New file.
66022         * lib/open.c: New file.
66023         * m4/open.m4: New file.
66024         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66025         lib/open.c does.
66026         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66027         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66028         macros.
66029         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66030         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66031         REPLACE_OPEN.
66032         * doc/functions/open.texi: Mention the 'open' module.
66033
66034 2007-10-04  Bruno Haible  <bruno@clisp.org>
66035
66036         * modules/ceill-tests: New file.
66037         * tests/test-ceill.c: New file.
66038
66039         * modules/ceill: New file.
66040         * lib/ceill.c: Replace entire file.
66041         * m4/ceill.m4: New file.
66042         * lib/math.in.h (ceill): Replace declaration.
66043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66044         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66045         * doc/functions/ceill.texi: Mention the 'ceill' module.
66046         * modules/mathl (Files): Remove lib/ceill.c.
66047         (Depends-on): Add ceill.
66048
66049 2007-10-04  Bruno Haible  <bruno@clisp.org>
66050
66051         * modules/ceilf-tests: New file.
66052         * tests/test-ceilf.c: New file.
66053
66054         * modules/ceilf: New file.
66055         * lib/ceil.c: New file.
66056         * lib/ceilf.c: New file.
66057         * m4/ceilf.m4: New file.
66058         * lib/math.in.h (ceilf): New declaration.
66059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66060         HAVE_DECL_CEILF.
66061         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66062         HAVE_DECL_CEILF.
66063         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66064
66065 2007-10-04  Bruno Haible  <bruno@clisp.org>
66066
66067         * modules/floorl-tests: New file.
66068         * tests/test-floorl.c: New file.
66069
66070         * modules/floorl: New file.
66071         * lib/floorl.c: Replace entire file.
66072         * m4/floorl.m4: New file.
66073         * lib/math.in.h (floorl): Replace declaration.
66074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66075         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66076         * doc/functions/floorl.texi: Mention the 'floorl' module.
66077         * modules/mathl (Files): Remove lib/floorl.c.
66078         (Depends-on): Add floorl.
66079
66080 2007-10-04  Bruno Haible  <bruno@clisp.org>
66081
66082         * modules/floorf-tests: New file.
66083         * tests/test-floorf.c: New file.
66084
66085         * modules/floorf: New file.
66086         * lib/floor.c: New file.
66087         * lib/floorf.c: New file.
66088         * m4/floorf.m4: New file.
66089         * lib/math.in.h (floorf): New declaration.
66090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66091         HAVE_DECL_FLOORF.
66092         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66093         HAVE_DECL_FLOORF.
66094         * doc/functions/floorf.texi: Mention the 'floorf' module.
66095
66096 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66097             Bruno Haible  <bruno@clisp.org>
66098
66099         Advertise for the Git server instead of the CVS server.
66100         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66101         repository instead of the CVS one.
66102         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66103         about all VCS systems generically.
66104         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66105
66106 2007-10-04  Bruno Haible  <bruno@clisp.org>
66107
66108         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66109         means.
66110         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66111
66112 2007-10-04  Bruno Haible  <bruno@clisp.org>
66113
66114         * modules/truncl-tests: New file.
66115         * tests/test-truncl.c: New file.
66116
66117         * modules/truncl: New file.
66118         * lib/truncl.c: New file.
66119         * m4/truncl.m4: New file.
66120         * lib/math.in.h (truncl): New declaration.
66121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66122         HAVE_DECL_TRUNCL.
66123         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66124         HAVE_DECL_TRUNCL.
66125         * doc/functions/truncl.texi: Mention the 'truncl' module.
66126
66127 2007-10-04  Bruno Haible  <bruno@clisp.org>
66128
66129         * modules/truncf-tests: New file.
66130         * tests/test-truncf.c: New file.
66131
66132         * modules/truncf: New file.
66133         * lib/trunc.c: Make paramerizable through USE_* macros.
66134         * lib/truncf.c: New file.
66135         * m4/truncf.m4: New file.
66136         * lib/math.in.h (truncf): New declaration.
66137         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66138         HAVE_DECL_TRUNCF.
66139         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66140         HAVE_DECL_TRUNCF.
66141         * doc/functions/truncf.texi: Mention the 'truncf' module.
66142
66143 2007-10-03  Bruno Haible  <bruno@clisp.org>
66144
66145         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66146         augmentation also for tests modules.
66147         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66148         * modules/atexit-tests (Makefile.am): Likewise.
66149         * modules/binary-io-tests (Makefile.am): Likewise.
66150         * modules/c-strcase-tests (Makefile.am): Likewise.
66151         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66152         * modules/canonicalize-tests (Makefile.am): Likewise.
66153         * modules/closein-tests (Makefile.am): Likewise.
66154         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66155         * modules/freadahead-tests (Makefile.am): Likewise.
66156         * modules/fseek-tests (Makefile.am): Likewise.
66157         * modules/fseeko-tests (Makefile.am): Likewise.
66158         * modules/ftell-tests (Makefile.am): Likewise.
66159         * modules/ftello-tests (Makefile.am): Likewise.
66160         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66161         * modules/isnanl-tests (Makefile.am): Likewise.
66162         * modules/lseek-tests (Makefile.am): Likewise.
66163         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66164         * modules/mbscasestr-tests (Makefile.am): Likewise.
66165         * modules/mbschr-tests (Makefile.am): Likewise.
66166         * modules/mbscspn-tests (Makefile.am): Likewise.
66167         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66168         * modules/mbspbrk-tests (Makefile.am): Likewise.
66169         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66170         * modules/mbsrchr-tests (Makefile.am): Likewise.
66171         * modules/mbsspn-tests (Makefile.am): Likewise.
66172         * modules/mbsstr-tests (Makefile.am): Likewise.
66173         * modules/printf-posix-tests (Makefile.am): Likewise.
66174         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66175         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66176         * modules/tsearch-tests (Makefile.am): Likewise.
66177         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66178         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66179         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66180         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66181         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66182         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66183         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66184         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66185         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66186         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66187         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66188         * modules/xstrtol-tests (Makefile.am): Likewise.
66189         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66190         * modules/yesno-tests (Makefile.am): Likewise.
66191
66192 2007-10-03  Bruno Haible  <bruno@clisp.org>
66193
66194         * modules/trunc-tests: New file.
66195         * tests/test-trunc.c: New file.
66196
66197         * modules/trunc: New file.
66198         * lib/trunc.c: New file.
66199         * m4/trunc.m4: New file.
66200         * lib/math.in.h (trunc): New declaration.
66201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66202         HAVE_DECL_TRUNC.
66203         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66204         HAVE_DECL_TRUNC.
66205         * doc/functions/trunc.texi: Mention the 'trunc' module.
66206
66207 2007-10-03  Bruno Haible  <bruno@clisp.org>
66208
66209         * tests/test-fpending.c: New file, mostly copied
66210         from coreutils/lib/t-fpending.c.
66211         * modules/fpending-tests: New file.
66212
66213 2007-10-03  Bruno Haible  <bruno@clisp.org>
66214
66215         Port the stdio extensions to QNX (untested).
66216         * lib/fseterr.c (fseterr): Add support for QNX.
66217         * lib/fbufmode.c (fbufmode): Likewise.
66218         * lib/freadable.c (freadable): Likewise.
66219         * lib/fwritable.c (fwritable): Likewise.
66220         * lib/freading.c (freading): Likewise.
66221         * lib/fwriting.c (fwriting): Likewise.
66222         * lib/freadahead.c (freadahed): Likewise.
66223         * lib/fpurge.c (fpurge): Likewise.
66224         * lib/fseeko.c (rpl_fseeko): Likewise.
66225
66226 2007-10-03  Bruno Haible  <bruno@clisp.org>
66227             Jim Meyering  <jim@meyering.net>
66228             Eric Blake  <ebb9@byu.net>
66229
66230         * doc/relocatable.texi: Use @command instead of @program.
66231
66232 2007-10-02  Jim Meyering  <jim@meyering.net>
66233
66234         Perform one more "_.h" -> ".in.h" substitution.
66235         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66236         instead of unistd_.h here, too.
66237
66238 2007-10-01  Bruno Haible  <bruno@clisp.org>
66239
66240         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66241         Needed for the alloca-opt module.
66242
66243 2007-09-30  Bruno Haible  <bruno@clisp.org>
66244
66245         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66246         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66247         alloca_.h.
66248         * lib/argz.in.h: Renamed from lib/argz_.h.
66249         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66250         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66251         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66252         byteswap_.h.
66253         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66254         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66255         dirent_.h.
66256         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66257         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66258         fcntl_.h.
66259         * lib/float.in.h: Renamed from lib/float_.h.
66260         * modules/float (Files, Makefile.am): Use float.in.h instead of
66261         float_.h.
66262         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66263         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66264         fnmatch_.h.
66265         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66266         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66267         getopt_.h.
66268         * lib/glob.in.h: Renamed from lib/glob_.h.
66269         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66270         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66271         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66272         iconv_.h.
66273         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66274         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66275         inttypes_.h.
66276         * lib/locale.in.h: Renamed from lib/locale_.h.
66277         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66278         locale_.h.
66279         * lib/math.in.h: Renamed from lib/math_.h.
66280         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66281         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66282         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66283         of netinet_in_.h. Add dependency.
66284         * lib/poll.in.h: Renamed from lib/poll_.h.
66285         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66286         * lib/search.in.h: Renamed from lib/search_.h.
66287         * modules/search (Files, Makefile.am): Use search.in.h instead of
66288         search_.h.
66289         * lib/signal.in.h: Renamed from lib/signal_.h.
66290         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66291         _signal.h.
66292         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66293         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66294         stdbool_.h.
66295         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66296         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66297         stdint_.h.
66298         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66299         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66300         stdio_.h.
66301         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66302         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66303         stdlib_.h.
66304         * lib/string.in.h: Renamed from lib/string_.h.
66305         * modules/string (Files, Makefile.am): Use string.in.h instead of
66306         string_.h.
66307         * doc/gnulib-tool.texi (Initial import): Update.
66308         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66309         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66310         of sys_select_.h. Add dependency.
66311         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66312         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66313         of sys_socket_.h.
66314         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66315         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66316         sys_stat_.h.
66317         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66318         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66319         sys_time_.h.
66320         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66321         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66322         sysexits_.h.
66323         * lib/time.in.h: Renamed from lib/time_.h.
66324         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66325         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66326         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66327         unistd_.h.
66328         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66329         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66330         wchar_.h.
66331         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66332         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66333         wctype_.h.
66334         * build-aux/bootstrap (slurp): Update.
66335         * lib/.cppi-disable: Update.
66336
66337 2007-09-30  Bruno Haible  <bruno@clisp.org>
66338
66339         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66340         Needed on BeOS.
66341
66342 2007-09-30  Bruno Haible  <bruno@clisp.org>
66343
66344         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66345
66346 2007-09-29  Bruno Haible  <bruno@clisp.org>
66347
66348         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66349
66350 2007-09-29  Bruno Haible  <bruno@clisp.org>
66351
66352         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66353         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66354         * build-aux/install-reloc: Compile also areadlink.c.
66355         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66356
66357 2007-09-29  Bruno Haible  <bruno@clisp.org>
66358
66359         * gnulib-tool (func_emit_initmacro_done): Indentation.
66360
66361 2007-09-29  Bruno Haible  <bruno@clisp.org>
66362
66363         * README: Add CVS checkout update instructions.
66364         Info from Bob Proulx <bob@proulx.com>.
66365
66366 2007-09-28  Eric Blake  <ebb9@byu.net>
66367
66368         Provide move-if-change.
66369         * build-aux/move-if-change: New file, based on best practice
66370         rather than any canonical upstream location.
66371
66372 2007-09-28  Jim Meyering  <jim@meyering.net>
66373
66374         Fix canonicalize loop-detection corner case.
66375         Do not attempt to stat the symlink values stored via seen_triple.
66376         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66377         on linux-2.6.18, (but not 2.6.22).
66378         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66379         triple_compare.  The former compares dev,ino,filename, while the latter
66380         would actually stat dirname(filename) when dev and ino were equal.
66381         * lib/hash-triple.c: Install <string.h>.
66382         (STREQ): Define.
66383         (triple_compare_ino_str): New function.
66384         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66385
66386 2007-09-28  Eric Blake  <ebb9@byu.net>
66387
66388         Enforce that AC_REPLACE_FUNCS files exist.
66389         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66390         override check for typos.
66391
66392         Fix test-closein on Solaris 10.
66393         * tests/test-closein.c (main): Don't assume stdin can be inherited
66394         closed on all systems.
66395         * tests/test-closein.sh: Likewise.
66396         Reported by Piotr Tarnowski.
66397
66398 2007-09-28  Jim Meyering  <jim@meyering.net>
66399
66400         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66401
66402 2007-09-27  Jim Meyering  <jim@meyering.net>
66403
66404         canonicalize: Avoid a false-positive cycle failure.
66405         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66406         Sort.  Remove cycle-check.
66407         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66408         not cycle-check.h.
66409         (seen_triple): New function.
66410         (canonicalize_filename_mode): Use it instead of cycle-check.
66411         * tests/test-canonicalize.c: Add a test for this bug.
66412         * tests/test-canonicalize.sh: Set up and run the test.
66413
66414         New module, file-set, from coreutils.
66415         * modules/file-set: Define it.
66416         * lib/file-set.c, lib/file-set.h: Implement.
66417
66418         New module, hash-triple, from coreutils.
66419         * modules/hash-triple: Define it.
66420         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66421
66422 2007-09-25  Eric Blake  <ebb9@byu.net>
66423
66424         Fix strerror on Interix.
66425         * lib/string_.h (strerror): Declare replacement.
66426         * doc/functions/strerror.texi (strerror): Document the Interix
66427         shortcoming.
66428         * modules/string (Makefile.am): Support new hooks.
66429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66430         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66431         gl_FUNC_STRERROR_SEPARATE.
66432         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66433         * lib/strerror.c (rpl_strerror): Provide replacement.
66434         * modules/strerror (Depends-on): Add string.
66435         (configure.ac): Detect use of module.
66436         * tests/test-strerror.c: New file.
66437         * modules/strerror-tests: New test module.
66438         * modules/argp (Depends-on): Add strerror.
66439         * modules/error (Depends-on): Likewise.
66440         Reported by Martin Koeppe.
66441
66442 2007-09-24  Bruno Haible  <bruno@clisp.org>
66443
66444         * README: Update git instructions.
66445
66446 2007-09-24  Eric Blake  <ebb9@byu.net>
66447
66448         Revert fpending breakage from 2007-09-08.
66449         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66450         __fpending.c.
66451
66452 2007-09-24  Jim Meyering  <jim@meyering.net>
66453
66454         filenamecat.c: Add a test.
66455         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66456         showing how the function works when DIR is the empty string.
66457
66458 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66459
66460         * tests/test-canonicalize.sh: Turn on executable bit.
66461
66462 2007-09-19  Eric Blake  <ebb9@byu.net>
66463
66464         * README: Update CVS instructions.
66465
66466 2007-09-18  Bruno Haible  <bruno@clisp.org>
66467
66468         * modules/areadlink: New file.
66469         * lib/areadlink.h (areadlink): New declaration.
66470         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66471
66472 2007-09-17  Jim Meyering  <jim@meyering.net>
66473
66474         * lib/savewd.c (ESTALE) [!defined]: Define.
66475         Reported to be required on Interix by Martin Koeppe.
66476
66477 2007-09-17  Bruno Haible  <bruno@clisp.org>
66478
66479         * gnulib-tool (func_version): Use $version.
66480
66481 2007-09-16  Bruno Haible  <bruno@clisp.org>
66482
66483         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66484         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66485         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66486         Reported by Greg Schafer <gschafer@zip.com.au>.
66487
66488 2007-09-15  Bruno Haible  <bruno@clisp.org>
66489
66490         * gnulib-tool (sed): Try a little harder to make bash understand the
66491         alias.
66492         Reported by Bruce Korb <bruce.korb@gmail.com>.
66493
66494 2007-09-13  Eric Blake  <ebb9@byu.net>
66495
66496         * ChangeLog: Remove conflict markers.
66497
66498 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66499
66500         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66501         Reported by Bruno Haible <bruno@clisp.org>.
66502
66503 2007-09-12  Bruno Haible  <bruno@clisp.org>
66504
66505         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66506         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66507         is not defined.
66508
66509 2007-09-12  Eric Blake  <ebb9@byu.net>
66510
66511         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66512         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66513         Autoconf definition.
66514         * modules/euidaccess (Depends-on): Add extensions, for
66515         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66516         * modules/fnmatch (Depends-on): Likewise.
66517         * modules/getaddrinfo (Depends-on): Likewise.
66518         * modules/getdelim (Depends-on): Likewise.
66519         * modules/getline (Depends-on): Likewise.
66520         * modules/getsubopt (Depends-on): Likewise.
66521         * modules/gettext (Depends-on): Likewise.
66522         * modules/group-member (Depends-on): Likewise.
66523         * modules/mbchar (Depends-on): Likewise.
66524         * modules/memmem (Depends-on): Likewise.
66525         * modules/mempcpy (Depends-on): Likewise.
66526         * modules/memrchr (Depends-on): Likewise.
66527         * modules/pagealign_alloc (Depends-on): Likewise.
66528         * modules/readutmp (Depends-on): Likewise.
66529         * modules/stpcpy (Depends-on): Likewise.
66530         * modules/stpncpy (Depends-on): Likewise.
66531         * modules/strchrnul (Depends-on): Likewise.
66532         * modules/strndup (Depends-on): Likewise.
66533         * modules/strsep (Depends-on): Likewise.
66534         * modules/strverscmp (Depends-on): Likewise.
66535         * modules/vasprintf (Depends-on): Likewise.
66536         * modules/wcwidth (Depends-on): Likewise.
66537         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66538         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66539         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66540         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66541         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66542         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66543         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66544         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66545         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66546         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66547         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66548         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66549         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66550         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66551         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66552         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66553         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66554         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66555         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66556         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66557         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66558         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66559         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66560         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66561         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66563         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66564         so that lock.m4 can be used in gettext without extensions module.
66565
66566 2007-09-11  Bruno Haible  <bruno@clisp.org>
66567
66568         * m4/isc-posix.m4: Remove file.
66569         Suggested by Eric Blake.
66570
66571 2007-09-11  Eric Blake  <ebb9@byu.net>
66572
66573         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66574
66575 2007-09-10  Bruno Haible  <bruno@clisp.org>
66576
66577         * posix-modules: Fix typo in error message.
66578         Reported by Matt <mkraai@beckman.com>.
66579
66580 2007-09-09  Bruno Haible  <bruno@clisp.org>
66581
66582         * doc/functions/getdelim.texi: Update list of platforms lacking the
66583         function.
66584         * doc/functions/getline.texi: Likewise.
66585
66586 2007-09-09  Jim Meyering  <jim@meyering.net>
66587
66588         * lib/hash.c (hash_initialize): Detect calloc failure.
66589         Reported by Bruno Haible.
66590
66591 2007-09-09  Bruno Haible  <bruno@clisp.org>
66592
66593         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66594         malloc or realloc fails.
66595
66596 2007-09-09  Bruno Haible  <bruno@clisp.org>
66597
66598         * modules/getcwd (Depends-on): Add malloc-posix.
66599         * modules/glob (Depends-on): Likewise.
66600         * modules/putenv (Depends-on): Likewise.
66601         * modules/strdup (Depends-on): Likewise.
66602         * modules/getdelim (Depends-on): Add realloc-posix.
66603         * modules/read-file (Depends-on): Likewise.
66604
66605 2007-09-09  Bruno Haible  <bruno@clisp.org>
66606
66607         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66608         (gl_FUNC_MALLOC_POSIX): Require it.
66609         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66610         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66611         * modules/realloc (Files): Add m4/malloc.m4.
66612         * modules/calloc (Files): Likewise.
66613
66614 2007-09-09  Bruno Haible  <bruno@clisp.org>
66615
66616         * modules/malloc-posix: New file.
66617         * modules/malloc (Depends-on): Add malloc-posix.
66618         * lib/malloc.c: Include errno.h.
66619         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66620         and a POSIX-compatible malloc into a single function. Set ENOMEM
66621         when returning NULL.
66622         * m4/malloc.m4: New file.
66623         * doc/functions/malloc.texi: Mention the malloc-posix module.
66624         * lib/stdlib_.h (malloc): New declaration.
66625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66626         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66627         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66628         and HAVE_MALLOC_POSIX.
66629
66630 2007-09-09  Bruno Haible  <bruno@clisp.org>
66631
66632         * modules/realloc-posix: New file.
66633         * modules/realloc (Depends-on): Add realloc-posix.
66634         * lib/realloc.c: Include errno.h.
66635         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66636         and a POSIX-compatible realloc into a single function. Set ENOMEM
66637         when returning NULL.
66638         * m4/realloc.m4: New file.
66639         * doc/functions/realloc.texi: Mention the realloc-posix module.
66640         * lib/stdlib_.h (realloc): New declaration.
66641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66642         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66643         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66644         and HAVE_REALLOC_POSIX.
66645
66646 2007-09-09  Bruno Haible  <bruno@clisp.org>
66647
66648         * modules/calloc-posix: New file.
66649         * modules/calloc (Depends-on): Add calloc-posix.
66650         * lib/calloc.c: Include errno.h.
66651         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66652         and a POSIX-compatible calloc into a single function. Set ENOMEM
66653         when returning NULL.
66654         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66655         * doc/functions/calloc.texi: Mention the calloc-posix module.
66656         * lib/stdlib_.h (calloc): New declaration.
66657         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66658         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66659         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66660         and HAVE_CALLOC_POSIX.
66661
66662 2007-09-09  Bruno Haible  <bruno@clisp.org>
66663
66664         Allow for modules to show an arbitrary notice.
66665         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66666         * gnulib-tool: New option --extract-notice.
66667         (func_usage): Document it.
66668         (sed_extract_prog): Update.
66669         (func_get_notice): New function.
66670         (func_modules_notice): New function.
66671         (func_import, func_create_testdir): Invoke it.
66672         Suggested by Jim Meyering.
66673
66674 2007-09-09  Bruno Haible  <bruno@clisp.org>
66675
66676         * gnulib-tool: New options --verbose, --quiet.
66677         (func_usage): Document them.
66678         (verbose): New variable.
66679         (func_execute_command): New function.
66680         (func_import): Don't show the module list and the file list if
66681         $verbose < 0.
66682         (func_create_testdir): Likewise. Use func_execute_command.
66683         (func_create_megatestdir): Use func_execute_command.
66684
66685 2007-09-08  Bruno Haible  <bruno@clisp.org>
66686
66687         * gnulib-tool (func_import): Prefer rsync over wget when available,
66688         for fetching the PO files.
66689
66690 2007-09-08  Bruno Haible  <bruno@clisp.org>
66691
66692         * posix-modules: New file. Portions copied from gnulib-tool.
66693         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66694
66695 2007-09-08  Jim Meyering  <jim@meyering.net>
66696
66697         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66698         * lib/fpending.h: Rename from __fpending.h.
66699         * lib/fpending.c: Rename from __fpending.c.
66700         Include "fpending.h", not "__fpending.h".
66701         * lib/__fpending.h, lib/__fpending.c: Remove files.
66702         * modules/fpending (Files): Reflect new file names.
66703         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66704
66705 2007-09-08  Bruno Haible  <bruno@clisp.org>
66706
66707         * m4/inttypes-h.m4: Remove stub file.
66708
66709 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66710
66711         * doc/headers/stdint.texi: Discuss #include_next issue.
66712
66713 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66714
66715         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66716
66717 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66718
66719         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66720         in variable name.
66721
66722 2007-09-03  Jim Meyering  <jim@meyering.net>
66723
66724         New module: git-version-gen.
66725         * modules/git-version-gen: New file.
66726
66727         Import changes from coreutils for bootstrap script.
66728
66729         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66730
66731         bootstrap: uses rsync to download the .po files
66732         * build-aux/bootstrap (po_download_command_format): New global.
66733         (download_po_files): Use rsync.
66734         (update_po_files): Don't remove .po files after download,
66735         so future rsync runs can take advantage of the copies.
66736
66737         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66738
66739         Solve the unnecessary-.po-file-regeneration problem once and for all.
66740         * build-aux/bootstrap (download_po_files): New function, renamed from
66741         get_translations.  Now, downloads, but doesn't update LINGUAS.
66742         (update_po_files): New function.
66743
66744         bootstrap: Ignore more.
66745         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66746         uniwidth to e.g., lib/.gitignore.
66747         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66748
66749         * build-aux/bootstrap: New setting: vc_ignore.
66750         (insert_sorted_if_absent): Create $file if absent.
66751         Adapt to new, possibly empty, list: $vc_ignore.
66752
66753         bootstrap: generate more ignorable names
66754         * build-aux/bootstrap (slurp): When generating ignorable names,
66755         also map .sin to .sed, .gperf to .c, and .y to .c.
66756
66757 2007-09-03  Jim Meyering  <jim@meyering.net>
66758
66759         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66760         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66761
66762 2007-09-02  Bruno Haible  <bruno@clisp.org>
66763
66764         Fix mis-recognition of 'mcs' on QNX 6.
66765         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
66766         output contains the string "Mono".
66767         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
66768         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
66769
66770 2007-09-01  Bruno Haible  <bruno@clisp.org>
66771
66772         Fix collision between uniwidth/* and linebreak modules.
66773         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
66774         u32_width): Remove declarations.
66775         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
66776         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
66777         streq3, streq2, streq1, streq0): Remove functions.
66778         (STREQ): Remove macro.
66779         (is_cjk_encoding): Remove function.
66780         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
66781         (uc_width, u8_width, u16_width, u32_width): Remove functions.
66782         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
66783         * NEWS: Document the change.
66784
66785 2007-09-01  Bruno Haible  <bruno@clisp.org>
66786
66787         * lib/streq.h: Add double-inclusion guard.
66788
66789 2007-09-01  Karl Berry  <karl@gnu.org>
66790
66791         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
66792
66793 2007-08-28  Jim Meyering  <jim@meyering.net>
66794
66795         Rename mreadlink_with_size to areadlink_with_size.
66796         * NEWS: Document the change.
66797         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
66798         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
66799         * lib/mreadlink.h: Rename this to...
66800         * lib/areadlink.h: ...this.
66801         * modules/mreadlink-with-size: Rename this to...
66802         * modules/areadlink-with-size: ...this.
66803         * lib/canonicalize.c: Reflect the renaming.
66804         * modules/canonicalize: Likewise.
66805
66806 2007-08-26  Bruno Haible  <bruno@clisp.org>
66807
66808         * gnulib-tool (func_import): When deciding which files to remove,
66809         consider also dangling symbolic links.
66810         Reported by Eric Blake.
66811
66812 2007-08-26  Bruno Haible  <bruno@clisp.org>
66813
66814         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
66815
66816 2007-08-23  Simon Josefsson  <simon@josefsson.org>
66817
66818         * lib/readline.c: Don't include getline.h, the prototype is now
66819         found in stdio.h.
66820
66821 2007-08-23  Jim Meyering  <jim@meyering.net>
66822
66823         Getdelim touchup.
66824         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
66825         around the funlockfile call, since funlockfile never sets errno.
66826         Don't set errno upon failed realloc.
66827
66828 2007-08-22  Eric Blake  <ebb9@byu.net>
66829
66830         Getline touchups.
66831         * lib/getdelim.c (getdelim): Revert regression that required *n to
66832         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
66833         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
66834         getdelim, rather than whether implementation is missing.
66835         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
66836         * lib/stdio_.h (getline): Also declare if replacement is
66837         required.
66838         * doc/functions/getdelim.texi: New file.
66839         * doc/functions/getline.texi: Likewise.
66840         * doc/gnulib.texi (Function Substitutes): Add new files.
66841         Reported by Bruno Haible.
66842
66843 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
66844
66845         * users.txt: Add Guile.
66846
66847 2007-08-22  Eric Blake  <ebb9@byu.net>
66848
66849         * tests/test-getdelim.c (main): Use remove, not unlink.
66850         * tests/test-getline.c (main): Likewise.
66851
66852         Move getline and getdelim into stdio.h, per POSIX 200x.
66853         * modules/getline (Files): Remove getline.h.
66854         (Depends-on): Add stdio.
66855         (configure.ac): Add module indicator.
66856         * modules/getdelim (Files): Remove getdelim.h.
66857         (Depends-on): Add stdio.
66858         (configure.ac): Add module indicator.
66859         * modules/stdio (Makefile.am): Work with new indicators.
66860         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
66861         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
66862         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66863         * lib/getdelim.h: Delete.
66864         * lib/getline.h: Delete.
66865         * lib/stdio_.h (getdelim, getline): Declare.
66866         * modules/getdelim-tests: New module.
66867         * modules/getline-tests: Likewise.
66868         * tests/test-getdelim.c: New file.
66869         * tests/test-getline.c: Likewise.
66870         * NEWS: Document the change.
66871         * lib/getline.c: Update choice of header.
66872         * lib/csharpcomp.c: Likewise.
66873         * lib/getpass.c: Likewise.
66874         * lib/javacomp.c: Likewise.
66875         * lib/javaversion.c: Likewise.
66876         * lib/yesno.c: Likewise.
66877         * lib/getdelim.c: Likewise.
66878         (getdelim): Set errno on failure, and avoid memory leak.
66879
66880 2007-08-19  Bruno Haible  <bruno@clisp.org>
66881
66882         * modules/closein (Depends-on): Add freadahead.
66883         * lib/closein.c: Include freadahead.h.
66884         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
66885         is zero.
66886
66887 2007-08-19  Bruno Haible  <bruno@clisp.org>
66888
66889         * modules/freadahead-tests: New file.
66890         * tests/test-freadahead.sh: New file.
66891         * tests/test-freadahead.c: New file.
66892
66893         * modules/freadahead: New file.
66894         * lib/freadahead.h: New file.
66895         * lib/freadahead.c: New file.
66896         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
66897         fbufmode, fpurge, freadable, fwritable.
66898
66899 2007-08-19  Eric Blake  <ebb9@byu.net>
66900
66901         Test yesno in combination with closein.
66902         * lib/yesno.c (yesno): Document use of stdin.
66903         * modules/yesno-tests (Files): New module.
66904         * tests/test-yesno.c (main): New file.
66905         * tests/test-yesno.sh: Likewise.
66906
66907 2007-08-19  Bruno Haible  <bruno@clisp.org>
66908
66909         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
66910         * lib/fseeko.c (rpl_fseeko): Likewise.
66911         * lib/fseterr.c (fseterr): Likewise.
66912
66913 2007-08-19  Bruno Haible  <bruno@clisp.org>
66914
66915         * tests/test-lseek.c (main): Disable a test for BeOS.
66916         * doc/functions/lseek.texi: Document the BeOS bug.
66917
66918 2007-08-19  Bruno Haible  <bruno@clisp.org>
66919             Eric Blake  <ebb9@byu.net>
66920
66921         * lib/lseek.c: Include <sys/stat.h>.
66922         (rpl_lseek): Add workaround code also for Unix platforms.
66923         Needed for BeOS.
66924         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
66925         * doc/functions/lseek.texi: Document BeOS definiency.
66926
66927 2007-08-18  Bruno Haible  <bruno@clisp.org>
66928
66929         * modules/fstrcmp-tests: New file.
66930         * tests/test-fstrcmp.c: New file.
66931
66932 2007-08-18  Bruno Haible  <bruno@clisp.org>
66933
66934         * modules/fstrcmp: New file, from GNU gettext with modifications.
66935         * lib/fstrcmp.h: New file, from GNU gettext.
66936         * lib/fstrcmp.c: New file, from GNU gettext.
66937         * MODULES.html.sh (String handling): Add fstrcmp.
66938
66939 2007-08-18  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
66942         'bool'.
66943         (diag, compareseq): Remove const from the ctxt argument.
66944         (USE_HEURISTIC): Undefine at the end.
66945
66946 2007-08-18  Jim Meyering  <jim@meyering.net>
66947
66948         New file: lib/idcache.h
66949         * NEWS: Mention the addition.
66950         * modules/idcache (Files): Add lib/idcache.h
66951         * lib/idcache.c: Include "idcache.h".
66952         Don't include <sys/types.h>.
66953         Add a FIXME comment.
66954         Move file-scoped "static" declarations to the top.
66955         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
66956
66957 2007-08-17  Bruno Haible  <bruno@clisp.org>
66958         and Paul Eggert  <eggert@cs.ucla.edu>
66959
66960         * MODULES.html.sh: Add diffseq.
66961         * modules/diffseq: New file.
66962         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
66963         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
66964
66965 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66966
66967         Import changes from coreutils for bootstrap script.
66968
66969         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
66970
66971         * build-aux/bootstrap (slurp): Work even in environments where
66972         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
66973         current code does not slurp files whose names start with ".", and
66974         this looks like it might be a troublesome area.
66975
66976         2007-07-11  Jim Meyering  <jim@meyering.net>
66977
66978         If there's a GPL vN copyright comment, require that N == 3.
66979
66980         2007-07-08  Jim Meyering  <jim@meyering.net>
66981
66982         Run the coreutils-specific code only if tests/Makefile.am.in exists.
66983         * build-aux/bootstrap (mam_template): Move definition out of loop.
66984
66985         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
66986
66987         * build-aux/bootstrap (symlink_to_dir): Rename function from
66988         symlink_to_gnulib.  Add a directory parameter.  Update all
66989         callers.
66990         (cp_mark_as_generated): Also check for -- and link to -- files in
66991         gl/.
66992
66993         2007-07-08  Jim Meyering  <jim@meyering.net>
66994
66995         Adapt to deeper hierarchy in gnulib.
66996         * build-aux/bootstrap (symlink_to_dir): If the destination
66997         directory doesn't exist, create it. This is required at least for
66998         "lib/uniwidth/cjk.h".
66999
67000         2007-05-15  Jim Meyering  <jim@meyering.net>
67001
67002         * build-aux/bootstrap: Now that generated Makefile.am files
67003         are no longer under version control, they must be created at
67004         bootstrap time.
67005
67006 2007-08-14  Ben Pfaff  <blp@gnu.org>
67007
67008         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67009
67010 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67011
67012         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67013         given the changes below.
67014         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67015         even on hosts that have padding bits beyond the supported 64.
67016
67017 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67018
67019         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67020         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67021         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67022         depends on it.
67023         (xstrtol_error): Remove.
67024         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67025         but with a different signature.
67026         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67027         * lib/xstrtol-error.c: Include exitfail.h.
67028         (xstrtol_fatal): New function, with a different signature from the
67029         old xstrtol_error, so that the caller need not worry about passing
67030         in an exit status, or about storage management of the option argument.
67031         (xstrtol_error): Now a static function.  Redo signature to
67032         implement xstrtol_fatal.  Output the correct number of hyphens in
67033         front of the option so that the caller need not worry about
67034         storage management.
67035         (N_): New macro.
67036         (_): Remove; not used now.
67037         * modules/xstrtol: Depend on getopt.
67038         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67039         of old STRTOL_FATAL_ERROR macro.
67040         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67041         of test program.
67042         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67043         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67044
67045 2007-08-08  Eric Blake  <ebb9@byu.net>
67046
67047         * lib/xstrtol-error.c: Add missing include.
67048
67049         Move xstrtol messages into gnulib domain, when --pobase is used.
67050         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67051         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67052         * modules/xstrtol (Files): Distribute new file.
67053         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67054         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67055         * tests/test-xstrtol.c: ...into new file.
67056         * tests/test-xstrtoul.c: Also test xstrtoul.
67057         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67058         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67059         * tests/test-xstrtol.sh: Drive the tests.
67060         * tests/test-xstrtoimax.sh: Likewise.
67061         * tests/test-xstrtoumax.sh: Likewise.
67062         * modules/xstrtol-tests: New module.
67063         * modules/xstrtoimax-tests: Likewise.
67064         * modules/xstrtoumax-tests: Likewise.
67065
67066 2007-08-08  Jim Meyering  <jim@meyering.net>
67067
67068         New function: mfile_name_concat.
67069         * lib/filenamecat.c (mfile_name_concat): New function, just like
67070         file_name_concat, but return NULL upon failure rather than exiting
67071         with a diagnostic.
67072         * lib/filenamecat.h: Declare it.
67073
67074 2007-08-07  Bruno Haible  <bruno@clisp.org>
67075
67076         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67077         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67078         warning from gcc.
67079         Reported by Eric Blake.
67080
67081 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67082
67083         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67084         * modules/crypto/arcfour (License): Likewise.
67085         * modules/crypto/des-tests (License): Likewise.
67086         * modules/crypto/gc-arctwo-tests (License): Likewise.
67087         * modules/crypto/gc-des-tests (License): Likewise.
67088         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67089         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67090         * modules/crypto/gc-md2-tests (License): Likewise.
67091         * modules/crypto/gc-md4-tests (License): Likewise.
67092         * modules/crypto/gc-md5-tests (License): Likewise.
67093         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67094         * modules/crypto/gc-rijndael-tests (License): Likewise.
67095         * modules/crypto/gc-sha1-tests (License): Likewise.
67096         * modules/crypto/gc-tests (License): Likewise.
67097         * modules/crypto/hmac-md5 (License): Likewise.
67098         * modules/crypto/hmac-sha1 (License): Likewise.
67099         * modules/crypto/md2-tests (License): Likewise.
67100         * modules/crypto/md4-tests (License): Likewise.
67101         * modules/crypto/md5 (License): Likewise.
67102         * modules/crypto/rijndael (License): Likewise.
67103         * modules/crypto/sha1 (License): Likewise.
67104         * modules/memxor (License): Likewise.
67105
67106 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67107         and Bruno Haible  <bruno@clisp.org>
67108
67109         * NEWS: Describe interface changes to human, xstrtol.
67110         * lib/human.h: Include <xstrtol.h>.
67111         (human_options): Return enum strtol_error, not int.  Remove
67112         bool arg; take int * instead.
67113         * lib/human.c: Don't include "gettext.h".
67114         (_): Remove; no longer used.
67115         Don't include <xstrtol.h>, since human.h does it.
67116         (human_options): Adjust to abovementioned interface changes.
67117         Do not report error to stderr; that's now the caller's
67118         responsibility.
67119         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67120         interface change.
67121         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67122         Str, Argument_type_string.  All uses changed.  Put " argument"
67123         in diagnostics to make them clearer.  Change wording of suffix
67124         message for clarity.
67125         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67126         Argument_type_string.
67127         (STRTOL_FATAL_WARN): Remove; no longer used.
67128         * modules/human (Depends-on): Remove gettext-h.
67129
67130 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67131
67132         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67133
67134 2007-07-31  Bruno Haible  <bruno@clisp.org>
67135
67136         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67137         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67138         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67139
67140 2007-07-31  Bruno Haible  <bruno@clisp.org>
67141
67142         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67143         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67144
67145 2007-07-30  Bruno Haible  <bruno@clisp.org>
67146
67147         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67148         * modules/c-ctype (License): Likewise.
67149         * modules/c-strcase (License): Likewise.
67150         * modules/check-version (License): Likewise.
67151         * modules/iconv (License): Likewise.
67152         * modules/iconv_open (License): Likewise.
67153         * modules/read-file (License): Likewise.
67154         * modules/striconv (License): Likewise.
67155         * modules/strverscmp (License): Likewise.
67156         * modules/vasprintf (License): Likewise.
67157         * modules/crypto/des (License): Likewise.
67158         * modules/crypto/gc (License): Likewise.
67159         * modules/crypto/gc-arcfour (License): Likewise.
67160         * modules/crypto/gc-arctwo (License): Likewise.
67161         * modules/crypto/gc-des (License): Likewise.
67162         * modules/crypto/gc-hmac-md5 (License): Likewise.
67163         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67164         * modules/crypto/gc-md2 (License): Likewise.
67165         * modules/crypto/gc-md4 (License): Likewise.
67166         * modules/crypto/gc-md5 (License): Likewise.
67167         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67168         * modules/crypto/gc-random (License): Likewise.
67169         * modules/crypto/gc-rijndael (License): Likewise.
67170         * modules/crypto/gc-sha1 (License): Likewise.
67171         * modules/crypto/md2 (License): Likewise.
67172         * modules/crypto/md4 (License): Likewise.
67173
67174 2007-07-30  Jim Meyering  <jim@meyering.net>
67175
67176         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67177         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67178         it has valid stat data.  This bug would cause du not to count the
67179         sizes of inaccessible directories.
67180         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67181         in <http://bugzilla.redhat.com/250077>.
67182
67183 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67184             Bruno Haible  <bruno@clisp.org>
67185
67186         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67187         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67188         #include_next, gives a diagnostic about it, but reports no error in
67189         the exit code.
67190         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67191
67192 2007-07-24  Ben Pfaff  <blp@gnu.org>
67193
67194         Improve name: "count-one-bits" is better than "popcount".
67195         * MODULES.html.sh: Update name.
67196         * lib/popcount.h: Renamed lib/count-one-bits.h.
67197         (popcount): Renamed count_one_bits.
67198         (popcountl): Renamed count_one_bits_l.
67199         (popcountll): Renamed count_one_bits_ll.
67200         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67201         * modules/popcount: Renamed module/count-one-bits.
67202         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67203         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67204
67205 2007-07-23  Ben Pfaff  <blp@gnu.org>
67206
67207         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67208         better code generation, and add U to large constants to avoid
67209         warnings, in non-GCC case.
67210         Suggested by Bruno Haible.
67211
67212 2007-07-23  Ben Pfaff  <blp@gnu.org>
67213
67214         * lib/popcount.h: Use verify_true instead of if...abort.
67215         * modules/popcount: Depend on verify module.
67216         Suggested by Jim Meyering.
67217
67218 2007-07-23  Bruno Haible  <bruno@clisp.org>
67219
67220         * gnulib-tool (func_import): Create a .cvsignore file also when the
67221         directory is not yet in CVS but the toplevel directory is. When
67222         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67223         Reported by Karl Berry.
67224
67225 2007-07-22  Ben Pfaff  <blp@gnu.org>
67226
67227         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67228         case.
67229         Suggested by Eric Blake.
67230
67231 2007-07-22  Ben Pfaff  <blp@gnu.org>
67232
67233         New module: popcount.
67234         * MODULES.html.sh: Add popcount.
67235         * modules/popcount: New file.
67236         * modules/popcount-tests: New file.
67237         * tests/test-popcount.c: New file.
67238         * lib/popcount.h: New file.
67239         * m4/popcount.m4: New file.
67240
67241 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67242
67243         * build-aux/announce-gen: Update to GPLv3.
67244
67245         * build-aux/config.guess: Update from config.
67246
67247 2007-07-21  Bruno Haible  <bruno@clisp.org>
67248
67249         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67250         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67251
67252 2007-07-20  Jim Meyering  <jim@meyering.net>
67253
67254         * check-module: Diagnose a self-dependency.
67255
67256 2007-07-19  Bruno Haible  <bruno@clisp.org>
67257
67258         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67259         empty.
67260         Reported by Eric Blake.
67261
67262 2007-07-18  Bruno Haible  <bruno@clisp.org>
67263
67264         * gnulib-tool: New options --po-base, --po-domain.
67265         (func_usage): Document them.
67266         (pobase, po_domain): New variables.
67267         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67268         DEFAULT_TEXT_DOMAIN.
67269         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67270         (func_import): Consider pobase and po_domain. Create a po/ directory.
67271         (func_create_testdir): Set pobase and po_domain to empty.
67272         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67273         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67274
67275 2007-07-18  Bruno Haible  <bruno@clisp.org>
67276
67277         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67278         EXTRA_DIST augmentation for files in build-aux/.
67279
67280 2007-07-16  Bruno Haible  <bruno@clisp.org>
67281
67282         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67283         * modules/getdelim (License): Likewise.
67284
67285 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67286
67287         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67288         * modules/d-type (License): Likewise.
67289         * modules/extensions (License): Likewise.
67290         * modules/fnmatch (License): Likewise.
67291         * modules/fseeko (License): Likewise.
67292         * modules/getaddrinfo (License): Likewise.
67293         * modules/getline (License): Likewise.
67294         * modules/getlogin_r (License): Likewise.
67295         * modules/getpass (License): Likewise.
67296         * modules/gettimeofday (License): Likewise.
67297         * modules/glob (License): Likewise.
67298         * modules/inet_ntop (License): Likewise.
67299         * modules/malloc (License): Likewise.
67300         * modules/malloca (License): Likewise.
67301         * modules/memmem (License): Likewise.
67302         * modules/mempcpy (License): Likewise.
67303         * modules/memset (License): Likewise.
67304         * modules/minmax (License): Likewise.
67305         * modules/mktime (License): Likewise.
67306         * modules/netinet_in (License): Likewise.
67307         * modules/pathmax (License): Likewise.
67308         * modules/poll (License): Likewise.
67309         * modules/regex (License): Likewise.
67310         * modules/snprintf (License): Likewise.
67311         * modules/stdbool (License): Likewise.
67312         * modules/stdint (License): Likewise.
67313         * modules/stdio (License): Likewise.
67314         * modules/strcase (License): Likewise.
67315         * modules/strcasestr (License): Likewise.
67316         * modules/strdup (License): Likewise.
67317         * modules/string (License): Likewise.
67318         * modules/strndup (License): Likewise.
67319         * modules/strnlen (License): Likewise.
67320         * modules/strpbrk (License): Likewise.
67321         * modules/strptime (License): Likewise.
67322         * modules/strsep (License): Likewise.
67323         * modules/sys_select (License): Likewise.
67324         * modules/sys_socket (License): Likewise.
67325         * modules/sys_stat (License): Likewise.
67326         * modules/sys_time (License): Likewise.
67327         * modules/time (License): Likewise.
67328         * modules/time_r (License): Likewise.
67329         * modules/timegm (License): Likewise.
67330         * modules/unistd (License): Likewise.
67331         * modules/vsnprintf (License): Likewise.
67332         * modules/wctype (License): Likewise.
67333
67334 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67335
67336         * modules/argz (License): LGPLv2+.
67337
67338 2007-07-15  Karl Berry  <karl@gnu.org>
67339
67340         * doc/gnulib.texi: revise node structure per new fdl.texi.
67341
67342 2007-07-14  Bruno Haible  <bruno@clisp.org>
67343
67344         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67345         the output file.
67346         * lib/uniname/uninames.h: Regenerated.
67347
67348 2007-07-14  Karl Berry  <karl@gnu.org>
67349
67350         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67351         omitting sectioning and index commands.
67352
67353 2007-07-13  Bruno Haible  <bruno@clisp.org>
67354
67355         New gnulib-tool option --more-symlinks.
67356         * gnulib-tool (func_usage): Document --more-symlinks.
67357         (do_copyrights): New variable.
67358         Recognize option --more-symlinks.
67359         (func_import): Don't add a copyright notice transform to
67360         sed_transform_lib_file if do_copyrights is empty.
67361
67362 2007-07-13  Bruno Haible  <bruno@clisp.org>
67363
67364         * lib/vasnprintf.c (decimal_point_char): Define also if
67365         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67366         && !NEED_PRINTF_DIRECTIVE_A.
67367         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67368         Gary V. Vaughan <gary@gnu.org>.
67369
67370 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67371
67372         * lib/inttypes_.h: Undo previous change, since it was fixed
67373         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67374
67375 2007-07-13  Bruno Haible  <bruno@clisp.org>
67376
67377         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67378         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67379
67380 2007-07-13  Jim Meyering  <jim@meyering.net>
67381
67382         df: Don't fail for Tru64's "file-on-file mount".
67383         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67384         so we fall through and use statfs instead.  Details here:
67385         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67386         Reported by Albert Chin.
67387
67388 2007-07-13  Bruno Haible  <bruno@clisp.org>
67389
67390         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67391         * modules/configmake (License): Likewise.
67392         * modules/gettext (License): Likewise.
67393         * modules/gettext-h (License): Likewise.
67394         * modules/include_next (License): Likewise.
67395         * modules/link-warning (License): Likewise.
67396         * modules/localcharset (License): Likewise.
67397         * modules/localename (License): Likewise.
67398         * modules/lock (License): Likewise.
67399         * modules/relocatable-lib-lgpl (License): Likewise.
67400         * modules/size_max (License): Likewise.
67401         * modules/vasnprintf (License): Likewise.
67402         * modules/wchar (License): Likewise.
67403         * modules/xsize (License): Likewise.
67404
67405 2007-07-13  Bruno Haible  <bruno@clisp.org>
67406
67407         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67408         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67409
67410 2007-07-12  Bruno Haible  <bruno@clisp.org>
67411
67412         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67413         in the modules files.
67414
67415 2007-07-11  Karl Berry  <karl@gnu.org>
67416
67417         * MODULES.html.sh (func_module): use
67418          sed -e '\|^'"${includefile}"'$|d'
67419          instead of /.../d, to avoid errors on $includefile's containing /.
67420
67421 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67422
67423         * gnulib-tool (func_import): Avoid duplication of --avoid
67424         statements
67425         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67426         names to `_' in variable names.
67427
67428 2007-07-10  Eric Blake  <ebb9@byu.net>
67429
67430         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67431         * NEWS: Document this change.
67432
67433 2007-07-08  Bruno Haible  <bruno@clisp.org>
67434
67435         Update to Unicode 5.0.
67436         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67437         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67438         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67439         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67440         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67441         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67442         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67443         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67444         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67445         U+10A3F, U+1D242..U+1D244.
67446         (nonspacing_table_ind): Update.
67447         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67448         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67449
67450 2007-07-08  Bruno Haible  <bruno@clisp.org>
67451
67452         Update to Unicode 5.0.
67453         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67454         code transform. Extend the name index field of unicode_name_to_code and
67455         unicode_code_to_name from 16 to 24 bits.
67456         * lib/uniname/uniname.c (unicode_character_name,
67457         unicode_name_character): Add the range 0x12xxx to the code transform.
67458         * lib/uniname/uninames.h: Regenerated.
67459         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67460
67461 2007-07-07  Bruno Haible  <bruno@clisp.org>
67462
67463         * modules/wcwidth-tests: New file.
67464         * tests/test-wcwidth.c: New file.
67465
67466         Work around MacOS X wcwidth() bug.
67467         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67468         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67469         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67470         original wcwidth in non-UTF-8 locales.
67471         * modules/wcwidth (Depends-on): Add localcharset, streq,
67472         uniwidth/width.
67473         * doc/functions/wcwidth.texi: Update.
67474
67475 2007-07-07  Bruno Haible  <bruno@clisp.org>
67476
67477         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67478         (wcwidth): New declaration.
67479         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67480         macros.
67481         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67482         here. Prepare for creating <wchar.h> unconditionally.
67483         * modules/wchar (Depends-on): Add link-warning.
67484         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67485         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67486         * lib/wcwidth.h: Remove file.
67487         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67488         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67489         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67490         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67491         (Include): Replace wcwidth.h with <wchar.h>.
67492         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67493         * lib/mbchar.h: Don't include wcwidth.h.
67494         * lib/mbswidth.c: Likewise.
67495         * NEWS: Mention the change.
67496
67497 2007-07-07  Bruno Haible  <bruno@clisp.org>
67498
67499         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67500         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67501         definition with an external declaration.
67502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67503         defined as a function. Remove AC_C_INLINE requirement.
67504         * modules/wcwidth (Files): Add lib/wcwidth.c.
67505         (Makefile.am): Remove redundant statement.
67506
67507 2007-07-07  Bruno Haible  <bruno@clisp.org>
67508
67509         * MODULES.html.sh (Unicode string functions): Add the new modules.
67510
67511         * tests/uniwidth/test-u32-strwidth.c: New file.
67512         * modules/uniwidth/u32-strwidth-tests: New file.
67513
67514         * lib/uniwidth/u32-strwidth.c: New file.
67515         * modules/uniwidth/u32-strwidth: New file.
67516
67517         * tests/uniwidth/test-u16-strwidth.c: New file.
67518         * modules/uniwidth/u16-strwidth-tests: New file.
67519
67520         * lib/uniwidth/u16-strwidth.c: New file.
67521         * modules/uniwidth/u16-strwidth: New file.
67522
67523         * tests/uniwidth/test-u8-strwidth.c: New file.
67524         * modules/uniwidth/u8-strwidth-tests: New file.
67525
67526         * lib/uniwidth/u8-strwidth.c: New file.
67527         * modules/uniwidth/u8-strwidth: New file.
67528
67529         * tests/uniwidth/test-u32-width.c: New file.
67530         * modules/uniwidth/u32-width-tests: New file.
67531
67532         * lib/uniwidth/u32-width.c: New file.
67533         * modules/uniwidth/u32-width: New file.
67534
67535         * tests/uniwidth/test-u16-width.c: New file.
67536         * modules/uniwidth/u16-width-tests: New file.
67537
67538         * lib/uniwidth/u16-width.c: New file.
67539         * modules/uniwidth/u16-width: New file.
67540
67541         * tests/uniwidth/test-u8-width.c: New file.
67542         * modules/uniwidth/u8-width-tests: New file.
67543
67544         * lib/uniwidth/u8-width.c: New file.
67545         * modules/uniwidth/u8-width: New file.
67546
67547         * tests/uniwidth/test-uc_width.c: New file.
67548         * modules/uniwidth/width-tests: New file.
67549
67550         * lib/uniwidth/width.c: New file, from GNU libiconv.
67551         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67552         * modules/uniwidth/width: New file.
67553
67554         * lib/uniwidth.h: New file, from GNU libiconv.
67555         * modules/uniwidth/base: New file.
67556
67557 2007-07-07  Bruno Haible  <bruno@clisp.org>
67558
67559         * lib/uniname.h: New file, from GNU gettext.
67560         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67561         * lib/uniname/uninames.h: New file, from GNU gettext.
67562         * lib/uniname/uniname.c: New file, from GNU gettext.
67563         * tests/uniname/test-uninames.sh: New file.
67564         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67565         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67566         * modules/uniname/base: New file.
67567         * modules/uniname/uniname: New file.
67568         * modules/uniname/uniname-tests: New file.
67569         * MODULES.html.sh (Unicode string functions): Add the new modules.
67570
67571 2007-07-06  Bruno Haible  <bruno@clisp.org>
67572
67573         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67574
67575 2007-07-06  Bruno Haible  <bruno@clisp.org>
67576
67577         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67578         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67579         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67580         include <sys/time.h>.
67581         Reported by Eric Blake.
67582
67583 2007-07-06  Eric Blake  <ebb9@byu.net>
67584
67585         Fix testing canonicalize on cygwin.
67586         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67587         Revert patch from 2007-06-19.
67588         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67589         canonicalize module is also in use.
67590         * tests/test-canonicalize.c: New file.
67591         * tests/test-canonicalize.sh: Likewise.
67592         * modules/canonicalize-tests: Likewise.
67593
67594 2007-07-06  Jim Meyering  <jim@meyering.net>
67595
67596         * lib/getugroups.c (getugroups): Detect getgrent failure.
67597         Adjust comment to reflect reality: this function may return -1.
67598
67599 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67600
67601         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67602         the new TP address.
67603         (usage): Fix typo
67604         (gnulib_mk): New variable.
67605
67606 2007-07-05  Jim Meyering  <jim@meyering.net>
67607
67608         Don't let endgrent clobber errno, no matter how improbable.
67609         * lib/getugroups.c (getugroups): Save and restore errno around
67610         endgrent call.
67611
67612         Close the group DB even when failing with 2^31 or more members.
67613         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67614
67615 2007-07-04  Jim Meyering  <jim@meyering.net>
67616
67617         * lib/getugroups.h: New file.
67618         * lib/getugroups.c: Include "getugroups.h".
67619         Remove uses of "register" keyword.
67620         Move local variable, "cp", down into scope where used.
67621         Give "username" parameter the "const" attribute.
67622         * modules/getugroups (Files): Add lib/getugroups.h
67623
67624 2007-07-04  Karl Berry  <karl@gnu.org>
67625
67626         * MODULES.html.sh (func_all_modules): Complete rename of
67627         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67628
67629 2007-07-02  Bruno Haible  <bruno@clisp.org>
67630
67631         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67632         mode, when inttypes.h comes from gnulib.
67633         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67634
67635 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67636
67637         * NEWS: Mention lgpl module name change.
67638
67639         * modules/lgpl-2.1: Renamed from lgpl.
67640
67641         * NEWS: Mention gpl module name change.
67642
67643         * modules/gpl-3.0: New file, based on gpl-2.0.
67644
67645         * modules/gpl-2.0: Renamed from gpl.
67646
67647         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67648         doc/gpl-2.0.texi.
67649
67650 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67651
67652         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67653         #define __STDC_LIMIT_MACROS temporarily while including
67654         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67655         Problem reported by Joel E. Denny in
67656         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67657
67658 2007-07-01  Bruno Haible  <bruno@clisp.org>
67659
67660         * lib/unistdio.h: New file.
67661         * lib/unistdio/u-asnprintf.h: New file.
67662         * lib/unistdio/u-asprintf.h: New file.
67663         * lib/unistdio/u-printf-args.c: New file.
67664         * lib/unistdio/u-printf-args.h: New file.
67665         * lib/unistdio/u-printf-parse.h: New file.
67666         * lib/unistdio/u-snprintf.h: New file.
67667         * lib/unistdio/u-sprintf.h: New file.
67668         * lib/unistdio/u-vasprintf.h: New file.
67669         * lib/unistdio/u-vsnprintf.h: New file.
67670         * lib/unistdio/u-vsprintf.h: New file.
67671         * lib/unistdio/ulc-asnprintf.c: New file.
67672         * lib/unistdio/ulc-asprintf.c: New file.
67673         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67674         * lib/unistdio/ulc-printf-parse.c: New file.
67675         * lib/unistdio/ulc-snprintf.c: New file.
67676         * lib/unistdio/ulc-sprintf.c: New file.
67677         * lib/unistdio/ulc-vasnprintf.c: New file.
67678         * lib/unistdio/ulc-vasprintf.c: New file.
67679         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67680         * lib/unistdio/ulc-vsnprintf.c: New file.
67681         * lib/unistdio/ulc-vsprintf.c: New file.
67682         * lib/unistdio/u8-asnprintf.c: New file.
67683         * lib/unistdio/u8-asprintf.c: New file.
67684         * lib/unistdio/u8-printf-parse.c: New file.
67685         * lib/unistdio/u8-snprintf.c: New file.
67686         * lib/unistdio/u8-sprintf.c: New file.
67687         * lib/unistdio/u8-vasnprintf.c: New file.
67688         * lib/unistdio/u8-vasprintf.c: New file.
67689         * lib/unistdio/u8-vsnprintf.c: New file.
67690         * lib/unistdio/u8-vsprintf.c: New file.
67691         * lib/unistdio/u8-u8-asnprintf.c: New file.
67692         * lib/unistdio/u8-u8-asprintf.c: New file.
67693         * lib/unistdio/u8-u8-snprintf.c: New file.
67694         * lib/unistdio/u8-u8-sprintf.c: New file.
67695         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67696         * lib/unistdio/u8-u8-vasprintf.c: New file.
67697         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67698         * lib/unistdio/u8-u8-vsprintf.c: New file.
67699         * lib/unistdio/u16-asnprintf.c: New file.
67700         * lib/unistdio/u16-asprintf.c: New file.
67701         * lib/unistdio/u16-printf-parse.c: New file.
67702         * lib/unistdio/u16-snprintf.c: New file.
67703         * lib/unistdio/u16-sprintf.c: New file.
67704         * lib/unistdio/u16-vasnprintf.c: New file.
67705         * lib/unistdio/u16-vasprintf.c: New file.
67706         * lib/unistdio/u16-vsnprintf.c: New file.
67707         * lib/unistdio/u16-vsprintf.c: New file.
67708         * lib/unistdio/u16-u16-asnprintf.c: New file.
67709         * lib/unistdio/u16-u16-asprintf.c: New file.
67710         * lib/unistdio/u16-u16-snprintf.c: New file.
67711         * lib/unistdio/u16-u16-sprintf.c: New file.
67712         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67713         * lib/unistdio/u16-u16-vasprintf.c: New file.
67714         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67715         * lib/unistdio/u16-u16-vsprintf.c: New file.
67716         * lib/unistdio/u32-asnprintf.c: New file.
67717         * lib/unistdio/u32-asprintf.c: New file.
67718         * lib/unistdio/u32-printf-parse.c: New file.
67719         * lib/unistdio/u32-snprintf.c: New file.
67720         * lib/unistdio/u32-sprintf.c: New file.
67721         * lib/unistdio/u32-vasnprintf.c: New file.
67722         * lib/unistdio/u32-vasprintf.c: New file.
67723         * lib/unistdio/u32-vsnprintf.c: New file.
67724         * lib/unistdio/u32-vsprintf.c: New file.
67725         * lib/unistdio/u32-u32-asnprintf.c: New file.
67726         * lib/unistdio/u32-u32-asprintf.c: New file.
67727         * lib/unistdio/u32-u32-snprintf.c: New file.
67728         * lib/unistdio/u32-u32-sprintf.c: New file.
67729         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67730         * lib/unistdio/u32-u32-vasprintf.c: New file.
67731         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67732         * lib/unistdio/u32-u32-vsprintf.c: New file.
67733         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67734         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67735         * tests/unistdio/test-ulc-printf1.h: New file.
67736         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67737         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67738         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67739         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67740         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67741         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67742         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67743         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67744         * tests/unistdio/test-u8-asnprintf1.c: New file.
67745         * tests/unistdio/test-u8-asnprintf1.h: New file.
67746         * tests/unistdio/test-u8-printf1.h: New file.
67747         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67748         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67749         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67750         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67751         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67752         * tests/unistdio/test-u8-vasprintf1.c: New file.
67753         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67754         * tests/unistdio/test-u8-vsprintf1.c: New file.
67755         * tests/unistdio/test-u16-asnprintf1.c: New file.
67756         * tests/unistdio/test-u16-asnprintf1.h: New file.
67757         * tests/unistdio/test-u16-printf1.h: New file.
67758         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67759         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67760         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67761         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67762         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67763         * tests/unistdio/test-u16-vasprintf1.c: New file.
67764         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67765         * tests/unistdio/test-u16-vsprintf1.c: New file.
67766         * tests/unistdio/test-u32-asnprintf1.c: New file.
67767         * tests/unistdio/test-u32-asnprintf1.h: New file.
67768         * tests/unistdio/test-u32-printf1.h: New file.
67769         * tests/unistdio/test-u32-vasnprintf1.c: New file.
67770         * tests/unistdio/test-u32-vasnprintf2.c: New file.
67771         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
67772         * tests/unistdio/test-u32-vasnprintf3.c: New file.
67773         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
67774         * tests/unistdio/test-u32-vasprintf1.c: New file.
67775         * tests/unistdio/test-u32-vsnprintf1.c: New file.
67776         * tests/unistdio/test-u32-vsprintf1.c: New file.
67777         * modules/unistdio/base: New file.
67778         * modules/unistdio/u-printf-args: New file.
67779         * modules/unistdio/ulc-asnprintf: New file.
67780         * modules/unistdio/ulc-asprintf: New file.
67781         * modules/unistdio/ulc-fprintf: New file.
67782         * modules/unistdio/ulc-printf-parse: New file.
67783         * modules/unistdio/ulc-snprintf: New file.
67784         * modules/unistdio/ulc-sprintf: New file.
67785         * modules/unistdio/ulc-vasnprintf: New file.
67786         * modules/unistdio/ulc-vasprintf: New file.
67787         * modules/unistdio/ulc-vfprintf: New file.
67788         * modules/unistdio/ulc-vsnprintf: New file.
67789         * modules/unistdio/ulc-vsprintf: New file.
67790         * modules/unistdio/u8-asnprintf: New file.
67791         * modules/unistdio/u8-asprintf: New file.
67792         * modules/unistdio/u8-printf-parse: New file.
67793         * modules/unistdio/u8-snprintf: New file.
67794         * modules/unistdio/u8-sprintf: New file.
67795         * modules/unistdio/u8-vasnprintf: New file.
67796         * modules/unistdio/u8-vasprintf: New file.
67797         * modules/unistdio/u8-vsnprintf: New file.
67798         * modules/unistdio/u8-vsprintf: New file.
67799         * modules/unistdio/u8-u8-asnprintf: New file.
67800         * modules/unistdio/u8-u8-asprintf: New file.
67801         * modules/unistdio/u8-u8-snprintf: New file.
67802         * modules/unistdio/u8-u8-sprintf: New file.
67803         * modules/unistdio/u8-u8-vasnprintf: New file.
67804         * modules/unistdio/u8-u8-vasprintf: New file.
67805         * modules/unistdio/u8-u8-vsnprintf: New file.
67806         * modules/unistdio/u8-u8-vsprintf: New file.
67807         * modules/unistdio/u16-asnprintf: New file.
67808         * modules/unistdio/u16-asprintf: New file.
67809         * modules/unistdio/u16-printf-parse: New file.
67810         * modules/unistdio/u16-snprintf: New file.
67811         * modules/unistdio/u16-sprintf: New file.
67812         * modules/unistdio/u16-vasnprintf: New file.
67813         * modules/unistdio/u16-vasprintf: New file.
67814         * modules/unistdio/u16-vsnprintf: New file.
67815         * modules/unistdio/u16-vsprintf: New file.
67816         * modules/unistdio/u16-u16-asnprintf: New file.
67817         * modules/unistdio/u16-u16-asprintf: New file.
67818         * modules/unistdio/u16-u16-snprintf: New file.
67819         * modules/unistdio/u16-u16-sprintf: New file.
67820         * modules/unistdio/u16-u16-vasnprintf: New file.
67821         * modules/unistdio/u16-u16-vasprintf: New file.
67822         * modules/unistdio/u16-u16-vsnprintf: New file.
67823         * modules/unistdio/u16-u16-vsprintf: New file.
67824         * modules/unistdio/u32-asnprintf: New file.
67825         * modules/unistdio/u32-asprintf: New file.
67826         * modules/unistdio/u32-printf-parse: New file.
67827         * modules/unistdio/u32-snprintf: New file.
67828         * modules/unistdio/u32-sprintf: New file.
67829         * modules/unistdio/u32-vasnprintf: New file.
67830         * modules/unistdio/u32-vasprintf: New file.
67831         * modules/unistdio/u32-vsnprintf: New file.
67832         * modules/unistdio/u32-vsprintf: New file.
67833         * modules/unistdio/u32-u32-asnprintf: New file.
67834         * modules/unistdio/u32-u32-asprintf: New file.
67835         * modules/unistdio/u32-u32-snprintf: New file.
67836         * modules/unistdio/u32-u32-sprintf: New file.
67837         * modules/unistdio/u32-u32-vasnprintf: New file.
67838         * modules/unistdio/u32-u32-vasprintf: New file.
67839         * modules/unistdio/u32-u32-vsnprintf: New file.
67840         * modules/unistdio/u32-u32-vsprintf: New file.
67841         * modules/unistdio/ulc-asnprintf-tests: New file.
67842         * modules/unistdio/ulc-vasnprintf-tests: New file.
67843         * modules/unistdio/ulc-vasprintf-tests: New file.
67844         * modules/unistdio/ulc-vsnprintf-tests: New file.
67845         * modules/unistdio/ulc-vsprintf-tests: New file.
67846         * modules/unistdio/u8-asnprintf-tests: New file.
67847         * modules/unistdio/u8-vasnprintf-tests: New file.
67848         * modules/unistdio/u8-vasprintf-tests: New file.
67849         * modules/unistdio/u8-vsnprintf-tests: New file.
67850         * modules/unistdio/u8-vsprintf-tests: New file.
67851         * modules/unistdio/u16-asnprintf-tests: New file.
67852         * modules/unistdio/u16-vasnprintf-tests: New file.
67853         * modules/unistdio/u16-vasprintf-tests: New file.
67854         * modules/unistdio/u16-vsnprintf-tests: New file.
67855         * modules/unistdio/u16-vsprintf-tests: New file.
67856         * modules/unistdio/u32-asnprintf-tests: New file.
67857         * modules/unistdio/u32-vasnprintf-tests: New file.
67858         * modules/unistdio/u32-vasprintf-tests: New file.
67859         * modules/unistdio/u32-vsnprintf-tests: New file.
67860         * modules/unistdio/u32-vsprintf-tests: New file.
67861         * MODULES.html.sh (Unicode string functions): Add the new modules.
67862
67863 2007-07-01  Bruno Haible  <bruno@clisp.org>
67864
67865         * lib/sprintf.c (sprintf): Limit the available length estimation,
67866         to avoid address wraparound.
67867         * lib/vsprintf.c (vsprintf): Likewise.
67868         * modules/sprintf-posix (Dependencies): Add stdint.
67869         * modules/vsprintf-posix (Dependencies): Likewise.
67870
67871 2007-07-01  Bruno Haible  <bruno@clisp.org>
67872
67873         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
67874         Windows PATH as well. Conservative double-quoting. Comments.
67875
67876 2007-07-01  Bruno Haible  <bruno@clisp.org>
67877             Eric Blake  <ebb9@byu.net>
67878             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67879
67880         * gnulib-tool (self_abspathname): Fix algorithm to cope with
67881         empty components in $PATH, denoting '.'.
67882
67883 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67884
67885         * gnulib-tool: Fix indentation.
67886         (func_create_megatestdir): Likewise.
67887         Report by Bruno Haible.
67888
67889 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67890
67891         Sync from Automake.
67892         * build-aux/gnupload: Fix shell portability issues with for loops.
67893         Report by Karl Berry.
67894
67895 2007-06-29  Simon Josefsson  <simon@josefsson.org>
67896
67897         * build-aux/maint.mk (POURL): Use translationproject.org.
67898
67899 2007-06-27  Simon Josefsson  <simon@josefsson.org>
67900             Bruno Haible  <bruno@clisp.org>
67901
67902         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
67903         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
67904         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
67905         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
67906         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
67907
67908 2007-06-27  Bruno Haible  <bruno@clisp.org>
67909
67910         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
67911         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
67912
67913 2007-06-26  Karl Berry  <karl@gnu.org>
67914
67915         * MODULES.html.sh: remove xreadlink-with-size.
67916
67917 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67918
67919         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
67920         method that I hope also handles the double-include problem noted
67921         by Bruno Haible in
67922         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
67923
67924 2007-06-23  Bruno Haible  <bruno@clisp.org>
67925
67926         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67927         Don't let the 'mostlyclean' target fail if the last subdirectory could
67928         not be removed.
67929         Reported by Karl Berry.
67930
67931 2007-06-23  Bruno Haible  <bruno@clisp.org>
67932
67933         * gnulib-tool (echo): Add a speedier workaround for ksh.
67934         * tests/test-echo.sh: Likewise.
67935
67936 2007-06-23  Bruno Haible  <bruno@clisp.org>
67937
67938         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67939         * tests/test-echo.sh: Likewise.
67940
67941 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67942
67943         * gnulib-tool (IFS): Initialize early, so we don't set it to
67944         empty later.
67945         (self_abspathname): Rewrite algorithm to set it, reindent.
67946         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
67947         (func_create_megatestdir): Merge some sed scripts.
67948
67949 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67950
67951         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
67952         exposed by Sun Studio 11 cc on Solaris 8.
67953
67954 2007-06-22  Bruno Haible  <bruno@clisp.org>
67955
67956         * gnulib-tool (echo): Ensure the echo primitive does not interpret
67957         backslashes.
67958         * tests/test-echo.sh: New file.
67959
67960 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67961
67962         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
67963         simplify `sed_replace_build_aux' scripts, they are portable but
67964         echoing them with `echo' is not.
67965         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
67966
67967 2007-06-21  Karl Berry  <karl@gnu.org>
67968
67969         * config/srclist.txt: guess we can't handle the licenses via
67970         srclist at the moment.
67971
67972 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67973
67974         * MODULES.html.sh: Add include_next.
67975         * modules/include_next: New file.
67976
67977 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67978
67979         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
67980         INCLUDE_NEXT.
67981         (gl_CHECK_NEXT_HEADERS): New macro.
67982         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
67983         the obsolescent gl_ABSOLUTE_HEADER.
67984         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
67985         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
67986         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
67987         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
67988         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
67989         * m4/math_h.m4 (gl_MATH_H): Likewise.
67990         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
67991         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67992         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
67993         * m4/stdint.m4 (gl_STDINT_H): Likewise.
67994         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
67995         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
67996         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
67997         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67998         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
67999         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68000         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68001         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68002         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68003         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68004         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68005         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68006         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68007         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68008         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68009         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68010         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68011         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68012         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68013         * lib/float_.h: Likewise.
68014         * lib/inttypes_.h: Likewise.
68015         * lib/math_.h: Likewise.
68016         * lib/search_.h: Likewise.
68017         * lib/signal_.h: Likewise.
68018         * lib/stdint_.h: Likewise.
68019         * lib/stdio_.h: Likewise.
68020         * lib/stdlib_.h: Likewise.
68021         * lib/string_.h: Likewise.
68022         * lib/sys_stat_.h: Likewise.
68023         * lib/sys_time_.h: Likewise.
68024         * lib/time_.h: Likewise.
68025         * lib/unistd_.h: Likewise.
68026         * lib/wchar_.h: Likewise.
68027         * lib/wctype_.h: Likewise.
68028         * lib/dirent_.h: Likewise.
68029         * lib/iconv_.h: Likewise.
68030         * lib/locale_.h: Likewise.
68031         * lib/netinet_in_.h: Likewise.
68032         * lib/sys_select_.h: Likewise.
68033         * lib/sys_socket_.h: Likewise.
68034         * lib/sysexits_.h: Likewise.
68035         * modules/fcntl (Depends-on): Depend on include_next, not
68036         absolute_header.
68037         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68038         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68039         * modules/fchdir: Likewise.
68040         * modules/float: Likewise.
68041         * modules/iconv_open: Likewise.
68042         * modules/inttypes: Likewise.
68043         * modules/locale: Likewise.
68044         * modules/math: Likewise.
68045         * modules/netinet_in: Likewise.
68046         * modules/search: Likewise.
68047         * modules/signal: Likewise.
68048         * modules/stdint: Likewise.
68049         * modules/stdio: Likewise.
68050         * modules/stdlib: Likewise.
68051         * modules/string: Likewise.
68052         * modules/sys_select: Likewise.
68053         * modules/sys_socket: Likewise.
68054         * modules/sys_stat: Likewise.
68055         * modules/sys_time: Likewise.
68056         * modules/sysexits: Likewise.
68057         * modules/time: Likewise.
68058         * modules/unistd: Likewise.
68059         * modules/wchar: Likewise.
68060         * modules/wctype: Likewise.
68061         * modules/sys_stat: Change maintainer to "all".
68062         * modules/unistd: Likewise.
68063
68064 2007-06-20  Karl Berry  <karl@gnu.org>
68065
68066         * config/srclist.txt: track www changes in license files.
68067
68068 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68069
68070         * build-aux/bootstrap: Remove stray dot.
68071         Make sure build_aux settings are honored when linking
68072         gnulib_extra_files.
68073
68074 2007-06-19  Eric Blake  <ebb9@byu.net>
68075
68076         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68077         Allow compilation on cygwin.
68078
68079 2007-06-19  Jim Meyering  <jim@meyering.net>
68080
68081         xreadlink-with-size: Remove module.  No longer used.
68082         Ex-callers now use xreadlink or mreadlink-with-size.
68083         * modules/xreadlink-with-size: Remove module.
68084         * lib/xreadlink-with-size.c: Remove file.
68085         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68086         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68087         just before the function definition *is* accurate.
68088
68089         Eliminate one way canonicalize_filename_mode could exit.
68090         * lib/canonicalize.c (canonicalize_filename_mode):
68091         Use mreadlink_with_size, not xreadlink_with_size.
68092
68093 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68094
68095         Detect porting problems to FreeBSD/arm, which has time_t wider than
68096         long int.  Original problem reported for GNU diff by Xin Li in
68097         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68098         * modules/getdate (Depends-on): Add intprops, verify.
68099         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68100         is an integer type no wider than long int.
68101
68102 2007-06-18  Jim Meyering  <jim@meyering.net>
68103
68104         New module: mreadlink-with-size.
68105         * MODULES.html.sh: Add mreadlink-with-size.
68106         * modules/mreadlink-with-size: New module
68107         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68108         not xreadlink-with-size.
68109         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68110
68111 2007-06-16  Bruno Haible  <bruno@clisp.org>
68112
68113         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68114         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68115         Reported by Gary V. Vaughan <gary@gnu.org>.
68116
68117 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         Revamp lchown so that it lives in unistd.h where it belongs.
68120         * lib/lchown.h: Remove.
68121         * lib/dirchownmod.c: Don't include lib/lchown.h.
68122         * lib/fchownat.c: Likewise.
68123         * lib/openat.c: Likewise.
68124         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68125         does not follow symlinks.
68126         (EOPNOTSUPP): Define if not defined.
68127         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68128         is defined to 0.
68129         (lchown): New decl.
68130         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68131         Do not check for lchown decl.
68132         Set REPLACE_LCHOWN.
68133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68134         REPLACE_LCHOWN.
68135         * modules/chown: Make it clear it follows symlinks.
68136         * modules/lchown: Make it clear it doesn't follow symlinks.
68137         (Files): Remove lib/lchown.h
68138         (Depends-on): Add unistd.
68139         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68140         (Include): Include <unistd.h>, not "lchown.h".
68141         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68142         REPLACE_LCHOWN.
68143
68144 2007-06-15  Jim Meyering  <jim@meyering.net>
68145
68146         Change license (GPL to LGPL) of fsusage and dependents.
68147         * modules/fsusage (License): Change to LGPL.
68148         * modules/full-read (License): Likewise.
68149         * modules/full-write (License): Likewise.
68150         * modules/safe-read (License): Likewise.
68151         * modules/safe-write (License): Likewise.
68152
68153 2007-06-14  Ben Pfaff  <blp@gnu.org>
68154
68155         Missing part of allocsa -> malloca transition.
68156         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68157         gl_MALLOCA.
68158
68159 2007-06-12  Bruno Haible  <bruno@clisp.org>
68160
68161         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68162         to ia64, x86_64, i386.
68163         Reported by Eric Blake.
68164
68165 2007-06-12  Bruno Haible  <bruno@clisp.org>
68166
68167         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68168         cross-compiling to x86_64.
68169
68170 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68171
68172         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68173         glitch reported by Ralf Wildenhues in
68174         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68175
68176         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68177         Vin Shelton.
68178
68179 2007-06-11  Bruno Haible  <bruno@clisp.org>
68180
68181         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68182         replacement string.
68183         Reported by Eric Blake.
68184
68185 2007-06-10  Bruno Haible  <bruno@clisp.org>
68186
68187         Prepare vasnprintf code for use with Unicode strings.
68188         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68189         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68190         TYPE_U32_STRING.
68191         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68192         a_u32_string variants.
68193         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68194         * lib/printf-args.c: Don't include config.h and the specification
68195         header if PRINTF_FETCHARGS is already defined.
68196         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68197         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68198         TYPE_U16_STRING, TYPE_U32_STRING.
68199         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68200         u16_directive, u16_directives, u32_directive, u32_directives): New
68201         types.
68202         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68203         New declarations.
68204         * lib/printf-parse.c: Don't include config.h and the specification
68205         header if PRINTF_PARSE is already defined. Eliminate the set of
68206         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68207         them now. Include c-ctype.h.
68208         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68209         directive and CHAR_T_ONLY_ASCII.
68210         * lib/vasnprintf.c: Don't include config.h and the specification header
68211         if VASNPRINTF is already defined.
68212         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68213         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68214         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68215         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68216         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68217         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68218         code accordingly.
68219         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68220         pad_ourselves also in this case, with the 'c' and 's' directives, and
68221         with a different notion of "width".
68222         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68223
68224 2007-06-10  Bruno Haible  <bruno@clisp.org>
68225
68226         * modules/unistr/u32-mbsnlen: New file.
68227         * lib/unistr/u32-mbsnlen.c: New file.
68228
68229         * modules/unistr/u16-mbsnlen: New file.
68230         * lib/unistr/u16-mbsnlen.c: New file.
68231
68232         * modules/unistr/u8-mbsnlen: New file.
68233         * lib/unistr/u8-mbsnlen.c: New file.
68234
68235         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68236         declarations.
68237
68238 2007-06-10  Bruno Haible  <bruno@clisp.org>
68239
68240         * lib/string_.h (mbsnlen): New declaration.
68241         * lib/mbsnlen.c: New file.
68242         * m4/mbsnlen.m4: New file.
68243         * modules/mbsnlen: New file.
68244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68245         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68246         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68247
68248 2007-06-10  Bruno Haible  <bruno@clisp.org>
68249
68250         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68251
68252 2007-06-10  Bruno Haible  <bruno@clisp.org>
68253
68254         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68255         * lib/mbuiter.h: Likewise.
68256
68257 2007-06-10  Bruno Haible  <bruno@clisp.org>
68258
68259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68260         declaration.
68261
68262 2007-06-10  Karl Berry  <karl@gnu.org>
68263
68264         * config/srclist.txt: remove gettext entries, Bruno prefers
68265         to update individually.
68266
68267 2007-06-10  Bruno Haible  <bruno@clisp.org>
68268
68269         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68270         'maxlen'. Ensure only length + width bytes are allocated, not
68271         length + 1 + width.
68272
68273 2007-06-09  Bruno Haible  <bruno@clisp.org>
68274
68275         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68276         (CHAR_T): Remove macro.
68277         (VASNPRINTF): Update.
68278
68279 2007-06-09  Bruno Haible  <bruno@clisp.org>
68280
68281         * MODULES.html.sh (Unicode string functions): Add the new modules.
68282
68283         * modules/uniconv/u32-conv-to-enc: New file.
68284         * lib/uniconv/u32-conv-to-enc.c: New file.
68285         * modules/uniconv/u32-conv-to-enc-tests: New file.
68286         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68287
68288         * modules/uniconv/u16-conv-to-enc: New file.
68289         * lib/uniconv/u16-conv-to-enc.c: New file.
68290         * lib/uniconv/u-conv-to-enc.h: New file.
68291         * modules/uniconv/u16-conv-to-enc-tests: New file.
68292         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68293
68294         * modules/uniconv/u8-conv-to-enc: New file.
68295         * lib/uniconv/u8-conv-to-enc.c: New file.
68296         * modules/uniconv/u8-conv-to-enc-tests: New file.
68297         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68298
68299         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68300         u32_conv_to_encoding): New declarations.
68301
68302 2007-06-09  Bruno Haible  <bruno@clisp.org>
68303
68304         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68305
68306 2007-06-09  Bruno Haible  <bruno@clisp.org>
68307
68308         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68309         * modules/malloca: Renamed from modules/allocsa, updated.
68310         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68311         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68312         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68313         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68314         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68315         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68316         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68317         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68318         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68319         * modules/c-strcasestr (Depends-on): Update.
68320         * lib/c-strcasestr.c: Update.
68321         * modules/c-strstr (Depends-on): Update.
68322         * lib/c-strstr.c: Update.
68323         * modules/canonicalize-lgpl (Depends-on): Update.
68324         * lib/canonicalize-lgpl.c: Update.
68325         * modules/clean-temp (Depends-on): Update.
68326         * lib/clean-temp.c: Update.
68327         * modules/csharpcomp (Depends-on): Update.
68328         * lib/csharpcomp.c: Update.
68329         * modules/csharpexec (Depends-on): Update.
68330         * lib/csharpexec.c: Update.
68331         * modules/javacomp (Depends-on): Update.
68332         * lib/javacomp.c: Update.
68333         * modules/javaexec (Depends-on): Update.
68334         * lib/javaexec.c: Update.
68335         * modules/mbscasestr (Depends-on): Update.
68336         * lib/mbscasestr.c: Update.
68337         * modules/mbsstr (Depends-on): Update.
68338         * lib/mbsstr.c: Update.
68339         * modules/setenv (Depends-on): Update.
68340         * lib/setenv.c: Update.
68341         * modules/strcasestr (Depends-on): Update.
68342         * lib/strcasestr.c: Update.
68343         * modules/striconveha (Depends-on): Update.
68344         * lib/striconveha.c: Update.
68345         * modules/relocatable-prog-wrapper (Files): Update.
68346         * lib/relocwrapper.c: Update.
68347         * build-aux/install-reloc: Update.
68348         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68349
68350 2007-06-08  Bruno Haible  <bruno@clisp.org>
68351
68352         Port to uClibc.
68353         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68354         * lib/fpurge.c (fpurge): Likewise.
68355         * lib/freading.c (freading): Likewise.
68356         * lib/fseeko.c (rpl_fseeko): Likewise.
68357         * lib/fseterr.c (fseterr): Likewise.
68358         * lib/fwriting.c (fwriting): Likewise.
68359         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68360
68361 2007-06-08  Bruno Haible  <bruno@clisp.org>
68362
68363         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68364         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68365         * modules/gettext (Files): Add m4/intlmacosx.m4.
68366
68367 2007-06-07  Bruno Haible  <bruno@clisp.org>
68368
68369         * modules/localename-tests: New file.
68370         * tests/test-localename.c: New file.
68371
68372         New module 'localename'.
68373         * lib/localename.h: New file.
68374         * lib/localename.c: New file, from GNU gettext.
68375         * m4/localename.m4: New file.
68376         * modules/localename: New file.
68377
68378 2007-06-07  Bruno Haible  <bruno@clisp.org>
68379
68380         Work around the lack of <wchar.h> on some builds of uClibc.
68381         * doc/headers/wchar.texi: Update.
68382         * lib/wchar_.h: Include <wchar.h> only if it exists.
68383         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68384         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68385         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68386         doesn't exist.
68387         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68388         * modules/mbfile (Depends-on): Add wchar.
68389         * modules/mbiter (Depends-on): Likewise.
68390         * modules/mbuiter (Depends-on): Likewise.
68391         Reported by Simon Josefsson.
68392
68393 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68394
68395         Work around problem reported by Steven M. Schweda in
68396         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68397         Tru64 5.1B with the Compaq compiler environment installed declares
68398         an 'isblank' function but does not define it in the C library.
68399         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68400         * lib/regex_internal.h (isblank): Likewise.
68401         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68402         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68403
68404 2007-06-05  Bruno Haible  <bruno@clisp.org>
68405
68406         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68407         ia64.
68408         * modules/printf-safe: New file.
68409         * modules/fprintf-posix (Depends-on): Add printf-safe.
68410         * modules/printf-posix (Depends-on): Likewise.
68411         * modules/snprintf-posix (Depends-on): Likewise.
68412         * modules/sprintf-posix (Depends-on): Likewise.
68413         * modules/vasnprintf-posix (Depends-on): Likewise.
68414         * modules/vasprintf-posix (Depends-on): Likewise.
68415         * modules/vfprintf-posix (Depends-on): Likewise.
68416         * modules/vprintf-posix (Depends-on): Likewise.
68417         * modules/vsnprintf-posix (Depends-on): Likewise.
68418         * modules/vsprintf-posix (Depends-on): Likewise.
68419         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68420         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68421         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68422         "no" on i386, x86_64, ia64.
68423         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68424         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68425         on i386, x86_64, ia64.
68426         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68427         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68428         on i386, x86_64, ia64.
68429         * tests/test-vasnprintf-posix.c: Include float.h.
68430         (LDBL80_WORDS): New macro.
68431         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68432         on i386, x86_64, ia64.
68433         * tests/test-vasprintf-posix.c: Include float.h.
68434         (LDBL80_WORDS): New macro.
68435         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68436         on i386, x86_64, ia64.
68437         * tests/test-snprintf-posix.c: Include float.h.
68438         * tests/test-sprintf-posix.c: Likewise.
68439         * tests/test-vsnprintf-posix.c: Likewise.
68440         * tests/test-vsprintf-posix.c: Likewise.
68441
68442 2007-06-05  Bruno Haible  <bruno@clisp.org>
68443
68444         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68445         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68446         non-IEEE numbers on i386, x86_64, ia64.
68447         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68448         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68449         * tests/test-isnanl.h: Include float.h.
68450         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68451
68452 2007-06-05  Bruno Haible  <bruno@clisp.org>
68453
68454         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68455         also the %a / %A. Handle the %a / %A code before this extra handling.
68456
68457 2007-06-05  Bruno Haible  <bruno@clisp.org>
68458
68459         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68460         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68461
68462 2007-06-05  Bruno Haible  <bruno@clisp.org>
68463
68464         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68465         typo in variable name.
68466
68467 2007-06-05  Eric Blake  <ebb9@byu.net>
68468
68469         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68470         Reported by Simon Josefsson.
68471
68472 2007-06-04  Bruno Haible  <bruno@clisp.org>
68473
68474         Avoid test failures on some PowerPC platforms.
68475         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68476         Define differently for PowerPC.
68477         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68478         Reported by Gary V. Vaughan <gary@gnu.org>.
68479
68480 2007-06-02  Bruno Haible  <bruno@clisp.org>
68481
68482         Fix test-stdint failure on FreeBSD/ia64.
68483         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68484         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68485         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68486         * doc/headers/stdint.texi: Update.
68487
68488 2007-06-01  Bruno Haible  <bruno@clisp.org>
68489
68490         * tests/test-binary-io.c (main): Pass a third argument to open().
68491         Reported by Gary V. Vaughan <gary@gnu.org>.
68492
68493 2007-06-01  Bruno Haible  <bruno@clisp.org>
68494
68495         * doc/functions/frexpl.texi: Update for mingw.
68496
68497 2007-06-01  Bruno Haible  <bruno@clisp.org>
68498
68499         * tests/test-lseek.c (main): Disable test of errno for invalid third
68500         argument.
68501         * doc/functions/lseek.texi: Update.
68502         Reported by Gary V. Vaughan <gary@gnu.org>.
68503
68504 2007-05-28  Bruno Haible  <bruno@clisp.org>
68505
68506         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68507
68508 2007-05-31  Eric Blake  <ebb9@byu.net>
68509
68510         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68511         cross compiling.
68512
68513 2007-05-30  Eric Blake  <ebb9@byu.net>
68514         and Bruno Haible  <bruno@clisp.org>
68515
68516         Work around mingw test failures exposed by m4-1.4.9b.
68517         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68518         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68519         moment.
68520
68521 2007-05-30  Bruno Haible  <bruno@clisp.org>
68522
68523         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68524         assuming that they are closed. Needed on HP-UX 11.
68525
68526 2007-05-29  Bruno Haible  <bruno@clisp.org>
68527
68528         Fix a problem with #include_next.
68529         * lib/dirent_.h: Split the double-inclusion guard.
68530         * lib/fcntl_.h: Likewise.
68531         * lib/float_.h: Likewise.
68532         * lib/iconv_.h: Likewise.
68533         * lib/inttypes_.h: Likewise.
68534         * lib/locale_.h: Likewise.
68535         * lib/math_.h: Likewise.
68536         * lib/netinet_in_.h: Likewise.
68537         * lib/search_.h: Likewise.
68538         * lib/signal_.h: Likewise.
68539         * lib/stdint_.h: Likewise.
68540         * lib/stdio_.h: Likewise.
68541         * lib/stdlib_.h: Likewise.
68542         * lib/string_.h: Likewise.
68543         * lib/sys_select_.h: Likewise.
68544         * lib/sys_socket_.h: Likewise.
68545         * lib/sys_stat_.h: Likewise.
68546         * lib/sys_time_.h: Likewise.
68547         * lib/sysexits_.h: Likewise.
68548         * lib/time_.h: Likewise.
68549         * lib/unistd_.h: Likewise.
68550         * lib/wchar_.h: Likewise.
68551         * lib/wctype_.h: Likewise.
68552
68553 2007-05-29  Bruno Haible  <bruno@clisp.org>
68554
68555         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68556         for the moment.
68557
68558 2007-05-29  Bruno Haible  <bruno@clisp.org>
68559
68560         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68561         invocation.
68562         Reported by Eric Blake.
68563
68564 2007-05-29  Bruno Haible  <bruno@clisp.org>
68565
68566         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68567         compiling case.
68568
68569 2007-05-29  Eric Blake  <ebb9@byu.net>
68570             Bruno Haible  <bruno@clisp.org>
68571
68572         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68573         cross compiles.
68574
68575 2007-05-28  Eric Blake  <ebb9@byu.net>
68576
68577         * modules/closein-tests (test_closein_LDADD): Support test on
68578         cygwin with libtool.
68579
68580 2007-05-28  Bruno Haible  <bruno@clisp.org>
68581
68582         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68583         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68584         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68585         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68586         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68587         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68588         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68589         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68590         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68591
68592 2007-05-28  Eric Blake  <ebb9@byu.net>
68593
68594         Unconditionally include <config.h> in unit tests.
68595         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68596         * tests/test-allocsa.c, tests/test-arcfour.c,
68597         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68598         tests/test-array_list.c, tests/test-array_oset.c,
68599         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68600         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68601         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68602         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68603         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68604         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68605         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68606         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68607         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68608         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68609         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68610         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68611         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68612         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68613         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68614         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68615         test-md5.c, test-memmem.c, test-printf-posix.c,
68616         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68617         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68618         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68619         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68620         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68621         test-vasnprintf-posix2.c, test-vasnprintf.c,
68622         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68623         test-vfprintf-posix.c, test-vprintf-posix.c,
68624         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68625         test-xvasprintf.c: Likewise.
68626
68627 2007-05-28  Bruno Haible  <bruno@clisp.org>
68628
68629         * gnulib-tool (func_import): Remember the --with-tests command-line
68630         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68631         Reported by Eric Blake.
68632
68633 2007-05-28  Bruno Haible  <bruno@clisp.org>
68634
68635         * modules/ftell-tests: New file.
68636         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68637         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68638
68639         * lib/ftell.c: New file.
68640         * modules/ftell: New file.
68641         * m4/ftell.m4: New file.
68642         * doc/functions/ftell.texi: Update.
68643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68644         REPLACE_FTELL.
68645         * lib/stdio_.h (rpl_ftell): New declaration.
68646         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68647         REPLACE_FTELL.
68648
68649 2007-05-28  Eric Blake  <ebb9@byu.net>
68650
68651         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68652
68653 2007-05-28  Bruno Haible  <bruno@clisp.org>
68654
68655         * modules/fseek-tests: New file.
68656         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68657         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68658
68659         * lib/fseek.c: New file.
68660         * modules/fseek: New file.
68661         * m4/fseek.m4: New file.
68662         * doc/functions/fseek.texi: Update.
68663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68664         REPLACE_FSEEK.
68665         * lib/stdio_.h (rpl_fseek): New declaration.
68666         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68667         REPLACE_FSEEK.
68668
68669 2007-05-28  Bruno Haible  <bruno@clisp.org>
68670
68671         * lib/stdio_.h (fflush): More comments.
68672
68673 2007-05-28  Bruno Haible  <bruno@clisp.org>
68674
68675         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68676         runtime test.
68677
68678 2007-05-28  Eric Blake  <ebb9@byu.net>
68679
68680         Improve lseek module.
68681         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68682         * lib/unistd_.h (lseek): Scale back link warning message.
68683         * tests/test-lseek.c: Beef up test.
68684         * tests/test-lseek.sh: Exercise more facets of lseek.
68685         Reported by Bruno Haible.
68686
68687 2007-05-28  Bruno Haible  <bruno@clisp.org>
68688
68689         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68690         to define.
68691
68692 2007-05-27  Bruno Haible  <bruno@clisp.org>
68693
68694         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68695
68696 2007-05-27  Bruno Haible  <bruno@clisp.org>
68697
68698         * modules/openmp: New file.
68699         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68700         Noah Misch.
68701
68702 2007-05-26  Bruno Haible  <bruno@clisp.org>
68703
68704         * modules/chdir-long (Depends-on): Add fchdir.
68705         * modules/chdir-safer (Depends-on): Likewise.
68706         * modules/fts (Depends-on): Likewise.
68707         * modules/fts-lgpl (Depends-on): Likewise.
68708         * modules/openat (Depends-on): Likewise.
68709         * modules/savewd (Depends-on): Likewise.
68710
68711 2007-05-24  Eric Blake  <ebb9@byu.net>
68712
68713         Fix lseek on mingw.
68714         * modules/lseek: New module.
68715         * m4/lseek.m4: New file.
68716         * lib/lseek.c: New file.
68717         * modules/lseek-tests: New file.
68718         * tests/test-lseek.c: New file.
68719         * tests/test-lseek.sh: New file.
68720         * MODULES.html.sh: Document lseek module.
68721         * modules/fflush (Depends-on): Add lseek, fseeko.
68722         * modules/fseeko (Depends-on): Likewise.
68723         * modules/ftello (Depends-on): Likewise.
68724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68725         broken.
68726         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68727         broken.
68728         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68729         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68730         * lib/ftello.c (rpl_ftello): Likewise.
68731         * tests/test-fseeko.c (main): Test this.
68732         * tests/test-fseeko.sh: Likewise.
68733         * tests/test-ftello.c (main): Likewise.
68734         * tests/test-ftello.sh: Likewise.
68735         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68736         implies replacing fseek.
68737         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68738         HAVE_FTELLO.
68739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68740         * modules/unistd (Makefile.am): Likewise.
68741         * lib/unistd_.h (lseek): Declare a replacement.
68742         * doc/functions/lseek.texi (lseek): Document this fix.
68743         * doc/functions/fseek.texi (fseek): Likewise.
68744         * doc/functions/ftell.texi (ftell): Likewise.
68745
68746 2007-05-24  Bruno Haible  <bruno@clisp.org>
68747
68748         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68749         in the printed representation of a NaN.
68750         * tests/test-vasprintf-posix.c (test_function): Likewise.
68751         * tests/test-snprintf-posix.h (test_function): Likewise.
68752         * tests/test-sprintf-posix.h (test_function): Likewise.
68753         Reported by Eric Blake.
68754
68755 2007-05-23  Eric Blake  <ebb9@byu.net>
68756
68757         Fix fseeko/ftello on cygwin 1.5.24.
68758         * doc/functions/fseeko.texi (fseeko): Document the fix.
68759         * doc/functions/ftello.texi (ftello): Document the fix.
68760         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68761         * doc/functions/stdout.text (stdout): New file.
68762         * doc/functions/stderr.text (stderr): New file.
68763         * doc/gnulib.texi (Function Substitutes): Use new files.
68764         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68765         prior to 1.7.0.
68766         * tests/test-ftello.c (main): Likewise for ftello.
68767         * tests/test-fseeko.sh: New file.
68768         * tests/test-ftello.sh: New file.
68769         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
68770         with seekable stdin.
68771         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
68772         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
68773         (gl_REPLACE_FSEEKO): New macro.
68774         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
68775         * modules/fseeko (Files): Distribute fseeko.c.
68776         * modules/ftello (Files): Distribute ftello.c.
68777         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
68778         mode.
68779         * lib/ftello.c (rpl_ftello): New file.
68780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
68781         fseeko, ftello.
68782         (gl_STDIN_LARGE_OFFSET): New macro.
68783         * modules/stdio (Makefile.am): Perform the replacement.
68784         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
68785
68786 2007-05-23  Bruno Haible  <bruno@clisp.org>
68787
68788         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
68789         GNULIB_POSIXCHECK is defined.
68790
68791 2007-05-21  Bruno Haible  <bruno@clisp.org>
68792
68793         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
68794         Check also the output for NaN arguments. When cross-compiling, guess
68795         no on IRIX.
68796         * lib/vasnprintf.c: Update comments.
68797         * tests/test-vasnprintf-posix.c (strisnan): New function.
68798         (test_function): Use it.
68799         * tests/test-vasprintf-posix.c (strisnan): New function.
68800         (test_function): Use it.
68801         * tests/test-snprintf-posix.h (strisnan): New function.
68802         (test_function): Use it.
68803         * tests/test-sprintf-posix.h (strisnan): New function.
68804         (test_function): Use it.
68805         Reported by Eric Blake.
68806
68807 2007-05-20  Bruno Haible  <bruno@clisp.org>
68808
68809         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
68810         numbers that fails on BeOS.
68811         * doc/functions/frexpl.texi: Update.
68812
68813 2007-05-20  Jim Meyering  <jim@meyering.net>
68814
68815         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
68816         forced upon us by glibc-2.6.
68817
68818 2007-05-20  Bruno Haible  <bruno@clisp.org>
68819
68820         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
68821         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
68822         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
68823         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
68824         NEED_PRINTF_INFINITE.
68825         (is_infinitel): New function.
68826         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
68827         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
68828         gl_PREREQ_VASNPRINTF_INFINITE.
68829         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
68830         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68831         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
68832         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
68833         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
68834         gl_PREREQ_VASNPRINTF_INFINITE.
68835         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68836         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68837         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68839         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68840         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68841         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68842         * doc/functions/fprintf.texi: Update.
68843         * doc/functions/printf.texi: Update.
68844         * doc/functions/snprintf.texi: Update.
68845         * doc/functions/sprintf.texi: Update.
68846         * doc/functions/vfprintf.texi: Update.
68847         * doc/functions/vprintf.texi: Update.
68848         * doc/functions/vsnprintf.texi: Update.
68849         * doc/functions/vsprintf.texi: Update.
68850
68851 2007-05-20  Bruno Haible  <bruno@clisp.org>
68852
68853         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
68854         was not found in libc.
68855         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
68856
68857 2007-05-20  Bruno Haible  <bruno@clisp.org>
68858
68859         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68860         printed as "-nan" instead of "nan".
68861         * tests/test-vasprintf-posix.c (test_function): Likewise.
68862         * tests/test-snprintf-posix.h (test_function): Likewise.
68863         * tests/test-sprintf-posix.h (test_function): Likewise.
68864         Needed for HP-UX 11.
68865
68866 2007-05-20  Jim Meyering  <jim@meyering.net>
68867
68868         Fix buggy test for the fchownat-deref bug.
68869         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
68870         symlink required for the run-test.  Without it, this test would
68871         always declare that fchownat doesn't work, and client code would
68872         unnecessarily use the replacement function with fixed libc.
68873         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
68874         Reported by Greg Schafer.
68875
68876 2007-05-19  Bruno Haible  <bruno@clisp.org>
68877
68878         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
68879         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
68880         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
68881         Needed for IRIX 6.5 and Solaris 2.5.1.
68882
68883 2007-05-19  Bruno Haible  <bruno@clisp.org>
68884
68885         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
68886         (test_function): Skip tests involving -0.0 on platforms where
68887         -0.0 = 0.0.
68888         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
68889         (test_function): Skip tests involving -0.0 on platforms where
68890         -0.0 = 0.0.
68891         * tests/test-snprintf-posix.h (have_minus_zero): New function.
68892         (test_function): Skip tests involving -0.0 on platforms where
68893         -0.0 = 0.0.
68894         * tests/test-sprintf-posix.h (have_minus_zero): New function.
68895         (test_function): Skip tests involving -0.0 on platforms where
68896         -0.0 = 0.0.
68897         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
68898         tests.
68899         * tests/test-printf-posix.h (test_function): Likewise.
68900         * tests/test-printf-posix.output: Remove all -0.0 related results.
68901         Needed for IRIX 6.5.
68902
68903 2007-05-19  Bruno Haible  <bruno@clisp.org>
68904
68905         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68906         printed as "nan0x7fffffff" instead of "nan".
68907         * tests/test-vasprintf-posix.c (test_function): Likewise.
68908         * tests/test-snprintf-posix.h (test_function): Likewise.
68909         * tests/test-sprintf-posix.h (test_function): Likewise.
68910         * tests/test-fprintf-posix.h (NaN): Remove macro.
68911         (test_function): Remove all NaN related tests.
68912         * tests/test-printf-posix.h (NaN): Remove macro.
68913         (test_function): Remove all NaN related tests.
68914         * tests/test-printf-posix.output: Remove all NaN related results.
68915         Needed for IRIX 6.5.
68916
68917 2007-05-19  Bruno Haible  <bruno@clisp.org>
68918
68919         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
68920         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
68921
68922 2007-05-19  Bruno Haible  <bruno@clisp.org>
68923
68924         * lib/float_.h: New file.
68925         * m4/float_h.m4: New file.
68926         * modules/float: New file.
68927         * modules/isnanl (Dependencies): Add float.
68928         * modules/isnanl-nolibm (Dependencies): Likewise.
68929         * modules/mathl (Dependencies): Likewise.
68930         * modules/printf-frexpl (Dependencies): Likewise.
68931         * modules/signbit (Dependencies): Likewise.
68932         * modules/vasnprintf (Dependencies): Likewise.
68933         * doc/headers/float.texi: Update.
68934
68935 2007-05-19  Jim Meyering  <jim@meyering.net>
68936
68937         * lib/utimens.c (gl_futimens): Rename from futimens,
68938         now that glibc-2.6 declares futimens.
68939         * lib/utimens.h: Likewise.
68940
68941 2007-05-19  Bruno Haible  <bruno@clisp.org>
68942
68943         Avoid test failures on mingw.
68944         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
68945         * tests/test-printf-posix.sh: Likewise.
68946         * tests/test-vfprintf-posix.sh: Likewise.
68947         * tests/test-vprintf-posix.sh: Likewise.
68948
68949 2007-05-19  Bruno Haible  <bruno@clisp.org>
68950
68951         Fix *printf result for NaN, Inf, -0.0 on mingw.
68952         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
68953         * lib/vasnprintf.c: Include math.h and isnan.h.
68954         (is_infinite_or_zero): New function.
68955         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
68956         values in the %f, %F, %e, %E, %g, %G directives.
68957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
68958         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68959         gl_PRINTF_INFINITE and test its result. Invoke
68960         gl_PREREQ_VASNPRINTF_INFINITE.
68961         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68962         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68963         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68964         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68965         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68966         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68967         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68968         * doc/functions/fprintf.texi: Update.
68969         * doc/functions/printf.texi: Update.
68970         * doc/functions/snprintf.texi: Update.
68971         * doc/functions/sprintf.texi: Update.
68972         * doc/functions/vfprintf.texi: Update.
68973         * doc/functions/vprintf.texi: Update.
68974         * doc/functions/vsnprintf.texi: Update.
68975         * doc/functions/vsprintf.texi: Update.
68976
68977 2007-05-19  Bruno Haible  <bruno@clisp.org>
68978
68979         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
68980         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
68981         Instead of multiplying with 10^k, set extra_zeroes to k.
68982         (scale10_round_long_double): Remove function.
68983
68984 2007-05-18  Bruno Haible  <bruno@clisp.org>
68985
68986         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
68987         introduced on 2007-05-06.
68988
68989 2007-05-18  Bruno Haible  <bruno@clisp.org>
68990
68991         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
68992         %g directives.
68993         * tests/test-vasprintf-posix.c (test_function): Likewise.
68994         * tests/test-snprintf-posix.h (test_function): Likewise.
68995         * tests/test-sprintf-posix.h (test_function): Likewise.
68996
68997 2007-05-18  Bruno Haible  <bruno@clisp.org>
68998
68999         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69000         (strmatch): New function.
69001         (test_function): Test the %f directive on numbers of various exponents.
69002         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69003         (strmatch): New function.
69004         (test_function): Test the %f directive on numbers of various exponents.
69005         * tests/test-snprintf-posix.h (strmatch): New function.
69006         (test_function): Test the %f directive on numbers of various exponents.
69007         * tests/test-sprintf-posix.h (strmatch): New function.
69008         (test_function): Test the %f directive on numbers of various exponents.
69009         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69010         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69011         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69012         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69013
69014 2007-05-18  Bruno Haible  <bruno@clisp.org>
69015
69016         Add support for 'long double' number output.
69017         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69018         * lib/vasnprintf.c: Include math.h and float+.h.
69019         (mp_limb_t): New type.
69020         (GMP_LIMB_BITS): New macro.
69021         (mp_twolimb_t): New type.
69022         (GMP_TWOLIMB_BITS): New macro.
69023         (mpn_t): New type.
69024         (multiply, divide, convert_to_decimal, decode_long_double,
69025         scale10_round_long_double, scale10_round_decimal_long_double,
69026         floorlog10l): New functions.
69027         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69028         for the %f, %F, %e, %E, %g, %G directives.
69029         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69030         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69031         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69032         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69033         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69034         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69035         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69036         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69037         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69038         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69039         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69040         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69041         * modules/snprintf-posix (Depends-on): Likewise.
69042         * modules/sprintf-posix (Depends-on): Likewise.
69043         * modules/vasnprintf-posix (Depends-on): Likewise.
69044         * modules/vasprintf-posix (Depends-on): Likewise.
69045         * modules/vfprintf-posix (Depends-on): Likewise.
69046         * modules/vsnprintf-posix (Depends-on): Likewise.
69047         * modules/vsprintf-posix (Depends-on): Likewise.
69048         * modules/vasnprintf (Files): Add lib/float+.h.
69049         * doc/functions/fprintf.texi: Update.
69050         * doc/functions/printf.texi: Update.
69051         * doc/functions/snprintf.texi: Update.
69052         * doc/functions/sprintf.texi: Update.
69053         * doc/functions/vfprintf.texi: Update.
69054         * doc/functions/vprintf.texi: Update.
69055         * doc/functions/vsnprintf.texi: Update.
69056         * doc/functions/vsprintf.texi: Update.
69057
69058 2007-05-18  Bruno Haible  <bruno@clisp.org>
69059
69060         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69061
69062 2007-05-18  Bruno Haible  <bruno@clisp.org>
69063
69064         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69065         for printing 64-bit integers. Needed for mingw.
69066
69067 2007-05-18  Bruno Haible  <bruno@clisp.org>
69068
69069         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69070         gl_FUNC_FREXPL_WORKS.
69071         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69072
69073 2007-05-18  Bruno Haible  <bruno@clisp.org>
69074
69075         * modules/frexpl-nolibm-tests: New file.
69076
69077         * modules/frexpl-nolibm: New file.
69078         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69079
69080 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69081
69082         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69083         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69084         GCC 4.2, which otherwise issues a lot of warnings.
69085         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69086         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69087         Likewise.
69088         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69089         * modules/iconv_open (iconv.h): Likewise.
69090         * modules/locale (locale.h): Likewise.
69091         * modules/netinet_in (netinet/in.h): Likewise.
69092         * modules/sys_select (sys_select.h): Likewise.
69093         * modules/sys_socket (sys/socket.h): Likewise.
69094         * modules/sys_stat (sys/stat.h): Likewise.
69095         * modules/sysexits (sysexits.h): Likewise.
69096         * modules/unistd (unistd.h): Likewise.
69097
69098 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69099
69100         * modules/closein-tests (Makefile.am): Distribute
69101         `test-closein.sh'.
69102
69103 2007-05-17  Bruno Haible  <bruno@clisp.org>
69104
69105         * tests/test-printf-posix.output: Renamed from
69106         tests/test-fprintf-posix.out.
69107         * modules/fprintf-posix-tests: Update.
69108         * modules/printf-posix-tests: Update.
69109         * modules/vfprintf-posix-tests: Update.
69110         * modules/vprintf-posix-tests: Update.
69111         * tests/test-fprintf-posix.sh: Update.
69112         * tests/test-printf-posix.sh: Update.
69113         * tests/test-vfprintf-posix.sh: Update.
69114         * tests/test-vprintf-posix.sh: Update.
69115         Reported by Ralf Wildenhues.
69116
69117 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69118
69119         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69120         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69121         GCC 4.2, which otherwise issues a lot of warnings.
69122         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69123         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69124         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69125         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69126         it should no longer be needed.
69127         * lib/string_.h: Likewise.
69128         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69129         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69130         * modules/inttypes (inttypes.h): Likewise.
69131         * modules/math (math.h): Likewise.
69132         * modules/search (search.h): Likewise.
69133         * modules/signal (signal.h): Likewise.
69134         * modules/stdint (stdint.h): Likewise.
69135         * modules/stdio (stdio.h): Likewise.
69136         * modules/stdlib (stdlib.h): Likewise.
69137         * modules/string (string.h): Likewise.
69138         * modules/sys_time (sys/time.h): Likewise.
69139         * modules/time (time.h): Likewise.
69140         * modules/wchar (wchar.h): Likewise.
69141         * modules/wctype (wtype.h): Likewise.
69142
69143 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69144
69145         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69146
69147 2007-05-13  Bruno Haible  <bruno@clisp.org>
69148
69149         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69150         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69151         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69152         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69153         (gl_PREREQ_STRTOK_R): Don't require it here.
69154
69155 2007-05-13  Bruno Haible  <bruno@clisp.org>
69156
69157         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69158         when used in C++ mode.
69159
69160 2007-05-12  Bruno Haible  <bruno@clisp.org>
69161
69162         * lib/linebuffer.h: Tweak doc.
69163         * lib/linebuffer.c: Likewise.
69164
69165 2007-05-12  James Youngman  <jay@gnu.org>
69166
69167         * lib/linebuffer.c (readlinebuffer_delim): New function,
69168         like readlinebuffer, but use a caller-specified delimiter.
69169         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69170         as the delimiter.
69171         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69172
69173 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69174
69175         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69176         * modules/openat (Files): Remove openat-die.c.
69177         (Depends-on): Add openat-die.
69178         * modules/openat-die: New module.
69179
69180 2007-05-06  Bruno Haible  <bruno@clisp.org>
69181
69182         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69183         Update with info about Cygwin.
69184         * doc/functions/fprintf.texi: Update.
69185         * doc/functions/printf.texi: Update.
69186         * doc/functions/snprintf.texi: Update.
69187         * doc/functions/sprintf.texi: Update.
69188         * doc/functions/vfprintf.texi: Update.
69189         * doc/functions/vprintf.texi: Update.
69190         * doc/functions/vsnprintf.texi: Update.
69191         * doc/functions/vsprintf.texi: Update.
69192         Reported by Eric Blake.
69193
69194 2007-05-06  Bruno Haible  <bruno@clisp.org>
69195
69196         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69197         padding ourselves for the floating-point directives.
69198         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69201         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69202         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69203         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69204         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69205         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69206         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69207         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69208         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69209         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69210         * tests/test-snprintf-posix.h (test_function): Also check the width
69211         and some flags in the %f directive.
69212         * tests/test-sprintf-posix.h (test_function): Likewise.
69213         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69214         * tests/test-vasprintf-posix.c (test_function): Likewise.
69215         * doc/functions/fprintf.texi: Update.
69216         * doc/functions/printf.texi: Update.
69217         * doc/functions/snprintf.texi: Update.
69218         * doc/functions/sprintf.texi: Update.
69219         * doc/functions/vfprintf.texi: Update.
69220         * doc/functions/vprintf.texi: Update.
69221         * doc/functions/vsnprintf.texi: Update.
69222         * doc/functions/vsprintf.texi: Update.
69223
69224 2007-05-06  Bruno Haible  <bruno@clisp.org>
69225
69226         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69227         pass the ' flag character to sprintf or snprintf.
69228         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69229         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69230         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69231         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69232         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69234         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69235         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69236         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69237         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69238         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69239         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69240         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69241         flag.
69242         * tests/test-sprintf-posix.h (test_function): Likewise.
69243         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69244         * tests/test-vasprintf-posix.c (test_function): Likewise.
69245         * doc/functions/fprintf.texi: Update.
69246         * doc/functions/printf.texi: Update.
69247         * doc/functions/snprintf.texi: Update.
69248         * doc/functions/sprintf.texi: Update.
69249         * doc/functions/vfprintf.texi: Update.
69250         * doc/functions/vprintf.texi: Update.
69251         * doc/functions/vsnprintf.texi: Update.
69252         * doc/functions/vsprintf.texi: Update.
69253
69254 2007-05-01  Bruno Haible  <bruno@clisp.org>
69255
69256         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69257
69258 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69259
69260         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69261         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69262
69263 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69264
69265         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69266         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69267         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69268
69269 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69270
69271         * lib/argp-help.c (struct hol_entry): New member `ord'.
69272         (HOL_ENTRY_PTRCMP): Use ord for comparison
69273         (hol_sort): Initialize ord.
69274
69275 2007-05-01  Bruno Haible  <bruno@clisp.org>
69276
69277         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69278         Reported by Eric Blake.
69279         * doc/gnulib.texi (Function Substitutes): Update.
69280
69281 2007-05-01  Bruno Haible  <bruno@clisp.org>
69282
69283         * doc/functions.texi: Remove file, now redundant through
69284         doc/functions/*.texi.
69285
69286 2007-05-01  Bruno Haible  <bruno@clisp.org>
69287
69288         * modules/argp (Depends-on): Add sleep.
69289
69290 2007-05-01  Bruno Haible  <bruno@clisp.org>
69291
69292         * modules/sleep-tests: New file.
69293         * tests/test-sleep.c: New file.
69294
69295         * modules/sleep: New file.
69296         * lib/sleep.c: New file.
69297         * m4/sleep.m4: New file.
69298         * lib/unistd_.h (sleep): New declaration.
69299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69300         HAVE_SLEEP.
69301         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69302         * doc/functions/sleep.texi: Document the sleep module.
69303
69304 2007-05-01  Bruno Haible  <bruno@clisp.org>
69305
69306         * lib/sigprocmask.h: Remove file.
69307         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69308         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69309         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69310         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69311         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69312         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69313         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69314         HAVE_SIGSET_T as a shell variable.
69315         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69316         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69317         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69318         (Depends-on): Add signal. Remove verify.
69319         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69320         (Include): Mention <signal.h> instead of sigprocmask.h.
69321         * NEWS: Mention the change.
69322         * lib/fatal-signal.c: Don't include sigprocmask.h.
69323
69324 2007-05-01  Bruno Haible  <bruno@clisp.org>
69325
69326         * modules/signal: New file.
69327         * lib/signal_.h: New file.
69328         * m4/signal_h.m4: New file.
69329
69330 2007-05-01  Bruno Haible  <bruno@clisp.org>
69331
69332         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69333         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69334         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69335         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69336
69337 2007-05-01  Bruno Haible  <bruno@clisp.org>
69338
69339         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69340         configure time.
69341         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69342         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69343         * modules/sys_stat (Makefile.am): Substitute their values into
69344         sys/stat.h.
69345
69346 2007-05-01  Bruno Haible  <bruno@clisp.org>
69347
69348         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69349         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69350         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69351
69352 2007-05-01  Bruno Haible  <bruno@clisp.org>
69353
69354         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69355         'assert' module here.
69356
69357 2007-05-01  Bruno Haible  <bruno@clisp.org>
69358
69359         * doc/functions/*.texi: New files.
69360         * doc/functions/google-ranking.txt: New file.
69361         * doc/gnulib.texi (Function Substitutes): New chapter.
69362         (ctime, inet_ntoa): Remove sections.
69363         * doc/ctime.texi: Remove file.
69364         * doc/inet_ntoa.texi: Remove file.
69365         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69366         dependencies.
69367         (%.info): New rule, specifying a --reference-limit.
69368
69369 2007-05-01  Bruno Haible  <bruno@clisp.org>
69370
69371         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69372
69373 2007-05-01  Bruno Haible  <bruno@clisp.org>
69374
69375         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69376         the portability of 'mkdir' to mingw systems.
69377
69378 2007-05-01  Bruno Haible  <bruno@clisp.org>
69379
69380         * doc/headers/google-ranking.txt: New file.
69381
69382 2007-04-30  Eric Blake  <ebb9@byu.net>
69383
69384         Prefer fseeko to fseek.
69385         * modules/getpass (Depends-on): Add fseeko.
69386         * lib/getpass.c (getpass): Use fseeko, not fseek.
69387
69388 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69389
69390         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69391         assumes the sorting is stable, while most qsort implementations
69392         are not.  Use argument addresses to ensure they never compare as
69393         equal.
69394
69395         * tests/test-argp-2.sh (usage-indent test): Fix output
69396         (func_compare): Restore diff options
69397         * tests/test-argp.c: Restore #include "progname.h"
69398
69399 2007-04-29  Bruno Haible  <bruno@clisp.org>
69400
69401         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69402         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69403         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69404         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69405         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69406         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69407         (TESTS, check_PROGRAMS): Add test-snprintf.
69408         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69409         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69410         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69411         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69412         assertions that fail on HP-UX, OSF/1, or IRIX.
69413         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69414
69415 2007-04-29  Bruno Haible  <bruno@clisp.org>
69416
69417         * MODULES.html.sh (posix_functions): Remove 'contents'.
69418
69419 2007-04-29  Karl Berry  <karl@gnu.org>
69420
69421         * config/srclist.txt (gendocs_template_min): new entry.
69422
69423 2007-04-29  Bruno Haible  <bruno@clisp.org>
69424
69425         Work around fpurge bug on BSD systems.
69426         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69427         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69428         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69429         fpurge to rpl_fpurge if the system already has this function.
69430         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69431         the case where the system already has this function. Correct invariants
69432         on BSD systems.
69433         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69434         BSD systems.
69435
69436 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69437
69438         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69439         proposed by Sven Verdoolaege.
69440
69441         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69442         options.
69443         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69444         (usage and help tests): Update
69445
69446 2007-04-29  Bruno Haible  <bruno@clisp.org>
69447
69448         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69449         Print more information in case of failure. Disable a test on BeOS.
69450
69451 2007-04-29  Bruno Haible  <bruno@clisp.org>
69452
69453         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69454         This helps debugging on systems on which no gdb is available.
69455
69456 2007-04-29  Bruno Haible  <bruno@clisp.org>
69457
69458         * lib/freading.h: Improve comments.
69459         * lib/fwriting.h: Likewise.
69460         * tests/test-freading.c (main): Don't check freading immediately after
69461         repositioning. Needed for glibc.
69462
69463 2007-04-29  Bruno Haible  <bruno@clisp.org>
69464
69465         * lib/freading.c (freading): Trivial simplification.
69466
69467 2007-04-28  Bruno Haible  <bruno@clisp.org>
69468
69469         * tests/test-fwriting.c (main): Also test the interaction between
69470         fflush and fwriting.
69471         * modules/fwriting-tests (Depends-on): Add fflush.
69472
69473         * tests/test-freading.c (main): Also test the interaction between
69474         fflush and freading.
69475         * modules/freading-tests (Depends-on): Add fflush.
69476
69477 2007-04-28  Bruno Haible  <bruno@clisp.org>
69478
69479         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69480         fseeko and ftello.
69481         Suggested by Eric Blake.
69482
69483 2007-04-28  Jim Meyering  <jim@meyering.net>
69484
69485         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69486         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69487         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69488
69489 2007-04-27  Eric Blake  <ebb9@byu.net>
69490
69491         * doc/headers/assert.texi (assert.h): Document assert module use.
69492
69493 2007-04-27  Bruno Haible  <bruno@clisp.org>
69494
69495         * doc/headers/*.texi: New files.
69496         * doc/gnulib.texi (Header File Substitutes): New chapter.
69497         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69498         dependencies.
69499         (standards.info ,standards.html, standards.dvi): Update dependencies.
69500         (mostlyclean, clean): New targets.
69501
69502 2007-04-27  Bruno Haible  <bruno@clisp.org>
69503
69504         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69505         * modules/sysexits (Files, Makefile.am): Update.
69506
69507         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69508         * modules/sys_socket (Files, Makefile.am): Update.
69509
69510         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69511         * modules/sys_stat (Files, Makefile.am): Update.
69512
69513 2007-04-27  Eric Blake  <ebb9@byu.net>
69514
69515         * lib/freading.h: Improve comments.
69516         * lib/fwriting.h: Likewise.
69517         * lib/fflush.c: Likewise.
69518
69519         Fix closein for mingw.
69520         * modules/closein-tests: Add tests for closein.
69521         * tests/test-closein.c: New file.
69522         * tests/test-closein.sh: Likewise.
69523         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69524         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69525
69526 2007-04-27  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69529         version is < 6.
69530         * lib/math_.h [__DECC]: Likewise.
69531         * lib/stdio_.h [__DECC]: Likewise.
69532         * lib/stdlib_.h [__DECC]: Likewise.
69533         * lib/string_.h [__DECC]: Likewise.
69534         * lib/time_.h [__DECC]: Likewise.
69535         * lib/wchar_.h [__DECC]: Likewise.
69536         * lib/wctype_.h [__DECC]: Likewise.
69537
69538 2007-04-27  Bruno Haible  <bruno@clisp.org>
69539
69540         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69541
69542 2007-04-27  Bruno Haible  <bruno@clisp.org>
69543
69544         * lib/fflush.c: Add comments.
69545         * modules/fpurge-tests (Depends-on): Add fflush.
69546         * modules/freadable-tests (Depends-on): Likewise.
69547         * modules/fwritable-tests (Depends-on): Likewise.
69548
69549 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69550
69551         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69552         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69553         Report by Bruno Haible <bruno@clisp.org>.
69554
69555 2007-04-26  Eric Blake  <ebb9@byu.net>
69556
69557         Fix fflush on mingw.
69558         * modules/fflush (Depends-on): Add freading.
69559         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69560         but unread data.
69561
69562 2007-04-26  Eric Blake  <ebb9@byu.net>
69563         and Bruno Haible  <bruno@clisp.org>
69564
69565         Implement freading and fwriting.
69566         * lib/freading.c: New file.
69567         * lib/freading.h: Likewise.
69568         * m4/freading.m4: Likewise.
69569         * modules/freading: Likewise.
69570         * modules/freading-tests: Likewise.
69571         * tests/test-freading.c: Likewise.
69572         * lib/fwriting.c: New file.
69573         * lib/fwriting.h: Likewise.
69574         * m4/fwriting.m4: Likewise.
69575         * modules/fwriting: Likewise.
69576         * modules/fwriting-tests: Likewise.
69577         * tests/test-fwriting.c: Likewise.
69578         * MODULES.html.sh (File stream based Input/Output): Mention them.
69579
69580 2007-04-26  Bruno Haible  <bruno@clisp.org>
69581
69582         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69583         'long' when we assume it.
69584         Suggested by Eric Blake.
69585
69586 2007-04-26  Bruno Haible  <bruno@clisp.org>
69587
69588         Ensure fseeko, ftello are declared on glibc systems.
69589         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69590         * modules/fseeko (configure.ac-early): Likewise.
69591         * modules/ftello (configure.ac-early): Likewise.
69592         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69593         AC_FUNC_FSEEKO for this.
69594         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69595         (gl_CHECK_FSEEKO): Remove macro.
69596
69597 2007-04-26  Bruno Haible  <bruno@clisp.org>
69598
69599         * tests/test-fflush.c (main): Also check the ftell result after
69600         fflush and fseek/fseeko.
69601         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69602         file descriptor position cache in the stream.
69603         * lib/fseeko.c (rpl_fseeko): Likewise.
69604
69605 2007-04-26  Bruno Haible  <bruno@clisp.org>
69606
69607         * modules/fflush-tests (Depends-on): Add fseeko.
69608
69609 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69610             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69611
69612         * lib/argz_.h: ensure error_t definition is obtained in same
69613         mechanism system argz.h would have.
69614         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69615         argz facilities are known bad.  Err on the side of caution if
69616         cross-compiling.
69617
69618 2007-04-25  Eric Blake  <ebb9@byu.net>
69619
69620         * lib/fpurge.c (includes): Use stdlib.h for free.
69621         * tests/test-fflush.c (main): Also test fflush-fseeko.
69622
69623 2007-04-25  Bruno Haible  <bruno@clisp.org>
69624
69625         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69626         * lib/fseeko.c: New file.
69627         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69628         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69629         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69630         gl_FUNC_FSEEKO.
69631         (gl_FUNC_FSEEKO): Invoke it.
69632         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69633         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69634         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69635
69636 2007-04-25  Bruno Haible  <bruno@clisp.org>
69637
69638         * modules/fflush (Depends-on): Add ftello.
69639
69640 2007-04-25  Bruno Haible  <bruno@clisp.org>
69641
69642         * modules/ftello-tests: New file.
69643         * tests/test-ftello.c: New file.
69644
69645         * modules/ftello: New file.
69646         * m4/ftello.m4: New file.
69647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69648         HAVE_FTELLO.
69649         * lib/stdio_.h (ftello): New declaration.
69650         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69651         HAVE_FTELLO.
69652
69653 2007-04-25  Bruno Haible  <bruno@clisp.org>
69654
69655         * modules/fseeko-tests: New file.
69656         * tests/test-fseeko.c: New file.
69657
69658         * modules/fseeko: New file.
69659         * m4/fseeko.m4: New file.
69660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69661         HAVE_FSEEKO.
69662         * lib/stdio_.h (fseeko): New declaration.
69663         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69664         HAVE_FSEEKO.
69665
69666 2007-04-25  Bruno Haible  <bruno@clisp.org>
69667
69668         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69669
69670 2007-04-25  Bruno Haible  <bruno@clisp.org>
69671
69672         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69673         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69674         * tests/test-unistd.c: Likewise.
69675         * tests/test-fcntl.c: Likewise.
69676
69677 2007-04-23  Eric Blake  <ebb9@byu.net>
69678
69679         * lib/fflush.c: Fix missing include.
69680         Reported by Bruno Haible.
69681
69682 2007-04-23  Bruno Haible  <bruno@clisp.org>
69683
69684         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69685         Reported by Eric Blake.
69686
69687 2007-04-23  Bruno Haible  <bruno@clisp.org>
69688
69689         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69690
69691 2007-04-23  Bruno Haible  <bruno@clisp.org>
69692
69693         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69694
69695 2007-04-23  Bruno Haible  <bruno@clisp.org>
69696
69697         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69698         Needed on HP-UX 11.
69699
69700 2007-04-16  Eric Blake  <ebb9@byu.net>
69701
69702         Make fflush rely on fpurge.
69703         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69704         open coding all variants.
69705         * modules/fflush (Depends-on): Add fpurge and unistd.
69706         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69707         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69708
69709         Fix --with-tests compilation on cygwin.
69710         * modules/argmatch-tests (Makefile.am): List gnulib library first
69711         in LDADD.
69712         * modules/argp-tests (Makefile.am): Likewise.
69713         * modules/array-list-tests (Makefile.am): Likewise.
69714         * modules/array-oset-tests (Makefile.am): Likewise.
69715         * modules/avltree-list-tests (Makefile.am): Likewise.
69716         * modules/avltree-oset-tests (Makefile.am): Likewise.
69717         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69718         * modules/carray-list-tests (Makefile.am): Likewise.
69719         * modules/dirname-tests (Makefile.am): Likewise.
69720         * modules/frexp-tests (Makefile.am): Likewise.
69721         * modules/isnanl-tests (Makefile.am): Likewise.
69722         * modules/linked-list-tests (Makefile.am): Likewise.
69723         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69724         * modules/lock-tests (Makefile.am): Likewise.
69725         * modules/rbtree-list-tests (Makefile.am): Likewise.
69726         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69727         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69728         * modules/tls-tests (Makefile.am): Likewise.
69729         * modules/tsearch-tests (Makefile.am): Likewise.
69730         * modules/xvasprintf-tests (Makefile.am): Likewise.
69731
69732         Fix fpurge for cygwin.
69733         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69734         value.
69735         * modules/fpurge-tests (Depends-on): Clean up trash.
69736
69737 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69738
69739         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69740
69741         * m4/autobuild.m4: Re-indent.
69742
69743 2007-04-13  Bruno Haible  <bruno@clisp.org>
69744
69745         * modules/fpurge-tests: New file.
69746         * tests/test-fpurge.c: New file.
69747
69748         * modules/fpurge: New file.
69749         * lib/fpurge.h: New file.
69750         * lib/fpurge.c: New file.
69751         * m4/fpurge.m4: New file.
69752
69753 2007-04-13  Bruno Haible  <bruno@clisp.org>
69754
69755         * modules/fbufmode-tests: New file.
69756         * tests/test-fbufmode.c: New file.
69757
69758         * modules/fbufmode: New file.
69759         * lib/fbufmode.h: New file.
69760         * lib/fbufmode.c: New file.
69761         * m4/fbufmode.m4: New file.
69762
69763 2007-04-13  Bruno Haible  <bruno@clisp.org>
69764
69765         * modules/fwritable-tests: New file.
69766         * tests/test-fwritable.c: New file.
69767
69768         * modules/fwritable: New file.
69769         * lib/fwritable.h: New file.
69770         * lib/fwritable.c: New file.
69771         * m4/fwritable.m4: New file.
69772
69773 2007-04-13  Bruno Haible  <bruno@clisp.org>
69774
69775         * modules/freadable-tests: New file.
69776         * tests/test-freadable.c: New file.
69777
69778         * modules/freadable: New file.
69779         * lib/freadable.h: New file.
69780         * lib/freadable.c: New file.
69781         * m4/freadable.m4: New file.
69782
69783 2007-04-13  Bruno Haible  <bruno@clisp.org>
69784
69785         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
69786         MOSTLYCLEANFILES.
69787
69788 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69789
69790         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
69791         gzip bootstrap.conf to avoid dragging in i18n machinery.
69792         (gnulib_tool_option): Use it.
69793
69794 2007-04-13  Bruno Haible  <bruno@clisp.org>
69795
69796         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
69797         %F directives.
69798         * tests/test-vasprintf-posix.c (test_function): Likewise.
69799         * tests/test-snprintf-posix.h (test_function): Likewise.
69800         * tests/test-sprintf-posix.h (test_function): Likewise.
69801         * tests/test-fprintf-posix.h (test_function): Likewise.
69802         * tests/test-printf-posix.h (test_function): Likewise.
69803         * tests/test-fprintf-posix.out: Likewise.
69804
69805 2007-04-13  Bruno Haible  <bruno@clisp.org>
69806
69807         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
69808         * modules/tls-tests (configure.ac): Likewise.
69809         Reported by Arto C. Nirkko <anirkko@insel.ch>.
69810
69811 2007-04-13  Bruno Haible  <bruno@clisp.org>
69812
69813         * lib/tls.c (glthread_tls_get): Fix return type.
69814         Patch by Arto C. Nirkko <anirkko@insel.ch>.
69815
69816 2007-04-12  Eric Blake  <ebb9@byu.net>
69817
69818         * modules/gettime (Depends-on): Remove gettime.
69819         Reported by Dmitry V. Levin.
69820
69821 2007-04-12  Bruno Haible  <bruno@clisp.org>
69822
69823         * modules/fflush (Include): Mention <stdio.h>.
69824         * modules/strtoimax (Include): Mention <inttypes.h>.
69825         * modules/strtoumax (Include): Likewise.
69826
69827 2007-04-12  Eric Blake  <ebb9@byu.net>
69828
69829         * .cvsignore: New file.
69830         * .gitignore: Likewise.
69831
69832 2007-04-12  Bruno Haible  <bruno@clisp.org>
69833
69834         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
69835         not before, since $(LDADD) often contains libgnu.a.
69836         * modules/striconv-tests (test_striconv_LDADD): Likewise.
69837         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
69838         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
69839         Needed on Cygwin.
69840
69841 2007-04-12  Eric Blake  <ebb9@byu.net>
69842
69843         Work around glibc's failure to flush stdin on fclose.
69844         * lib/closein.c (close_stdin): Flush stdin before closing.
69845
69846         Work around glibc's failure to reset seekable stdin on exit.
69847         * modules/closein: New module.
69848         * lib/closein.c: New file.
69849         * lib/closein.h: Likewise.
69850         * m4/closein.m4: Likewise.
69851         * MODULES.html.sh (File stream based Input/Output): Document it.
69852
69853 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69854
69855         * gnulib-tool: Rename generated 'autobuild' script to
69856         'do-autobuild' in --create-megatestdir output.
69857
69858         * doc/gnulib.texi (Build robot for gnulib): Fix.
69859
69860 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69861
69862         * modules/sysexits (Depends-on): Add absolute-header.
69863
69864 2007-04-12  Eric Blake  <ebb9@byu.net>
69865
69866         No need to preserve errno on success.
69867         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
69868         Reported by Bruno Haible.
69869
69870 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69871
69872         * MODULES.html.sh (Support for maintaining and releasing
69873         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
69874
69875 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69876
69877         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
69878
69879 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69880
69881         * modules/autobuild: New module.
69882
69883         * m4/autobuild.m4: New file.
69884
69885 2007-04-11  Bruno Haible  <bruno@clisp.org>
69886
69887         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
69888         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
69889         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
69890         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
69891         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69892         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69893         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69894         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69895         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69896         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69897         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
69898         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69899         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
69901         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69902         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69903         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
69904         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69905         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
69907         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69908         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69909         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
69910         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69911         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69912         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
69913         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69914         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69915         Reported by Eric Blake.
69916
69917 2007-04-11  Bruno Haible  <bruno@clisp.org>
69918
69919         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
69920
69921 2007-04-10  Bruno Haible  <bruno@clisp.org>
69922
69923         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
69924         for NaN and Infinity. Needed on FreeBSD 6.1.
69925         * tests/test-vasnprintf-posix.c (test_function): Undo last change
69926         regarding results for "%010a" of Infinity and NaN.
69927         * tests/test-vasprintf-posix.c (test_function): Likewise.
69928         * tests/test-snprintf-posix.h (test_function): Likewise.
69929         * tests/test-sprintf-posix.h (test_function): Likewise.
69930         * tests/test-fprintf-posix.h (test_function): Likewise.
69931         * tests/test-printf-posix.h (test_function): Likewise.
69932         * tests/test-fprintf-posix.out: Likewise.
69933
69934 2007-04-10  Bruno Haible  <bruno@clisp.org>
69935
69936         * modules/locale-tests: New file.
69937         * tests/test-locale.c: New file.
69938
69939         * modules/locale: New file.
69940         * lib/locale_.h: New file.
69941         * m4/locale_h.m4: New file.
69942
69943 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
69944             Bruno Haible  <bruno@clisp.org>
69945
69946         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
69947         be determined, test for availability of the copysignf, copysign,
69948         copysignl functions.
69949         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
69950         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
69951         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
69952
69953 2007-04-09  Eric Blake  <ebb9@byu.net>
69954
69955         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
69956         * modules/stdio (Makefile.am): Support fflush.
69957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
69958         * modules/fflush: New file.
69959         * lib/fflush.c: Likewise.
69960         * m4/fflush.m4: Likewise.
69961         * modules/fflush-tests: New test.
69962         * tests/test-fflush.c: Likewise.
69963         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
69964
69965 2007-04-06  Bruno Haible  <bruno@clisp.org>
69966
69967         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
69968         (VASNPRINTF): Use signbit for faster determination whether to print a
69969         minus sign.
69970         * modules/vasnprintf (Files): Remove lib/float+.h.
69971         * modules/fprintf-posix (Depends-on): Add signbit.
69972         * modules/snprintf-posix (Depends-on): Likewise.
69973         * modules/sprintf-posix (Depends-on): Likewise.
69974         * modules/vasnprintf-posix (Depends-on): Likewise.
69975         * modules/vasprintf-posix (Depends-on): Likewise.
69976         * modules/vfprintf-posix (Depends-on): Likewise.
69977         * modules/vsnprintf-posix (Depends-on): Likewise.
69978         * modules/vsprintf-posix (Depends-on): Likewise.
69979
69980 2007-04-06  Bruno Haible  <bruno@clisp.org>
69981
69982         * tests/test-frexp.c (main): Test also the sign bit of zero results.
69983         * tests/test-frexpl.c (main): Likewise.
69984         * tests/test-ldexpl.c (main): Likewise.
69985         * modules/frexp-tests (Depends-on): Add signbit.
69986         * modules/frexpl-tests (Depdends-on): Likewise.
69987         * modules/ldexpl-tests (Depdends-on): Likewise.
69988
69989 2007-04-06  Bruno Haible  <bruno@clisp.org>
69990
69991         * modules/signbit-tests: New file.
69992         * tests/test-signbit.c: New file.
69993
69994         * modules/signbit: New file.
69995         * lib/signbitf.c: New file.
69996         * lib/signbitd.c: New file.
69997         * lib/signbitl.c: New file.
69998         * m4/signbit.m4: New file.
69999         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70000         (signbit): New macro.
70001         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70002         REPLACE_SIGNBIT.
70003         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70004         REPLACE_FREXPL into math.h.
70005
70006 2007-04-06  Bruno Haible  <bruno@clisp.org>
70007
70008         * modules/isnanf-nolibm-tests: New file.
70009         * tests/test-isnanf.c: New file.
70010
70011         * modules/isnanf-nolibm: New file.
70012         * lib/isnanf.h: New file.
70013         * lib/isnanf.c: New file.
70014         * lib/isnan.c: Consider the USE_FLOAT macro.
70015         * m4/isnanf.m4: New file.
70016
70017 2007-04-06  Bruno Haible  <bruno@clisp.org>
70018
70019         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70020         (Link): New section.
70021
70022         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70023
70024 2007-04-06  Bruno Haible  <bruno@clisp.org>
70025
70026         Assume the 'long double' type.
70027         * m4/longdouble.m4: Remove file.
70028         * config/srclist.txt: Don't mention longdouble.m4.
70029         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70030         * lib/float+.h: Likewise.
70031         * lib/frexp.c: Likewise.
70032         * lib/printf-args.h: Likewise.
70033         * lib/printf-args.c: Likewise.
70034         * lib/printf-frexp.c: Likewise.
70035         * lib/printf-parse.c: Likewise.
70036         * lib/vasnprintf.c: Likewise.
70037         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70038         * m4/intl.m4: Likewise.
70039         * m4/isnanl.m4: Likewise.
70040         * m4/printf.m4: Likewise.
70041         * m4/printf-frexpl.m4: Likewise.
70042         * m4/vasnprintf.m4: Likewise.
70043         * modules/allocsa (Files): Remove m4/longdouble.m4.
70044         * modules/gettext (Files): Likewise.
70045         * modules/relocatable-prog-wrapper (Files): Likewise.
70046         * modules/vasnprintf (Files): Likewise.
70047         * modules/isnanl (Files): Likewise.
70048         (Include): Simplify.
70049         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70050         (Include): Simplify.
70051         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70052         (Include): Simplify.
70053         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70054         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70055         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70056         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70057         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70058         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70059         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70060         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70061         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70062         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70063         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70064         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70065         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70066         * tests/test-isnanl.c: Likewise.
70067         * tests/test-snprintf-posix.h: Likewise.
70068         * tests/test-sprintf-posix.h: Likewise.
70069         * tests/test-vasnprintf-posix.c: Likewise.
70070         * tests/test-vasnprintf-posix2.c: Likewise.
70071         * tests/test-vasprintf-posix.c: Likewise.
70072
70073 2007-04-06  Bruno Haible  <bruno@clisp.org>
70074
70075         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70076         * lib/math_.h [__DECC]: Include the overridden include file through
70077         #include_next, outside the double-inclusion guard.
70078         * lib/stdio_.h [__DECC]: Likewise.
70079         * lib/stdlib_.h [__DECC]: Likewise.
70080         * lib/string_.h [__DECC]: Likewise.
70081         * lib/time_.h [__DECC]: Likewise.
70082         * lib/wchar_.h [__DECC]: Likewise.
70083         * lib/wctype_.h [__DECC]: Likewise.
70084         * lib/inttypes_.h [__DECC]: Likewise.
70085         Reported by Albert Chin <china@thewrittenword.com> in
70086         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70087
70088 2007-04-04  Eric Blake  <ebb9@byu.net>
70089
70090         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70091         1.5.x.
70092
70093 2007-04-04  Bruno Haible  <bruno@clisp.org>
70094
70095         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70096         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70097
70098 2007-04-04  Bruno Haible  <bruno@clisp.org>
70099
70100         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70101         results for "%010a" of Infinity and NaN.
70102         * tests/test-vasprintf-posix.c (test_function): Likewise.
70103         * tests/test-snprintf-posix.h (test_function): Likewise.
70104         * tests/test-sprintf-posix.h (test_function): Likewise.
70105         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70106         * tests/test-printf-posix.h (test_function): Likewise.
70107         * tests/test-fprintf-posix.out: Update.
70108         Needed for FreeBSD 6.1.
70109
70110 2007-04-04  Bruno Haible  <bruno@clisp.org>
70111
70112         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70113         directly used by the gnulib modules nor by gnulib-tool.
70114
70115 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70116
70117         * DEPENDENCIES: Give overall description of version dependency
70118         desirability.  Use more-typical names for apps.
70119         Add shell, coreutils, diffutils, grep, tar, gzip.
70120
70121 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70122
70123         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70124
70125 2007-04-04  Karl Berry  <karl@gnu.org>
70126
70127         * MODULES.html.sh (func_module): missing '.
70128
70129 2007-04-03  Bruno Haible  <bruno@clisp.org>
70130
70131         * modules/argmatch-tests (Makefile.am): New variable
70132         test_argmatch_LDADD.
70133         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70134         * modules/array-list-tests (Makefile.am): New variable
70135         test_array_list_LDADD.
70136         * modules/array-oset-tests (Makefile.am): New variable
70137         test_array_oset_LDADD.
70138         * modules/avltree-list-tests (Makefile.am): New variable
70139         test_avltree_list_LDADD.
70140         * modules/avltree-oset-tests (Makefile.am): New variable
70141         test_avltree_oset_LDADD.
70142         * modules/avltreehash-list-tests (Makefile.am): New variable
70143         test_avltreehash_list_LDADD.
70144         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70145         test_canonicalize_lgpl_LDADD.
70146         * modules/carray-list-tests (Makefile.am): New variable
70147         test_carray_list_LDADD.
70148         * modules/dirname-tests (Makefile.am): New variable
70149         test_dirname_LDADD.
70150         * modules/linked-list-tests (Makefile.am): New variable
70151         test_linked_list_LDADD.
70152         * modules/linkedhash-list-tests (Makefile.am): New variable
70153         test_linkedhash_list_LDADD.
70154         * modules/rbtree-list-tests (Makefile.am): New variable
70155         test_rbtree_list_LDADD.
70156         * modules/rbtree-oset-tests (Makefile.am): New variable
70157         test_rbtree_oset_LDADD.
70158         * modules/rbtreehash-list-tests (Makefile.am): New variable
70159         test_rbtreehash_list_LDADD.
70160         * modules/xvasprintf-tests (Makefile.am): New variable
70161         test_xvasprintf_LDADD.
70162         Reported by Eric Blake.
70163
70164 2007-04-03  Eric Blake  <ebb9@byu.net>
70165
70166         * DEPENDENCIES: Weaken m4 requirements.
70167
70168 2007-04-03  Bruno Haible  <bruno@clisp.org>
70169
70170         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70171         * modules/isnanl-tests (configure.ac): Likewise.
70172
70173 2007-04-03  Ben Pfaff  <blp@gnu.org>
70174
70175         * modules/iconv_open: Add $(srcdir)/ to source directory
70176         references in Makefile fragments that call gperf, to fix VPATH
70177         builds.
70178
70179 2007-04-03  Bruno Haible  <bruno@clisp.org>
70180
70181         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70182         * lib/ldexpl.c: Undo last change.
70183
70184 2007-04-03  Bruno Haible  <bruno@clisp.org>
70185
70186         * modules/printf-frexpl (Depends-on): Undo last change.
70187         (Files): Add m4/ldexpl.m4.
70188
70189 2007-04-03  Bruno Haible  <bruno@clisp.org>
70190
70191         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70192         * modules/isnanl (Link): New section.
70193
70194         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70195         * modules/frexp (Link): New section.
70196
70197         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70198         * modules/frexpl (Link): New section.
70199
70200         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70201         * modules/ldexpl (Link): New section.
70202
70203 2007-04-03  Bruno Haible  <bruno@clisp.org>
70204
70205         * modules/TEMPLATE-EXTENDED: New file.
70206         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70207
70208 2007-04-03  Bruno Haible  <bruno@clisp.org>
70209
70210         * DEPENDENCIES: New file.
70211         Suggested by Simon Josefsson.
70212
70213 2007-04-03  Bruno Haible  <bruno@clisp.org>
70214
70215         * doc/gnulib.texi: Escape @.
70216
70217 2007-04-03  James Youngman  <jay@gnu.org>
70218         and Paul Eggert  <eggert@cs.ucla.edu>
70219
70220         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70221         birthtime on all systems that have birthtime, not just those which
70222         use st_birthtimensec rather than st_birthtim.  Putting zero in
70223         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70224         that the birth time is not available for files on an NFS mount.
70225
70226 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70227
70228         * modules/memxor: Move back from crypto/, suggested by Bruno.
70229         * modules/crypto/hmac-sha1: Fix memxor dependency.
70230
70231         * modules/crypto/gc: Moved from ../.
70232
70233 2007-04-02  Eric Blake  <ebb9@byu.net>
70234
70235         * lib/ldexpl.c (includes): Avoid libm.
70236
70237         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70238
70239 2007-04-02  Bruno Haible  <bruno@clisp.org>
70240
70241         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70242         on IRIX.
70243
70244 2007-04-02  Bruno Haible  <bruno@clisp.org>
70245
70246         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70247         x86 or x86_64 platforms running MacOS X.
70248         Reported by Ryan Schmidt <@ryandesign.com>.
70249
70250 2007-04-02  Bruno Haible  <bruno@clisp.org>
70251
70252         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70253         i386.
70254
70255 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70256
70257         * modules/crypto/arcfour: Moved from ../.
70258         * modules/crypto/arcfour-tests: Moved from ../.
70259         * modules/crypto/arctwo: Moved from ../.
70260         * modules/crypto/arctwo-tests: Moved from ../.
70261         * modules/crypto/des: Moved from ../.
70262         * modules/crypto/des-tests: Moved from ../.
70263         * modules/crypto/gc-arcfour: Moved from ../.
70264         * modules/crypto/gc-arcfour-tests: Moved from ../.
70265         * modules/crypto/gc-arctwo: Moved from ../.
70266         * modules/crypto/gc-arctwo-tests: Moved from ../.
70267         * modules/crypto/gc-des: Moved from ../.
70268         * modules/crypto/gc-des-tests: Moved from ../.
70269         * modules/crypto/gc-hmac-md5: Moved from ../.
70270         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70271         * modules/crypto/gc-hmac-sha1: Moved from ../.
70272         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70273         * modules/crypto/gc-md2: Moved from ../.
70274         * modules/crypto/gc-md2-tests: Moved from ../.
70275         * modules/crypto/gc-md4: Moved from ../.
70276         * modules/crypto/gc-md4-tests: Moved from ../.
70277         * modules/crypto/gc-md5: Moved from ../.
70278         * modules/crypto/gc-md5-tests: Moved from ../.
70279         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70280         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70281         * modules/crypto/gc-random: Moved from ../.
70282         * modules/crypto/gc-rijndael: Moved from ../.
70283         * modules/crypto/gc-rijndael-tests: Moved from ../.
70284         * modules/crypto/gc-sha1: Moved from ../.
70285         * modules/crypto/gc-sha1-tests: Moved from ../.
70286         * modules/crypto/gc-tests: Moved from ../.
70287         * modules/crypto/hmac-md5: Moved from ../.
70288         * modules/crypto/hmac-md5-tests: Moved from ../.
70289         * modules/crypto/hmac-sha1: Moved from ../.
70290         * modules/crypto/hmac-sha1-tests: Moved from ../.
70291         * modules/crypto/md2: Moved from ../.
70292         * modules/crypto/md2-tests: Moved from ../.
70293         * modules/crypto/md4: Moved from ../.
70294         * modules/crypto/md4-tests: Moved from ../.
70295         * modules/crypto/md5: Moved from ../.
70296         * modules/crypto/md5-tests: Moved from ../.
70297         * modules/crypto/memxor: Moved from ../.
70298         * modules/crypto/rijndael: Moved from ../.
70299         * modules/crypto/rijndael-tests: Moved from ../.
70300         * modules/crypto/sha1: Moved from ../.
70301
70302 2007-03-30  James Youngman  <jay@gnu.org>
70303
70304         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70305         rename() to change the ctime of a file (because ctime is unaffected
70306         by rename on jfs2 on AIX 5.1).
70307         (main): Start by doing cleanup, in case a previous run failed leaving
70308         test files behind.
70309
70310 2007-03-31  Bruno Haible  <bruno@clisp.org>
70311
70312         Support old proprietary implementations of iconv.
70313         * modules/iconv_open: New file.
70314         * lib/iconv_.h: New file.
70315         * m4/iconv_h.m4: New file.
70316         * lib/iconv_open.c: New file.
70317         * lib/iconv_open-aix.gperf: New file.
70318         * lib/iconv_open-hpux.gperf: New file.
70319         * lib/iconv_open-irix.gperf: New file.
70320         * lib/iconv_open-osf.gperf: New file.
70321         * m4/iconv_open.m4: New file.
70322         * modules/linebreak (Depends-on): Add iconv_open.
70323         * modules/striconv (Depends-on): Likewise.
70324         * modules/striconveh (Depends-on): Likewise.
70325         * modules/unicodeio (Depends-on): Likewise.
70326         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70327         (iconv_t)(-1).
70328         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70329         conversion if cd is (iconv_t)(-1).
70330         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70331         is not possible.
70332
70333 2007-03-31  Bruno Haible  <bruno@clisp.org>
70334
70335         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70336         work on Solaris either. Protect also second use of "autodetect_jp".
70337
70338 2007-03-31  Bruno Haible  <bruno@clisp.org>
70339
70340         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70341         the function is not present.
70342
70343 2007-03-31  Bruno Haible  <bruno@clisp.org>
70344
70345         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70346         the function is not present.
70347
70348 2007-03-31  Bruno Haible  <bruno@clisp.org>
70349
70350         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70351         a bug in HP-UX iconv_open().
70352
70353 2007-03-31  Bruno Haible  <bruno@clisp.org>
70354
70355         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70356         (Mathematics <math.h>): New section, add fpieee.
70357         (Input/output <stdio.h>): Add fseterr.
70358         (Mathematics <math.h>): New section, add printf-frexp.
70359         (Container data structures): Add sublist.
70360         (Core language properties): Add fpucw, inline.
70361         (Functions for greatest-width integer types <inttypes.h>): Add
70362         imaxabs, imaxdiv, inttypes.
70363         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70364         isnanl-nolibm, ldexp.
70365         (Mathematics <math.h>): New section, add printf-frexpl.
70366         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70367         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70368         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70369         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70370         (Unicode string functions): Add unistr/u*-mbtoucr.
70371         (Java): Add javacomp-script, javaexec-script.
70372         (C#): Add csharpcomp-script, csharpexec-script.
70373         (Support for building libraries and executables): Add havelib,
70374         relocatable-*.
70375         (Support for maintaining and releasing projects): Renamed from
70376         'Support for maintaining and release projects'. Add announce-gen.
70377
70378 2007-03-31  Bruno Haible  <bruno@clisp.org>
70379
70380         * README: Talk primarily about git.
70381         (git and CVS): Renamed from CVS.
70382         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70383         gnulib is available through git.
70384         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70385
70386 2007-03-30  Bruno Haible  <bruno@clisp.org>
70387
70388         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70389         * lib/poll_.h: Likewise.
70390         * lib/stat_.h: Likewise.
70391         * lib/sys_time_.h: Likewise.
70392         * lib/sysexit_.h: Likewise.
70393         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70394         * lib/stdbool_.h: Likewise.
70395         * lib/byteswap_.h: Add double-inclusion guard.
70396
70397 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70398
70399         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70400
70401 2007-03-30  Karl Berry  <karl@gnu.org>
70402
70403         * config/srclist-update: double space after USA in the license
70404         substitution, since that's how it's usually (?) written.
70405
70406 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70409         reported by Bruno Haible.
70410
70411 2007-03-29  Bruno Haible  <bruno@clisp.org>
70412
70413         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70414         a bug in AIX iconv().
70415
70416 2007-03-29  Bruno Haible  <bruno@clisp.org>
70417
70418         * modules/ldexpl-tests: New file.
70419         * tests/test-ldexpl.c: New file.
70420
70421 2007-03-29  Bruno Haible  <bruno@clisp.org>
70422
70423         * lib/ldexpl.c: Include fpucw.h.
70424         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70425         multiplication.
70426         * modules/ldexpl (Depends-on): Add fpucw.
70427
70428 2007-03-29  Bruno Haible  <bruno@clisp.org>
70429
70430         * modules/ldexpl: New file.
70431         * m4/ldexpl.m4: New file.
70432         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70433         set.
70434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70435         REPLACE_LDEXPL.
70436         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70437         REPLACE_LDEXPL.
70438         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70439         gl_FUNC_LDEXPL_WORKS.
70440         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70441         * modules/mathl (Files): Remove lib/ldexpl.c.
70442         (Depends-on): Add ldexpl.
70443
70444 2007-03-29  Bruno Haible  <bruno@clisp.org>
70445
70446         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70447
70448 2007-03-29  Bruno Haible  <bruno@clisp.org>
70449
70450         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70451         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70452         and possibly also HP-UX.
70453         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70454         work on AIX, IRIX, HP-UX, OSF/1.
70455         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70456         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70457         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70458         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70459         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70460         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70461
70462 2007-03-29  Bruno Haible  <bruno@clisp.org>
70463
70464         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70465
70466 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70467
70468         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70469         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70470
70471 2007-03-29  Eric Blake  <ebb9@byu.net>
70472
70473         * lib/acl-internal.h: Remove redundant include.
70474         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70475         Cygwin when a file is locked.
70476
70477 2007-03-29  Bruno Haible  <bruno@clisp.org>
70478
70479         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70480         file.
70481         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70482
70483 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70484
70485         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70486         try to remove a parent directory if the child couldn't be removed
70487         (except for the first rmdir, which could fail because the child
70488         doesn't exist).  Problem reported by Jeff Blaine in
70489         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70490
70491 2007-03-28  Bruno Haible  <bruno@clisp.org>
70492
70493         * lib/striconveh.c (utf8conv_carefully): New function.
70494         (mem_cd_iconveh_internal): Invoke it.
70495
70496 2007-03-28  Bruno Haible  <bruno@clisp.org>
70497
70498         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70499         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70500         input.
70501         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70502         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70503         unistr/u8-uctomb.
70504
70505 2007-03-28  Bruno Haible  <bruno@clisp.org>
70506
70507         * modules/unistr/u8-mbtoucr: New file.
70508         * lib/unistr/u8-mbtoucr.c: New file.
70509         * modules/unistr/u16-mbtoucr: New file.
70510         * lib/unistr/u16-mbtoucr.c: New file.
70511         * modules/unistr/u16-mbtoucr: New file.
70512         * lib/unistr/u16-mbtoucr.c: New file.
70513         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70514
70515 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70516             Bruno Haible  <bruno@clisp.org>
70517
70518         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70519         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70520         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70521
70522         * m4/stdio_h.m4: Add stubs for vasprintf too.
70523
70524         * modules/stdio: Support vasprintf in sed command.
70525
70526         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70527         vasprintf.h.  Add stdio module indicator.
70528
70529         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70530         vasprintf.h.
70531
70532         * lib/vasprintf.h: File removed.
70533
70534         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70535         * lib/vasprintf.c: Ditto.
70536         * lib/xvasprintf.c: Ditto.
70537         * tests/test-vasprintf-posix.c: Ditto.
70538         * tests/test-vasprintf.c: Ditto.
70539
70540 2007-03-27  Bruno Haible  <bruno@clisp.org>
70541
70542         Make vasnprintf multithread-safe.
70543         * lib/vasnprintf.c (decimal_point_char): New function.
70544         (VASNPRINTF): Use it.
70545         Suggested by Simon Josefsson.
70546
70547 2007-03-27  Eric Blake  <ebb9@byu.net>
70548
70549         Support sub-second birthtime on cygwin.
70550         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70551         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70552         (get_stat_birthtime): Also work with st_birthtim.
70553
70554 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70555
70556         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70557         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70558         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70559         (get_stat_birthtime_ns): Simplify compile-time tests.
70560         (get_stat_birthtime): Change the API to look like
70561         get_stat_mtime etc., except return a negative tv_nsec on error.
70562         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70563         Don't check for "spare" fields.
70564         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70565         or for struct stat.st_birthtime, as these tests aren't used.
70566         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70567
70568 2007-03-27  Bruno Haible  <bruno@clisp.org>
70569
70570         * lib/stat-time.h: Include <sys/stat.h>.
70571
70572 2007-03-27  James Youngman  <jay@gnu.org>
70573
70574         * lib/stat-time.h (get_stat_birthtime): New function for
70575           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70576         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70577           and its variants.
70578         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70579         * modules/stat-time-test: New file.
70580         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70581
70582 2007-03-26  Bruno Haible  <bruno@clisp.org>
70583
70584         Better support of signalling NaNs.
70585         * lib/atanl.c: Include isnanl.h.
70586         (atanl): Perform test for NaN at the beginning of the function and
70587         through a call to isnanl.
70588         * lib/cosl.c: Include isnanl.h.
70589         (cosl): Perform test for NaN at the beginning of the function and
70590         through a call to isnanl.
70591         * lib/ldexpl.c: Include isnanl.h.
70592         (ldexpl): Perform test for NaN through a call to isnanl.
70593         * lib/logl.c: Include isnanl.h.
70594         (logl): Perform test for NaN at the beginning of the function and
70595         through a call to isnanl.
70596         * lib/sinl.c: Include isnanl.h.
70597         (sinl): Perform test for NaN at the beginning of the function and
70598         through a call to isnanl.
70599         * lib/sqrtl.c: Include isnanl.h.
70600         (sqrtl): Perform test for NaN at the beginning of the function and
70601         through a call to isnanl.
70602         * lib/tanl.c: Include isnanl.h.
70603         (tanl): Perform test for NaN at the beginning of the function and
70604         through a call to isnanl.
70605         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70606         * modules/mathl (Depends-on): Add isnanl.
70607
70608 2007-03-26  Eric Blake  <ebb9@byu.net>
70609
70610         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70611         regression in logic sense of previous patch.
70612
70613 2007-03-26  Bruno Haible  <bruno@clisp.org>
70614
70615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70616         unportable shell command "if ! ...".
70617         Reported by Ralf Wildenhues.
70618
70619 2007-03-25  Bruno Haible  <bruno@clisp.org>
70620
70621         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70622         <sysexits.h> file, and only add EX_CONFIG.
70623         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70624         absolute file name and whether it is sufficient. Substitute also
70625         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70626         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70627         ABSOLUTE_SYSEXITS_H into sysexits.h.
70628
70629 2007-03-25  Bruno Haible  <bruno@clisp.org>
70630
70631         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70632         hints is NULL.
70633
70634 2007-03-25  Bruno Haible  <bruno@clisp.org>
70635
70636         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70637         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70638
70639 2007-03-25  Bruno Haible  <bruno@clisp.org>
70640
70641         * lib/vasnprintf.c: Include langinfo.h.
70642         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70643         multithread-safe.
70644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70645         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70646         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70647         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70648         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70649         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70650         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70651         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70652         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70653         Reported by Simon Josefsson.
70654
70655 2007-03-25  Bruno Haible  <bruno@clisp.org>
70656
70657         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70658         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70659         * modules/vasnprintf (Depends-on): Add stdint.
70660
70661 2007-03-25  Bruno Haible  <bruno@clisp.org>
70662
70663         * modules/fpieee: New file.
70664         * m4/fpieee.m4: New file.
70665         * modules/isnan-nolibm (Depends-on): Add fpieee.
70666         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70667         * modules/isnanl (Depends-on): Add fpieee.
70668
70669 2007-03-25  Bruno Haible  <bruno@clisp.org>
70670
70671         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70672
70673 2007-03-25  Bruno Haible  <bruno@clisp.org>
70674
70675         Avoid test failures on IRIX 6.5.
70676         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70677         (main): Use it.
70678         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70679         macros.
70680         (main): Use them.
70681
70682 2007-03-25  Bruno Haible  <bruno@clisp.org>
70683
70684         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70685         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70686         exists but doesn't work.
70687         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70688         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70690         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70691         math.h.
70692
70693 2007-03-25  Bruno Haible  <bruno@clisp.org>
70694
70695         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70696         returns inf. Needed on IRIX 6.5.
70697
70698 2007-03-25  Bruno Haible  <bruno@clisp.org>
70699
70700         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70701         (main): Use isnanl instead of x != x idiom.
70702         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70703
70704         * tests/test-frexp.c: Include isnan.h.
70705         (main): Use isnan instead of x != x idiom.
70706         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70707
70708 2007-03-25  Bruno Haible  <bruno@clisp.org>
70709
70710         * tests/test-frexp.c (NaN): New function/macro.
70711         (main): Use it instead of 0.0 / 0.0.
70712         * tests/test-isnan.c (NaN): New function/macro.
70713         (main): Use it instead of 0.0 / 0.0.
70714         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70715         (test_function): Use it instead of 0.0 / 0.0.
70716         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70717         (test_function): Use it instead of 0.0 / 0.0.
70718         * tests/test-snprintf-posix.h (NaN): New function/macro.
70719         (test_function): Use it instead of 0.0 / 0.0.
70720         * tests/test-sprintf-posix.h (NaN): New function/macro.
70721         (test_function): Use it instead of 0.0 / 0.0.
70722         * tests/test-fprintf-posix.h (NaN): New function/macro.
70723         (test_function): Use it instead of 0.0 / 0.0.
70724         * tests/test-printf-posix.h (NaN): New function/macro.
70725         (test_function): Use it instead of 0.0 / 0.0.
70726
70727         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70728
70729 2007-03-25  Bruno Haible  <bruno@clisp.org>
70730
70731         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70732
70733 2007-03-25  Bruno Haible  <bruno@clisp.org>
70734
70735         * lib/regexec.c (merge_state_with_log): Make static.
70736
70737 2007-03-25  Bruno Haible  <bruno@clisp.org>
70738
70739         * lib/trigl.c (kernel_rem_pio2): Make static.
70740
70741 2007-03-25  Bruno Haible  <bruno@clisp.org>
70742
70743         * lib/sincosl.c (sincosl_table): Make static.
70744
70745 2007-03-25  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70748         if the compiler does not support C99.
70749
70750 2007-03-25  Bruno Haible  <bruno@clisp.org>
70751
70752         * modules/time (Makefile.am): Ensure all rule action lines start with a
70753         tab.
70754
70755 2007-03-24  Bruno Haible  <bruno@clisp.org>
70756
70757         * modules/tsearch-tests: New file.
70758         * tests/test-tsearch.sh: New file.
70759         * tests/test-tsearch.c: New file, mostly copied from glibc.
70760
70761         * modules/search-tests: New file.
70762         * tests/test-search.c: New file.
70763
70764         * modules/search: New file.
70765         * lib/search_.h: New file, incorporating lib/tsearch.h.
70766         * m4/search_h.m4: New file.
70767         * lib/tsearch.h: Remove file.
70768         * lib/tsearch.c: Include search.h instead of tsearch.h.
70769         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
70770         HAVE_TSEARCH.
70771         * modules/tsearch (Files): Remove lib/tsearch.h.
70772         (Depends-on): Add search.
70773         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
70774         (Include): Change tsearch.h into search.h.
70775
70776 2007-03-24  Bruno Haible  <bruno@clisp.org>
70777
70778         * modules/fpucw: New file.
70779         * lib/fpucw.h: New file.
70780         * lib/frexp.c: Include fpucw.h.
70781         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70782         (FUNC): Use them.
70783         * lib/printf-frexp.c: Include fpucw.h.
70784         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70785         (FUNC): Use them.
70786         * lib/vasnprintf.c: Include fpucw.h.
70787         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
70788         'long double' calculations.
70789         * tests/test-frexpl.c: Include fpucw.h.
70790         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70791         * tests/test-printf-frexpl.c: Include fpucw.h.
70792         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70793         * modules/frexpl (Depends-on): Add fpucw.
70794         * modules/printf-frexpl (Depends-on): Likewise.
70795         * modules/fprintf-posix (Depends-on): Likewise.
70796         * modules/snprintf-posix (Depends-on): Likewise.
70797         * modules/sprintf-posix (Depends-on): Likewise.
70798         * modules/vasnprintf-posix (Depends-on): Likewise.
70799         * modules/vasprintf-posix (Depends-on): Likewise.
70800         * modules/vfprintf-posix (Depends-on): Likewise.
70801         * modules/vsnprintf-posix (Depends-on): Likewise.
70802         * modules/vsprintf-posix (Depends-on): Likewise.
70803         * modules/frexpl-tests (Depends-on): Likewise.
70804         * modules/printf-frexpl-tests (Depends-on): Likewise.
70805
70806 2007-03-24  Bruno Haible  <bruno@clisp.org>
70807
70808         * lib/float+.h: New file.
70809         * lib/isnan.c: Include float+.h.
70810         (SIZE): New macro.
70811         (FUNC): Compare only SIZE bytes of the value.
70812         * lib/vasnprintf.c: Include float+.h.
70813         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
70814         SIZEOF_LDBL or SIZEOF_DBL bytes.
70815         * modules/isnan-nolibm (Files): Add lib/float+.h.
70816         * modules/isnanl-nolibm (Files): Add lib/float+.h.
70817         * modules/isnanl (Files): Add lib/float+.h.
70818         * modules/vasnprintf (Files): Add lib/float+.h.
70819
70820 2007-03-24  Bruno Haible  <bruno@clisp.org>
70821
70822         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
70823         include isnanl-nolibm.h.
70824
70825 2007-03-24  Bruno Haible  <bruno@clisp.org>
70826
70827         * tests/test-read-file.c (main): Don't produce spurious output for
70828         expected situations. Make the test fail if it encountered unexpected
70829         results.
70830
70831 2007-03-24  Bruno Haible  <bruno@clisp.org>
70832
70833         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
70834         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
70835
70836 2007-03-24  Bruno Haible  <bruno@clisp.org>
70837
70838         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
70839
70840 2007-03-24  Bruno Haible  <bruno@clisp.org>
70841
70842         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
70843         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
70844
70845         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
70846         * modules/utf8-ucs4: Turn into a symbolic link to module
70847         unistr/u8-mbtouc.
70848
70849         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
70850         utf8-ucs4-unsafe.
70851         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
70852         unistr/u8-mbtouc-unsafe.
70853
70854         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
70855         * modules/utf16-ucs4: Turn into a symbolic link to module
70856         unistr/u16-mbtouc.
70857
70858         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
70859         utf16-ucs4-unsafe.
70860         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
70861         unistr/u16-mbtouc-unsafe.
70862
70863         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
70864         * modules/ucs4-utf8: Turn into a symbolic link to module
70865         unistr/u8-ubtomb.
70866
70867         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
70868         * modules/ucs4-utf16: Turn into a symbolic link to module
70869         unistr/u16-ubtomb.
70870
70871 2007-03-24  Bruno Haible  <bruno@clisp.org>
70872
70873         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
70874         Enable the function only if HAVE_INLINE.
70875         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
70876         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70877         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
70878         Enable the function only if HAVE_INLINE.
70879         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
70880         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70881         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
70882         Enable the function only if HAVE_INLINE.
70883         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
70884         Enable the function only if HAVE_INLINE.
70885         * modules/utf8-ucs4: Update.
70886         * modules/utf8-ucs4-unsafe: Update.
70887         * modules/utf16-ucs4: Update.
70888         * modules/utf16-ucs4-unsafe: Update.
70889         * modules/ucs4-utf8: Update.
70890         * modules/ucs4-utf16: Update.
70891
70892 2007-03-24  Bruno Haible  <bruno@clisp.org>
70893
70894         * lib/utf8-ucs4.h: Remove file.
70895         * lib/utf8-ucs4-unsafe.h: Remove file.
70896         * lib/utf16-ucs4.h: Remove file.
70897         * lib/utf16-ucs4-unsafe.h: Remove file.
70898         * lib/ucs4-utf8.h: Remove file.
70899         * lib/ucs4-utf16.h: Remove file.
70900         * lib/unistr.h: Include their previous contents.
70901         * m4/utf-ucs4.m4: Remove file.
70902         * m4/ucs4-utf.m4: Remove file.
70903         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
70904         (Depends-on): Add unistr/base.
70905         (configure.ac): Remove gl_UTF_UCS4.
70906         (Makefile.am): Update.
70907         (Include): Change to unistr.h.
70908         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
70909         (Depends-on): Add unistr/base.
70910         (configure.ac): Remove gl_UTF_UCS4.
70911         (Makefile.am): Update.
70912         (Include): Change to unistr.h.
70913         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
70914         (Depends-on): Add unistr/base.
70915         (configure.ac): Remove gl_UTF_UCS4.
70916         (Makefile.am): Update.
70917         (Include): Change to unistr.h.
70918         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
70919         (Depends-on): Add unistr/base.
70920         (configure.ac): Remove gl_UTF_UCS4.
70921         (Makefile.am): Update.
70922         (Include): Change to unistr.h.
70923         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
70924         (Depends-on): Add unistr/base.
70925         (configure.ac): Remove gl_UCS4_UTF.
70926         (Makefile.am): Update.
70927         (Include): Change to unistr.h.
70928         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
70929         (Depends-on): Add unistr/base.
70930         (configure.ac): Remove gl_UCS4_UTF.
70931         (Makefile.am): Update.
70932         (Include): Change to unistr.h.
70933         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70934         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70935         utf8-ucs4-unsafe.h.
70936         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70937         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70938         utf16-ucs4-unsafe.h.
70939         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70940         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
70941         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
70942         * lib/unistr/u8-strchr.c: Likewise.
70943         * lib/unistr/u8-strrchr.c: Likewise.
70944         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
70945         * lib/unistr/u16-strchr.c: Likewise.
70946         * lib/unistr/u16-strrchr.c: Likewise.
70947         * lib/striconveh.c: Update.
70948         * lib/linebreak.c: Update.
70949
70950 2007-03-24  Bruno Haible  <bruno@clisp.org>
70951
70952         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
70953         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
70954
70955 2007-03-22  Bruno Haible  <bruno@clisp.org>
70956
70957         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
70958
70959 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70960
70961         * MODULES.html.sh (File system functions): New module write-any-file.
70962         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
70963         * m4/write-any-file.m4: New files.
70964
70965 2007-03-23  Eric Blake  <ebb9@byu.net>
70966
70967         * gnulib-tool: Rearrange space-tab sequences, since some editors
70968         like to eat them.
70969
70970 2007-03-23  Eric Blake  <ebb9@byu.net>
70971
70972         * lib/version-etc.c (version_etc_va): Update license wording to
70973         be more concise.  Recommended by Richard Stallman.
70974
70975 2007-03-22  Bruno Haible  <bruno@clisp.org>
70976
70977         * lib/poll.c (MSG_PEEK): New fallback definition.
70978
70979 2007-03-22  Bruno Haible  <bruno@clisp.org>
70980
70981         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
70982         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
70983         (main): Update.
70984         Fixes a compilation error on BeOS.
70985
70986 2007-03-22  Bruno Haible  <bruno@clisp.org>
70987
70988         * modules/frexpl-tests: New file.
70989         * tests/test-frexpl.c: New file.
70990
70991         * modules/frexpl: New file.
70992         * m4/frexpl.m4: New file.
70993         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
70994         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
70995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
70996         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
70997         (Depends-on): Add frexpl. Remove isnanl-nolibm.
70998         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
70999
71000 2007-03-22  Bruno Haible  <bruno@clisp.org>
71001
71002         * lib/frexpl.c: Share code with lib/frexp.c.
71003         * modules/mathl (Files): Add lib/frexp.c.
71004         (Depends-on): Add isnanl-nolibm.
71005
71006 2007-03-22  Bruno Haible  <bruno@clisp.org>
71007
71008         * modules/printf-frexp (Files): Add m4/frexp.m4.
71009         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71010         only if the found frexp function actually works.
71011
71012 2007-03-22  Bruno Haible  <bruno@clisp.org>
71013
71014         * lib/frexp.c: Remove older implementation that uses divisions.
71015
71016 2007-03-21  Bruno Haible  <bruno@clisp.org>
71017
71018         * modules/frexp-tests: New file.
71019         * tests/test-frexp.c: New file.
71020
71021         * modules/frexp: New file.
71022         * lib/frexp.c: New file.
71023         * m4/frexp.m4: New file.
71024         * lib/math_.h (frexp): New declaration.
71025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71026         REPLACE_FREXP.
71027         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71028
71029 2007-03-21  Bruno Haible  <bruno@clisp.org>
71030
71031         * modules/isnanl-tests: New file.
71032         * tests/test-isnanl.c: New file.
71033
71034         * modules/isnanl: New file.
71035         * lib/isnanl.h: New file.
71036         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71037         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71038         gl_FUNC_ISNANL_WORKS.
71039         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71040         New macros.
71041
71042 2007-03-21  Bruno Haible  <bruno@clisp.org>
71043
71044         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71045         lib/isnanl.h.
71046         (Include): Update.
71047         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71048         * lib/vasnprintf.c: Update.
71049         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71050         tests/test-isnanl.h, remove tests/test-isnanl.c.
71051         (Makefile.am): Update.
71052         * tests/test-isnanl-nolibm.c: New file.
71053         * tests/test-isnanl.h: New file.
71054         * tests/test-isnanl.c: Remove file.
71055
71056 2007-03-21  Jim Meyering  <jim@meyering.net>
71057
71058         When trying to open ".", treat ESTALE like EACCES.
71059         * lib/savewd.c (savewd_save): Resort to forking not just upon
71060         failure with EACCES, but also when errno is ESTALE.
71061
71062 2007-03-20  Bruno Haible  <bruno@clisp.org>
71063
71064         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71065         Needed on AIX 5.1. Reported by Matthew Woehlke.
71066
71067 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71068
71069         Suggestions by Bruno Haible:
71070         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71071         our own.
71072         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71073         * modules/acl (Depends-on): Add gettext.
71074
71075 2007-03-19  Bruno Haible  <bruno@clisp.org>
71076
71077         * modules/iconvme: Remove file.
71078         * lib/iconvme.h: Remove file.
71079         * lib/iconvme.c: Remove file.
71080         * m4/iconvme.m4: Remove file.
71081
71082 2007-03-19  Bruno Haible  <bruno@clisp.org>
71083
71084         * doc/relocatable-maint.texi: Break long shell script line.
71085         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71086
71087 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71088
71089         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71090         handle file_has_acl.
71091         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71092         * lib/acl.c: Move header inclusions and related macro defns into
71093         lib/acl-internal.h.
71094         (S_ISLNK): Remove defn, since that's now done for us.
71095         (file_has_acl): Move to lib/file-has-acl.c.
71096         Call acl_trivial if available.  This is the crucial part of the fix.
71097         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71098         shared within the library.  Rewrite a bit, partly to make it compatible
71099         with the GNU coding style.
71100         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71101         Remove unnecessary double-quotes.
71102         Don't test for acl_to_text; the build will catch that.
71103         Replace acl_entries if it doesn't exist and it is needed.
71104         Check for -lsec and acl_trivial (as used on Solaris 10).
71105         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71106         lib/file-has-acl.c.
71107         (Depends-on): Add sys_stat, for S_ISLNK.
71108
71109 2007-03-19  Ben Pfaff  <blp@gnu.org>
71110
71111         * doc/gnulib.texi: Fix typos.
71112         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71113
71114 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71115
71116         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71117         If size is zero here, buf must be zero.
71118
71119 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71120
71121         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71122         <bruno@clisp.org>.
71123
71124 2007-03-18  Bruno Haible  <bruno@clisp.org>
71125
71126         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71127         Suggested by Eric Blake.
71128
71129 2007-03-18  Ben Pfaff  <blp@gnu.org>
71130
71131         * doc/relocatable.texi: Recommend using as prefix a directory
71132         that does not exist and will never be created.  Based on
71133         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71134         and others.
71135
71136 2007-03-17  Bruno Haible  <bruno@clisp.org>
71137
71138         * lib/fchownat.c: Include lchown.h.
71139
71140 2007-03-17  Bruno Haible  <bruno@clisp.org>
71141
71142         Fix endless loop when the given allocated size was > INT_MAX.
71143         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71144         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71145         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71146         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71147         * lib/sprintf.c (sprintf): Likewise.
71148
71149 2007-03-17  Bruno Haible  <bruno@clisp.org>
71150
71151         * tests/test-argp-2.sh (func_compare): Output a context diff.
71152
71153 2007-03-17  Bruno Haible  <bruno@clisp.org>
71154
71155         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71156         locale's decimal-point character.
71157
71158 2007-03-17  Bruno Haible  <bruno@clisp.org>
71159
71160         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71161         before comparing it. Needed because on some platforms (e.g. x86) a
71162         'long double' occupies less bytes than sizeof (long double).
71163
71164 2007-03-17  Bruno Haible  <bruno@clisp.org>
71165
71166         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71167         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71168         * tests/test-getaddrinfo.c (simple): Likewise.
71169         * tests/test-read-file.c (main): Likewise.
71170
71171 2007-03-17  Bruno Haible  <bruno@clisp.org>
71172
71173         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71174
71175 2007-03-17  Bruno Haible  <bruno@clisp.org>
71176
71177         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71178         unused variable.
71179
71180 2007-03-17  Bruno Haible  <bruno@clisp.org>
71181
71182         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71183         * tests/test-c-strncasecmp.c: Likewise.
71184
71185 2007-03-17  Bruno Haible  <bruno@clisp.org>
71186
71187         * modules/stdlib (Depends-on): Add unistd.
71188         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71189         Needed for MacOS X 10.3.
71190
71191 2007-03-17  Bruno Haible  <bruno@clisp.org>
71192
71193         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71194
71195 2007-03-17  Bruno Haible  <bruno@clisp.org>
71196
71197         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71198
71199 2007-03-17  Bruno Haible  <bruno@clisp.org>
71200
71201         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71202         to reflect files copied from gnulib (with or without modifications).
71203         Suggested by Jim Meyering.
71204
71205 2007-03-17  Eric Blake  <ebb9@byu.net>
71206
71207         * NEWS: Document stdlib change from 2007-02-18.
71208
71209 2007-03-17  Jim Meyering  <jim@meyering.net>
71210
71211         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71212         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71213         someone uses a name containing shell meta-characters.
71214         Reported by Alfred M. Szmidt.
71215
71216         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71217
71218 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71219
71220         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71221         and copy gettext configuration files only if configure.ac contains
71222         a use of AM_GNU_GETTEXT_VERSION.
71223
71224 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71225
71226         * build-aux/bootstrap (gnulib_name): New variable.
71227         (gnulib_tool_options): Use it.
71228
71229 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71230
71231         * tests/test-des.c: Use new namespace.
71232
71233 2007-03-15  Bruno Haible  <bruno@clisp.org>
71234
71235         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71236         Reported by James Youngman <jay@gnu.org>.
71237
71238 2007-03-15  Bruno Haible  <bruno@clisp.org>
71239
71240         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71241         declared prototype. Needed with cc on OSF/1 5.1.
71242
71243 2007-03-15  Bruno Haible  <bruno@clisp.org>
71244
71245         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71246         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71247         (struct gl_list_implementation): Add dispose_fn argument to the
71248         'create_empty', 'create' methods.
71249         (struct gl_list_impl_base): Add field 'dispose_fn'.
71250         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71251         argument.
71252         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71253         dispose_fn argument.
71254         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71255         dispose_fn on the dropped values.
71256         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71257         dispose_fn argument.
71258         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71259         dropped values.
71260         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71261         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71262         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71263         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71264         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71265         argument.
71266         (gl_tree_list_free): Call dispose_fn on the dropped values.
71267         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71268         the dropped values.
71269         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71270         Add dispose_fn argument.
71271         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71272         Call dispose_fn on the dropped values.
71273         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71274         Add dispose_fn argument.
71275         (gl_sublist_create): Initialize the 'dispose_fn' field.
71276         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71277         * tests/test-array_list.c (main): Update.
71278         * tests/test-carray_list.c (main): Update.
71279         * tests/test-avltree_list.c (main): Update.
71280         * tests/test-rbtree_list.c (main): Update.
71281         * tests/test-avltreehash_list.c (main): Update.
71282         * tests/test-rbtreehash_list.c (main): Update.
71283         * tests/test-linked_list.c (main): Update.
71284         * tests/test-linkedhash_list.c (main): Update.
71285         * tests/test-array_oset.c (main): Update.
71286
71287 2007-03-15  Bruno Haible  <bruno@clisp.org>
71288
71289         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71290         (gl_oset_create_empty): Add dispose_fn argument.
71291         (struct gl_oset_implementation): Add dispose_fn argument to
71292         'create_empty' method.
71293         (struct gl_oset_impl_base): Add dispose_fn field.
71294         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71295         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71296         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71297         values.
71298         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71299         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71300         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71301         dropped value.
71302         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71303         dropped value.
71304         * tests/test-array_oset.c (main): Update.
71305         * tests/test-avltree_oset.c (main): Update.
71306         * tests/test-rbtree_oset.c (main): Update.
71307         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71308
71309 2007-03-13  Bruno Haible  <bruno@clisp.org>
71310
71311         * tests/test-stdbool.c (i): Update after last patch.
71312
71313 2007-03-12  Bruno Haible  <bruno@clisp.org>
71314
71315         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71316         the iswprint macro. Needed on Solaris 2.5.1.
71317
71318 2007-03-12  Bruno Haible  <bruno@clisp.org>
71319
71320         * tests/test-printf-frexp.c (main): Declare x as volatile.
71321
71322 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71323
71324         * doc/gnulib.texi (Build robot for gnulib): New section.
71325
71326 2007-03-12  Jim Meyering  <jim@meyering.net>
71327
71328         * build-aux/bootstrap: New file.
71329         * build-aux/bootstrap.conf: New file, from coreutils.
71330
71331 2007-03-11  Bruno Haible  <bruno@clisp.org>
71332
71333         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71334
71335 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71336
71337         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71338         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71339         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71340
71341 2007-03-11  Bruno Haible  <bruno@clisp.org>
71342
71343         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71344         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71345
71346 2007-03-11  Bruno Haible  <bruno@clisp.org>
71347
71348         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71349         formula. Needed for SunPRO C 5.0.
71350
71351 2007-03-11  Bruno Haible  <bruno@clisp.org>
71352
71353         * modules/long-options (Depends-on): Add getopt.
71354
71355 2007-03-11  Bruno Haible  <bruno@clisp.org>
71356
71357         * modules/modechange (Depends-on): Add stdbool.
71358
71359 2007-03-11  Bruno Haible  <bruno@clisp.org>
71360
71361         * modules/i-ring (Depends-on): Add stdbool.
71362
71363 2007-03-11  Bruno Haible  <bruno@clisp.org>
71364
71365         * modules/gc-des (Depends-on): Add stdbool.
71366
71367 2007-03-11  Bruno Haible  <bruno@clisp.org>
71368
71369         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71370
71371 2007-03-11  Bruno Haible  <bruno@clisp.org>
71372
71373         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71374
71375 2007-03-11  Bruno Haible  <bruno@clisp.org>
71376
71377         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71378
71379 2007-03-11  Bruno Haible  <bruno@clisp.org>
71380
71381         * lib/vasnprintf.c (sprintf): Undefine.
71382
71383 2007-03-11  Bruno Haible  <bruno@clisp.org>
71384
71385         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71386         initializers in SunPRO C and Compaq C compilers.
71387
71388 2007-03-11  Bruno Haible  <bruno@clisp.org>
71389
71390         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71391         decrementing code ANSI C compliant.
71392
71393 2007-03-11  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71396         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71397
71398 2007-03-11  Bruno Haible  <bruno@clisp.org>
71399
71400         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71401         <stdbool.h> substitute doesn't pass.
71402
71403 2007-03-11  Bruno Haible  <bruno@clisp.org>
71404
71405         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71406
71407 2007-03-11  Bruno Haible  <bruno@clisp.org>
71408
71409         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71410         script, for submission to autobuild.josefsson.org.
71411
71412 2007-03-10  Bruno Haible  <bruno@clisp.org>
71413
71414         * modules/canonicalize-lgpl-tests: New file.
71415         * tests/test-canonicalize-lgpl.sh: New file.
71416         * tests/test-canonicalize-lgpl.c: New file.
71417
71418         * modules/c-strcase-tests: New file.
71419         * tests/test-c-strcase.sh: New file.
71420         * tests/test-c-strcasecmp.c: New file.
71421         * tests/test-c-strncasecmp.c: New file.
71422
71423         * modules/atexit-tests: New file.
71424         * tests/test-atexit.sh: New file.
71425         * tests/test-atexit.c: New file.
71426
71427 2007-03-10  Bruno Haible  <bruno@clisp.org>
71428
71429         * tests/test-binary-io.sh: Use temporary filenames that are not so
71430         likely to clash with those of other tests (in a parallel make).
71431         * tests/test-binary-io.c: Likewise.
71432
71433 2007-03-10  Bruno Haible  <bruno@clisp.org>
71434
71435         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71436         fallback; use #error instead.
71437         Suggested by Simon Josefsson.
71438
71439 2007-03-10  Bruno Haible  <bruno@clisp.org>
71440
71441         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71442         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71443         first and the last.
71444
71445 2007-03-10  Bruno Haible  <bruno@clisp.org>
71446
71447         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71448
71449 2007-03-10  Bruno Haible  <bruno@clisp.org>
71450
71451         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71452         "make distcheck".
71453         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71454         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71455         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71456
71457 2007-03-10  Bruno Haible  <bruno@clisp.org>
71458
71459         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71460         variable.
71461         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71462         variable.
71463
71464 2007-03-09  Eric Blake  <ebb9@byu.net>
71465         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71466
71467         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71468         types are not being provided by gnulib.
71469         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71470         types are supported.
71471
71472 2007-03-10  Bruno Haible  <bruno@clisp.org>
71473
71474         * lib/stdio_.h (__attribute__): New macro.
71475         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71476         vsprintf): Specify __attribute__ __format__ for GCC.
71477         Suggested by Eric Blake.
71478
71479 2007-03-09  Bruno Haible  <bruno@clisp.org>
71480
71481         * modules/printf-posix-tests: New file.
71482         * tests/test-printf-posix.sh: New file.
71483         * tests/test-printf-posix.c: New file.
71484
71485         * modules/printf-posix: New file.
71486         * lib/printf.c: New file.
71487         * m4/printf-posix-rpl.m4: New file.
71488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71489         REPLACE_PRINTF.
71490         * lib/stdio_.h (printf): New declaration.
71491         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71492         ____strfmon____): New macros.
71493         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71494         REPLACE_PRINTF.
71495
71496 2007-03-09  Bruno Haible  <bruno@clisp.org>
71497
71498         * tests/test-vasnprintf-posix2.sh: New file.
71499         * tests/test-vasnprintf-posix2.c: New file.
71500         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71501         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71502         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71503
71504         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71505         a locale dependent decimal point, rather than always '.'.
71506
71507 2007-03-09  Eric Blake  <ebb9@byu.net>
71508
71509         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71510         spite of platforms like Tandem/NSK that define it to -1.
71511
71512 2007-03-08  Bruno Haible  <bruno@clisp.org>
71513
71514         * modules/vprintf-posix-tests: New file.
71515         * tests/test-vprintf-posix.sh: New file.
71516         * tests/test-vprintf-posix.c: New file.
71517         * tests/test-printf-posix.h: New file.
71518
71519         * modules/vprintf-posix: New file.
71520         * lib/vprintf.c: New file.
71521         * m4/vprintf-posix.m4: New file.
71522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71523         REPLACE_VPRINTF.
71524         * lib/stdio_.h (vprintf): New declaration.
71525         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71526         REPLACE_VPRINTF.
71527
71528 2007-03-08  Bruno Haible  <bruno@clisp.org>
71529
71530         * modules/fprintf-posix-tests: New file.
71531         * tests/test-fprintf-posix.sh: New file.
71532         * tests/test-fprintf-posix.c: New file.
71533
71534         * modules/fprintf-posix: New file.
71535         * lib/fprintf.c: New file.
71536         * m4/fprintf-posix.m4: New file.
71537         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71538         REPLACE_FPRINTF.
71539         * lib/stdio_.h (fprintf): New declaration.
71540         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71541         REPLACE_FPRINTF.
71542
71543 2007-03-08  Bruno Haible  <bruno@clisp.org>
71544
71545         * modules/vfprintf-posix-tests: New file.
71546         * tests/test-vfprintf-posix.sh: New file.
71547         * tests/test-vfprintf-posix.c: New file.
71548         * tests/test-fprintf-posix.h: New file.
71549         * tests/test-fprintf-posix.out: New file.
71550
71551         * modules/vfprintf-posix: New file.
71552         * lib/vfprintf.c: New file.
71553         * m4/vfprintf-posix.m4: New file.
71554         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71555         REPLACE_VFPRINTF.
71556         * lib/stdio_.h (vfprintf): New declaration.
71557         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71558         REPLACE_VFPRINTF.
71559
71560 2007-03-08  Bruno Haible  <bruno@clisp.org>
71561
71562         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71563
71564 2007-03-08  Bruno Haible  <bruno@clisp.org>
71565
71566         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71567         instead of 'expr' invocations.
71568         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71569         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71570         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71571         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71573         Suggested by Paul Eggert.
71574
71575 2007-03-08  Bruno Haible  <bruno@clisp.org>
71576
71577         * modules/fseterr-tests: New file.
71578         * tests/test-fseterr.c: New file.
71579
71580         * modules/fseterr: New file.
71581         * lib/fseterr.h: New file.
71582         * lib/fseterr.c: New file.
71583
71584 2007-03-08  Bruno Haible  <bruno@clisp.org>
71585
71586         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71587         * lib/getopt_.h: Likewise.
71588         * lib/mbswidth.h: Likewise.
71589         * lib/setenv.h: Likewise.
71590         * lib/vasnprintf.h: Likewise.
71591         * lib/vasprintf.h: Likewise.
71592         * lib/verror.h: Likewise.
71593         * lib/xsetenv.h: Likewise.
71594         * lib/xvasprintf.h: Likewise.
71595
71596 2007-03-08  Jim Meyering  <jim@meyering.net>
71597
71598         * users.txt: Add parted.
71599
71600         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71601
71602 2007-03-07  Bruno Haible  <bruno@clisp.org>
71603
71604         * m4/printf.m4: Make the shell script snippets copy&pastable.
71605
71606 2007-03-02  Bruno Haible  <bruno@clisp.org>
71607
71608         * lib/netinet_in_.h: New file.
71609         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71610         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71611         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71612         (Depends-on): Add absolute-header.
71613         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71614         into netinet/in.h.
71615
71616 2007-03-03  Bruno Haible  <bruno@clisp.org>
71617
71618         * lib/sys_select_.h: New file.
71619         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71620         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71621         * modules/sys_select (Files): Add lib/sys_select_.h.
71622         (Depends-on): Add absolute-header.
71623         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71624         into sys/select.h.
71625
71626 2007-03-02  Bruno Haible  <bruno@clisp.org>
71627
71628         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71629         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71630         values.
71631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71632         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71633         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71634         * modules/sys_socket (Depends-on): Add absolute-header.
71635         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71636         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71637         (Include): Remove requirement of inclusion of <sys/types.h>.
71638
71639 2007-03-02  Bruno Haible  <bruno@clisp.org>
71640
71641         * lib/byteswap_.h (bswap_32): Fix formula.
71642
71643 2007-03-06  Bruno Haible  <bruno@clisp.org>
71644
71645         * modules/sprintf-posix-tests: New file.
71646         * tests/test-sprintf-posix.c: New file.
71647
71648         * modules/sprintf-posix: New file.
71649         * lib/sprintf.c: New file.
71650         * m4/sprintf-posix.m4: New file.
71651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71652         REPLACE_SPRINTF.
71653         * lib/stdio_.h (sprintf): New declaration.
71654         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71655         REPLACE_SPRINTF.
71656
71657 2007-03-06  Bruno Haible  <bruno@clisp.org>
71658
71659         * modules/vsprintf-posix-tests: New file.
71660         * tests/test-vsprintf-posix.c: New file.
71661         * tests/test-sprintf-posix.h: New file.
71662
71663         * modules/vsprintf-posix: New file.
71664         * lib/vsprintf.c: New file.
71665         * m4/vsprintf-posix.m4: New file.
71666         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71667         REPLACE_VSPRINTF.
71668         * lib/stdio_.h (vsprintf): New declaration.
71669         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71670         REPLACE_VSPRINTF.
71671
71672 2007-03-06  Bruno Haible  <bruno@clisp.org>
71673
71674         * modules/vsnprintf (Depend-on): Remove minmax.
71675
71676 2007-03-06  Bruno Haible  <bruno@clisp.org>
71677
71678         * modules/snprintf-posix-tests: New file.
71679         * tests/test-snprintf-posix.c: New file.
71680
71681         * modules/snprintf-posix: New file.
71682         * m4/snprintf-posix.m4: New file.
71683         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71684         gl_FUNC_SNPRINTF.
71685         (gl_FUNC_SNPRINTF): Invoke it.
71686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71687         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71688         is set.
71689         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71690
71691 2007-03-06  Bruno Haible  <bruno@clisp.org>
71692
71693         * modules/vsnprintf-posix-tests: New file.
71694         * tests/test-vsnprintf-posix.c: New file.
71695         * tests/test-snprintf-posix.h: New file.
71696
71697         * modules/vsnprintf-posix: New file.
71698         * m4/vsnprintf-posix.m4: New file.
71699         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71700         gl_FUNC_VSNPRINTF.
71701         (gl_FUNC_VSNPRINTF): Invoke it.
71702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71703         * lib/stdio_.h (vsnprintf): Define as a replacement if
71704         REPLACE_VSNPRINTF is set.
71705         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71706
71707 2007-03-06  Bruno Haible  <bruno@clisp.org>
71708
71709         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71710         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71711
71712 2007-03-06  Bruno Haible  <bruno@clisp.org>
71713
71714         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71715         (asinl): Declare also if HAVE_DECL_ASINL is set.
71716         (atanl): Declare also if HAVE_DECL_ATANL is set.
71717         (ceill): Declare also if HAVE_DECL_CEILL is set.
71718         (cosl): Declare also if HAVE_DECL_COSL is set.
71719         (expl): Declare also if HAVE_DECL_EXPL is set.
71720         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71721         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71722         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71723         (logl): Declare also if HAVE_DECL_LOGL is set.
71724         (sinl): Declare also if HAVE_DECL_SINL is set.
71725         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71726         (tanl): Declare also if HAVE_DECL_TANL is set.
71727         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71728         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71729         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71730         declaration of frexpl, ldexpl.
71731         * modules/printf-frexpl (Depends-on): Add math.
71732         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71733
71734 2007-03-05  Bruno Haible  <bruno@clisp.org>
71735
71736         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71737         frexpl and ldexpl are declared.
71738         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71739
71740 2007-03-05  Bruno Haible  <bruno@clisp.org>
71741
71742         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71743         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71744
71745 2007-03-05  Bruno Haible  <bruno@clisp.org>
71746
71747         * lib/stdio_.h: Include <stddef.h>.
71748
71749 2007-03-05  Bruno Haible  <bruno@clisp.org>
71750
71751         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71752
71753 2007-03-05  Bruno Haible  <bruno@clisp.org>
71754
71755         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71756         NetBSD 4, from Ralf Wildenhues.
71757
71758 2007-03-04  Bruno Haible  <bruno@clisp.org>
71759
71760         * lib/vasprintf.h: Update #if logic for the case when the functions
71761         exist but are overridden.
71762
71763 2007-03-04  Bruno Haible  <bruno@clisp.org>
71764
71765         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
71766         implementations: glibc-2.4 and MacOS X 10.3.
71767         * tests/test-vasnprintf-posix.c (test_function): Test also the case
71768         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
71769         * tests/test-vasprintf-posix.c (test_function): Likewise.
71770
71771 2007-03-04  Bruno Haible  <bruno@clisp.org>
71772
71773         * modules/vasprintf-posix-tests: New file.
71774         * tests/test-vasprintf-posix.c: New file.
71775
71776         * modules/vasprintf-posix: New file.
71777         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
71778         defined.
71779         * m4/vasprintf-posix.m4: New file.
71780         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
71781         gl_FUNC_VASPRINTF.
71782         (gl_FUNC_VASPRINTF): Invoke it.
71783         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
71784         here.
71785         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
71786
71787 2007-03-04  Bruno Haible  <bruno@clisp.org>
71788
71789         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
71790         REPLACE_GETTIMEOFDAY.
71791         * modules/sys_time (Makefile.am): Likewise.
71792         * m4/sys_time_h.m4: Likewise.
71793         * m4/gettimeofday.m4: Likewise.
71794
71795 2007-03-04  Bruno Haible  <bruno@clisp.org>
71796
71797         * modules/vasnprintf-posix-tests: New file.
71798         * tests/test-vasnprintf-posix.c: New file.
71799
71800         * modules/vasnprintf-posix: New file.
71801         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
71802         printf-frexpl.h.
71803         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
71804         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
71805         REPLACE_VASNPRINTF is defined.
71806         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
71807         gl_FUNC_VASNPRINTF.
71808         (gl_FUNC_VASNPRINTF): Invoke it.
71809         * m4/vasnprintf-posix.m4: New file.
71810         * m4/printf.m4: New file.
71811
71812 2007-03-04  Bruno Haible  <bruno@clisp.org>
71813
71814         Compile progreloc.c only if --enable-relocatable is specified.
71815         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
71816         if --enable-relocatable was specified.
71817         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
71818         lib_SOURCES.
71819
71820 2007-03-04  Jim Meyering  <jim@meyering.net>
71821
71822         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
71823         Use it consistently, rather than enumerating errno constants.
71824
71825 2007-03-04  Bruno Haible  <bruno@clisp.org>
71826
71827         * modules/xvasprintf-tests: New file.
71828         * tests/test-xvasprintf.c: New file.
71829
71830         * modules/vasprintf-tests: New file.
71831         * tests/test-vasprintf.c: New file.
71832
71833         * modules/vasnprintf-tests: New file.
71834         * tests/test-vasnprintf.c: New file.
71835
71836         * modules/vsnprintf-tests: New file.
71837         * tests/test-vsnprintf.c: New file.
71838
71839         * modules/snprintf-tests: New file.
71840         * tests/test-snprintf.c: New file.
71841
71842 2007-03-04  Bruno Haible  <bruno@clisp.org>
71843
71844         Compile relocatable.c only if --enable-relocatable is specified.
71845         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
71846         gl_RELOCATABLE_LIBRARY.
71847         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
71848         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
71849         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
71850         gl_RELOCATABLE_LIBRARY.
71851         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
71852         (Makefile.am): Remove lib_SOURCES.
71853         * modules/relocatable-lib-lgpl (configure.ac): Invoke
71854         gl_RELOCATABLE_LIBRARY.
71855         (Makefile.am): Remove lib_SOURCES.
71856         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
71857         always.
71858         * modules/relocatable-prog-wrapper (configure.ac): Invoke
71859         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
71860
71861 2007-03-04  Bruno Haible  <bruno@clisp.org>
71862
71863         * modules/argmatch-tests: New file.
71864         * tests/test-argmatch.c: New file.
71865
71866         * tests/test-allocsa.c (main): Halve the number of loop runs.
71867
71868         * modules/alloca-opt-tests: New file.
71869         * tests/test-alloca-opt.c: New file.
71870
71871 2007-03-04  Jim Meyering  <jim@meyering.net>
71872
71873         Work around difference between Linux ACLs and Solaris 10 ZFS.
71874         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
71875         for EINVAL.
71876
71877 2007-03-03  Bruno Haible  <bruno@clisp.org>
71878
71879         * modules/relocatable-prog (Depends-on): Add back progreloc's
71880         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
71881
71882 2007-03-03  Bruno Haible  <bruno@clisp.org>
71883
71884         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
71885         * modules/relocatable-lib: New file.
71886
71887 2007-03-03  Bruno Haible  <bruno@clisp.org>
71888
71889         * modules/relocatable-prog: Renamed from modules/relocatable.
71890         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
71891
71892 2007-03-03  Bruno Haible  <bruno@clisp.org>
71893
71894         * modules/relocatable-script (Files): Add doc/relocatable.texi,
71895         m4/relocatable-lib.m4.
71896         (Depends-on): Remove 'relocatable'.
71897         (configure.ac): Add gl_RELOCATABLE_NOP.
71898
71899 2007-03-03  Bruno Haible  <bruno@clisp.org>
71900
71901         * modules/relocatable-prog-wrapper: New file.
71902         * modules/relocatable (Depends-on): Add it. Remove all other
71903         dependencies except progname.
71904         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
71905
71906         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
71907         (gl_FUNC_STRERROR): Nop.
71908         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
71909
71910         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
71911         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
71912
71913         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
71914         (gl_FUNC_READLINK): Update.
71915
71916         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
71917
71918 2007-03-03  Bruno Haible  <bruno@clisp.org>
71919
71920         * lib/xreadlink.c: Include <unistd.h> unconditionally.
71921         * modules/xreadlink (Depends-on): Add unistd.
71922         * modules/xreadlink-with-size (Depends-on): Likewise.
71923
71924 2007-03-03  Bruno Haible  <bruno@clisp.org>
71925
71926         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
71927         extracted from gt_FUNC_SETENV.
71928         (gt_FUNC_SETENV): Remove macro.
71929         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
71930         remove gt_FUNC_SETENV.
71931
71932 2007-03-03  Bruno Haible  <bruno@clisp.org>
71933
71934         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71935         ENABLE_RELOCATABLE here.
71936         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71937
71938 2007-03-03  Bruno Haible  <bruno@clisp.org>
71939
71940         * modules/rbtreehash-list-tests (Depends-on): Add progname.
71941         * tests/test-rbtreehash_list.c: Include progname.h.
71942         (main): Call set_program_name.
71943
71944         * modules/rbtree-oset-tests (Depends-on): Add progname.
71945         * tests/test-rbtree_oset.c: Include progname.h.
71946         (main): Call set_program_name.
71947
71948         * modules/rbtree-list-tests (Depends-on): Add progname.
71949         * tests/test-rbtree_list.c: Include progname.h.
71950         (main): Call set_program_name.
71951
71952         * modules/linked-list-tests (Depends-on): Add progname.
71953         * tests/test-linked_list.c: Include progname.h.
71954         (main): Call set_program_name.
71955
71956 2007-03-03  Bruno Haible  <bruno@clisp.org>
71957
71958         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
71959         All uses of __restrict changed to _Restrict_.
71960         * lib/glob_.h (__restrict): Remove macro.
71961
71962 2007-03-02  Bruno Haible  <bruno@clisp.org>
71963
71964         * modules/gettext (configure.ac): Require gettext infrastructure
71965         from version 0.16.1.
71966
71967 2007-03-02  Bruno Haible  <bruno@clisp.org>
71968
71969         * modules/linkedhash-list-tests (Depends-on): Add progname.
71970         * tests/test-linkedhash_list.c: Include progname.h.
71971         (main): Call set_program_name.
71972
71973         * modules/carray-list-tests (Depends-on): Add progname.
71974         * tests/test-carray_list.c: Include progname.h.
71975         (main): Call set_program_name.
71976
71977         * modules/avltreehash-list-tests (Depends-on): Add progname.
71978         * tests/test-avltreehash_list.c: Include progname.h.
71979         (main): Call set_program_name.
71980
71981         * modules/avltree-oset-tests (Depends-on): Add progname.
71982         * tests/test-avltree_oset.c: Include progname.h.
71983         (main): Call set_program_name.
71984
71985         * modules/avltree-list-tests (Depends-on): Add progname.
71986         * tests/test-avltree_list.c: Include progname.h.
71987         (main): Call set_program_name.
71988
71989         * modules/array-oset-tests (Depends-on): Add progname.
71990         * tests/test-array_oset.c: Include progname.h.
71991         (main): Call set_program_name.
71992
71993         * modules/array-list-tests (Depends-on): Add progname.
71994         * tests/test-array_list.c: Include progname.h.
71995         (main): Call set_program_name.
71996
71997         * modules/argp-tests (Depends-on): Add progname.
71998         * tests/test-argp.c: Include argp.h first. Include progname.h.
71999         (main): Call set_program_name.
72000
72001 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * doc/gnulib-tool.texi (Initial import): Reword description of
72004         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72005         limited effect even if defined after the first system include.
72006
72007 2007-03-01  Bruno Haible  <bruno@clisp.org>
72008
72009         * build-aux/config.libpath: Update to libtool-1.5.22.
72010         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72011
72012 2007-03-01  Bruno Haible  <bruno@clisp.org>
72013
72014         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72015         foo_CFLAGS.
72016         Reported by Ralf Wildenhues.
72017
72018 2007-03-01  Bruno Haible  <bruno@clisp.org>
72019
72020         * build-aux/install-reloc: Remove object files left over by some
72021         compilers.
72022         Reported by Ralf Wildenhues.
72023
72024 2007-03-01  Bruno Haible  <bruno@clisp.org>
72025
72026         * build-aux/install-reloc: Break long lines.
72027
72028 2007-03-01  Bruno Haible  <bruno@clisp.org>
72029
72030         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72031         Reported by Ralf Wildenhues.
72032
72033 2007-03-01  Bruno Haible  <bruno@clisp.org>
72034
72035         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72036         include ordering constraints.
72037
72038 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72041         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72042         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72043         as another example.
72044         * lib/time_.h: Fix misspelling.
72045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72046         Require gl_HEADER_TIME_H_DEFAULTS.
72047         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72048         * m4/time_r.m4 (gl_TIME_R): Likewise.
72049         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72050
72051 2007-03-01  Bruno Haible  <bruno@clisp.org>
72052
72053         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72054         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72055
72056 2007-03-01  Jim Meyering  <jim@meyering.net>
72057
72058         * modules/xreadlink (Maintainer): Add my name.
72059         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72060
72061 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72062             Bruno Haible  <bruno@clisp.org>
72063
72064         * build-aux/install-reloc: Compile also c-ctype.c.
72065         * build-aux/relocatable.sh.in: New file.
72066         * doc/relocatable.texi: New file.
72067         * doc/relocatable-maint.texi: New file.
72068         * doc/gnulib.texi: Include relocatable-maint.texi.
72069         * lib/progreloc.c: Include unistd.h unconditionally.
72070         * lib/relocwrapper.c: Include unistd.h unconditionally.
72071         Include c-ctype.h.
72072         (add_dotbin): Use c_tolower.
72073         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72074         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72075         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72076         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72077         to m4/relocatable-lib.m4.
72078         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72079         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72080         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72081         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72082         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72083         * modules/relocatable: New file.
72084         * modules/relocatable-lib: New file.
72085         * modules/relocatable-script: New file.
72086
72087 2007-02-28  Bruno Haible  <bruno@clisp.org>
72088
72089         Import --enable-relocatable infrastructure.
72090         * build-aux/config.libpath: New file, from GNU gettext.
72091         * build-aux/install-reloc: New file, from GNU gettext.
72092         * build-aux/reloc-ldflags: New file, from GNU gettext.
72093         * lib/relocatable.h: New file, from GNU gettext.
72094         * lib/relocatable.c: New file, from GNU gettext.
72095         * lib/relocwrapper.c: New file, from GNU gettext.
72096         * m4/relocatable.m4: New file, from GNU gettext.
72097
72098 2007-02-28  Bruno Haible  <bruno@clisp.org>
72099
72100         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72101
72102         * modules/xreadlink: New file, from GNU gettext with modifications.
72103         * lib/xreadlink.c: New file, from GNU gettext.
72104         * lib/xreadlink.h: Add comments.
72105         (xreadlink): New declaration.
72106
72107         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72108         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72109         lib/xreadlink-with-size.c.
72110         (configure.ac): Remove gl_XREADLINK invocation.
72111         (Makefile.am): Augment lib_SOURCES.
72112         * m4/xreadlink.m4: Remove file.
72113         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72114         (xreadlink_with_size): Renamed from xreadink.
72115         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72116         * modules/canonicalize (Depends-on): Replace xreadlink with
72117         xreadlink-with-size.
72118         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72119
72120 2007-02-25  Jim Meyering  <jim@meyering.net>
72121
72122         * build-aux/announce-gen: When complaining about excess arguments,
72123         list them.
72124
72125 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72126
72127         * README: Document signed integer overflow situation more
72128         accurately.
72129
72130 2007-02-25  Bruno Haible  <bruno@clisp.org>
72131
72132         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72133         'a' or 'A' conversion.
72134
72135 2007-02-25  Bruno Haible  <bruno@clisp.org>
72136
72137         * modules/filename: Renamed from modules/pathname.
72138         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72139         lib/concatpath.c with lib/concat-filename.c.
72140         (Makefile.am): Update.
72141         (Include): Replace pathname.h with filename.h.
72142         * lib/filename.h: Renamed from lib/pathname.h.
72143         (concatenated_filename): Renamed from concatenated_pathname.
72144         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72145         (concatenated_filename): Renamed from concatenated_pathname.
72146         * lib/findprog.c: Include filename.h instead of pathname.h.
72147         (find_in_path): Update.
72148         * lib/javacomp.c: Include filename.h instead of pathname.h.
72149         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72150         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72151         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72152         is_oldgcj_14_13_usable, is_javac_usable): Update.
72153         * lib/javaexec.c: Include filename.h instead of pathname.h.
72154         (execute_java_class): Update.
72155         * modules/findprog: Update.
72156         * modules/javacomp: Update.
72157         * modules/javaexec: Update.
72158         * MODULES.html.sh (File system functions): Add 'filename', remove
72159         'pathname'.
72160
72161 2007-02-25  Bruno Haible  <bruno@clisp.org>
72162
72163         * modules/printf-frexpl-tests: New file.
72164         * tests/test-printf-frexpl.c: New file.
72165
72166         * modules/printf-frexpl: New file.
72167         * lib/printf-frexpl.h: New file.
72168         * lib/printf-frexpl.c: New file.
72169         * m4/printf-frexpl.m4: New file.
72170
72171 2007-02-25  Bruno Haible  <bruno@clisp.org>
72172
72173         * modules/printf-frexp-tests: New file.
72174         * tests/test-printf-frexp.c: New file.
72175
72176         * modules/printf-frexp: New file.
72177         * lib/printf-frexp.h: New file.
72178         * lib/printf-frexp.c: New file.
72179         * m4/printf-frexp.m4: New file.
72180
72181 2007-02-25  Bruno Haible  <bruno@clisp.org>
72182
72183         Assume automake >= 1.10 for the tests.
72184         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72185         * modules/arctwo-tests: Likewise.
72186         * modules/argp-tests: Likewise.
72187         * modules/avltree-list-tests: Likewise.
72188         * modules/avltree-oset-tests: Likewise.
72189         * modules/avltreehash-list-tests: Likewise.
72190         * modules/carray-list-tests: Likewise.
72191         * modules/crc-tests: Likewise.
72192         * modules/des-tests: Likewise.
72193         * modules/gc-arcfour-tests: Likewise.
72194         * modules/gc-arctwo-tests: Likewise.
72195         * modules/gc-des-tests: Likewise.
72196         * modules/gc-hmac-md5-tests: Likewise.
72197         * modules/gc-hmac-sha1-tests: Likewise.
72198         * modules/gc-md2-tests: Likewise.
72199         * modules/gc-md4-tests: Likewise.
72200         * modules/gc-md5-tests: Likewise.
72201         * modules/gc-pbkdf2-sha1-tests: Likewise.
72202         * modules/gc-rijndael-tests: Likewise.
72203         * modules/gc-sha1-tests: Likewise.
72204         * modules/gc-tests: Likewise.
72205         * modules/getaddrinfo-tests: Likewise.
72206         * modules/hmac-md5-tests: Likewise.
72207         * modules/hmac-sha1-tests: Likewise.
72208         * modules/linked-list-tests: Likewise.
72209         * modules/linkedhash-list-tests: Likewise.
72210         * modules/lock-tests: Likewise.
72211         * modules/md2-tests: Likewise.
72212         * modules/md4-tests: Likewise.
72213         * modules/md5-tests: Likewise.
72214         * modules/rbtree-list-tests: Likewise.
72215         * modules/rbtree-oset-tests: Likewise.
72216         * modules/rbtreehash-list-tests: Likewise.
72217         * modules/read-file-tests: Likewise.
72218         * modules/rijndael-tests: Likewise.
72219         * modules/stdint-tests: Likewise.
72220         * modules/tls-tests: Likewise.
72221
72222 2007-02-24  Bruno Haible  <bruno@clisp.org>
72223
72224         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72225         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72226         function; instead check whether isnan with a double argument links.
72227         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72228         function; instead check whether isnan with a 'long double' argument
72229         links.
72230         Reported by Eric Blake <ebb9@byu.net>.
72231
72232 2007-02-24  Bruno Haible  <bruno@clisp.org>
72233
72234         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72235         defined.
72236         * lib/isnanl.c: Remove all code. Just include isnan.c.
72237         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72238
72239 2007-02-25  Jim Meyering  <jim@meyering.net>
72240
72241         Avoid conflicting types for 'unsetenv' on FreeBSD.
72242         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72243         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72244         in stdlib.h.
72245
72246 2007-02-24  Bruno Haible  <bruno@clisp.org>
72247
72248         * modules/isnanl-nolibm-tests: New file.
72249         * tests/test-isnanl.c: New file.
72250
72251         * modules/isnanl-nolibm: New file.
72252         * lib/isnanl.h: New file.
72253         * lib/isnanl.c: New file.
72254         * m4/isnanl.m4: New file.
72255
72256 2007-02-24  Bruno Haible  <bruno@clisp.org>
72257
72258         * modules/isnan-nolibm-tests: New file.
72259         * tests/test-isnan.c: New file.
72260
72261         * modules/isnan-nolibm: New file.
72262         * lib/isnan.h: New file.
72263         * lib/isnan.c: New file.
72264         * m4/isnan.m4: New file.
72265
72266 2007-02-24  Bruno Haible  <bruno@clisp.org>
72267
72268         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72269         assume that an exponent fits in 20 bits.
72270
72271 2007-02-24  Jim Meyering  <jim@meyering.net>
72272
72273         * m4/regex.m4: Update the description of the configure-time option,
72274         --without-included-regex, to state accurately what the defaults are,
72275         and perhaps to give people an idea why using this option is risky.
72276
72277 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72280         loops on small arguments.  This attempts to avoid the problem
72281         Bruno Haible reported for AIX 4.3.2 in
72282         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72283
72284 2007-02-23  Bruno Haible  <bruno@clisp.org>
72285
72286         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72287         Needed for help2man.
72288
72289 2007-02-23  Karl Berry  <karl@gnu.org>
72290
72291         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72292         exists, foo.h should be cvs-ignored, not committed.
72293
72294 2007-02-23  Eric Blake  <ebb9@byu.net>
72295
72296         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72297         * lib/stat-time.h (includes): Likewise.
72298         * lib/utimecmp.c (includes): Likewise.
72299         * lib/utimens.h (includes): Likewise.
72300         * lib/getdate.y (includes): Also include "timespec.h" for use
72301         internal to the module.
72302         * modules/utimens (Depends-on): Revert yesterday's patch.
72303         * modules/nanosleep (Depends-on): Add missing dependency.
72304
72305 2007-02-22  Bruno Haible  <bruno@clisp.org>
72306
72307         * lib/glob.c: Don't include getlogin_r.h.
72308
72309 2007-02-22  Jim Meyering  <jim@meyering.net>
72310
72311         * modules/utimens (Depends-on): Add timespec, required for
72312         utimens.h's inclusion of timespec.h.
72313
72314 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72315
72316         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72317         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72318         Schwab in
72319         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72320         I'll try to think of a better way to fix the Solaris problem.
72321
72322         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72323         like glibc; on Solaris 10, it fails with errno == EINVAL.
72324         POSIX says the behavior is unspecified if the first argument is NULL,
72325         so play it safe and never pass NULL to the system getcwd.
72326
72327 2007-02-21  Jim Meyering  <jim@meyering.net>
72328
72329         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72330         of gettimeofday.  It would conflict with the one now always
72331         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72332         an IRIX 6.5 build failure.
72333
72334 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72335
72336         Minor fixups to port to Solaris 10 with Sun C 5.8.
72337         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72338         * modules/getcwd (Depends-on): Add dirfd.
72339         * lib/putenv.c (putenv): #undef it.
72340         (rpl_putenv): New decl.
72341         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72342
72343 2007-02-20  Bruno Haible  <bruno@clisp.org>
72344
72345         * modules/stdio-tests: New file.
72346         * tests/test-stdio.c: New file.
72347
72348         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72349         (Depends-on): Add stdio.
72350         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72351         (Include): Use <stdio.h> instead of vsnprintf.h.
72352         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72353         HAVE_DECL_VSNPRINTF.
72354         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72355
72356         * modules/snprintf (Files): Remove lib/snprintf.h.
72357         (Depends-on): Add stdio.
72358         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72359         (Include): Use <stdio.h> instead of snprintf.h.
72360         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72361         HAVE_DECL_SNPRINTF.
72362         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72363         * lib/getaddrinfo.c: Likewise.
72364
72365         * modules/stdio: New file.
72366         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72367         * lib/snprintf.h: Remove file.
72368         * lib/vsnprintf.h: Remove file.
72369         * lib/.cppi-disable: Remove snprintf.h.
72370         * m4/stdio_h.m4: New file.
72371         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72372
72373 2007-02-20  Jim Meyering  <jim@meyering.net>
72374
72375         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72376         used by e.g., mingw.  From Bruno Haible.
72377
72378 2007-02-19  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72381         warnings.
72382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72383
72384 2007-02-19  Bruno Haible  <bruno@clisp.org>
72385
72386         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72387         from mingw users.
72388
72389 2007-02-19  Bruno Haible  <bruno@clisp.org>
72390
72391         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72392         warnings.
72393         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72394
72395 2007-02-19  Jim Meyering  <jim@meyering.net>
72396
72397         Don't use FD after a successful "fdopendir (fd)".
72398         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72399         Reset it by calling dirfd on the just-obtained DIR*.
72400
72401         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72402         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72403
72404 2007-02-18  Bruno Haible  <bruno@clisp.org>
72405
72406         * lib/readlink.c: Include <unistd.h>.
72407         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72408         HAVE_READLINK.
72409         * modules/readlink (Depends-on): Add unistd.
72410         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72411         (Include): Add <unistd.h>.
72412
72413         * lib/getlogin_r.h: Remove file.
72414         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72415         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72416         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72417         HAVE_DECL_GETLOGIN_R.
72418         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72419         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72420         (Include): Use <unistd.h> instead of getlogin_r.h.
72421
72422         * lib/getcwd.h: Remove file.
72423         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72424         * lib/xgetcwd.c: Likewise.
72425         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72426         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72427         * modules/getcwd (Files): Remove lib/getcwd.h.
72428         (Depends-on): Add unistd.
72429         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72430         (Include): Use <unistd.h> instad of getcwd.h.
72431
72432         * lib/ftruncate.c: Include <unistd.h> first.
72433         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72434         Set HAVE_FTRUNCATE.
72435         * modules/ftruncate (Depends-on): Add unistd.
72436         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72437
72438         * lib/fchdir.c: Include <unistd.h> first.
72439         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72440         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72441         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72442         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72443         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72444
72445         * lib/dup2.c: Include <unistd.h> first.
72446         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72447         HAVE_DUP2.
72448         * modules/dup2 (Depends-on): Add unistd.
72449         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72450
72451         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72452         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72453         REPLACE_CHOWN. Don't define chown as a macro here.
72454         * modules/chown (Depends-on): Add unistd.
72455         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72456
72457         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72458         Add definition for GL_LINK_WARNING.
72459         (chown, dup2): New declarations.
72460         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72461         link warning.
72462         (ftruncate): New declaration.
72463         (getcwd): New declaration, taken from old getcwd.h.
72464         (getlogin_r): New declaration, taken from old getlogin_r.h.
72465         (readlink): New declaration.
72466         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72467         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72468         (gl_PREREQ_UNISTD): Remove macro.
72469         (gl_UNISTD_MODULE_INDICATOR): New macro.
72470         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72471         many new variables. Don't set UNISTD_H.
72472         * modules/unistd (Description): Change.
72473         (Depends-on): Add link-warning.
72474         (configure.ac): Update.
72475         (Makefile.am): Create unistd.h always. Substitute many new variables
72476         into it.
72477
72478 2007-02-18  Bruno Haible  <bruno@clisp.org>
72479
72480         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72481         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72482         HAVE_GETSUBOPT.
72483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72484         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72485         * lib/getsubopt.h: Remove file.
72486         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72487         (Depends-on): Add stdlib.
72488         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72489         (Includes): Use <stdlib.h> instead of getsubopt.h.
72490         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72491         Set HAVE_GETSUBOPT.
72492         * lib/getsubopt.c: Don't include getsubopt.h.
72493
72494 2007-02-18  Bruno Haible  <bruno@clisp.org>
72495
72496         * modules/fchdir (Depends-on): Add dup2.
72497
72498 2007-02-18  Bruno Haible  <bruno@clisp.org>
72499
72500         * lib/stdlib_.h: Handle glibc's special invocation convention
72501         specially.
72502
72503 2007-02-18  Bruno Haible  <bruno@clisp.org>
72504
72505         * modules/stdlib-tests: New file.
72506         * tests/test-stdlib.c: New file.
72507
72508         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72509         (Depends-on): Add stdlib.
72510         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72511         (Includes): Use <stdlib.h> instead of mkstemp.h.
72512         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72513         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72514         * lib/mkstemp.c: Don't include mkstemp.h.
72515         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72516         * lib/stdlib--.h: Don't include mkstemp.h.
72517
72518         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72519         (Depends-on): Add stdlib.
72520         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72521         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72522         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72523         HAVE_MKDTEMP.
72524         * lib/mkdtemp.c: Don't include mkdtemp.h.
72525         * lib/clean-temp.c: Don't include mkdtemp.h.
72526
72527         * modules/exit (Files): Remove lib/exit.h.
72528         (Depends-on): Add stdlib.
72529         (Makefile.am): Remove lib_SOURCES.
72530         (Include): Use <stdlib.h> instead of exit.h.
72531         * lib/argmatch.c: Don't include exit.h.
72532         * lib/execute.c: Likewise.
72533         * lib/pagealign_alloc.c: Likewise.
72534         * lib/pipe.c: Likewise.
72535         * lib/wait-process.c: Likewise.
72536         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72537         * lib/exitfail.c: Likewise.
72538         * lib/savewd.c: Likewise.
72539         * lib/xsetenv.c: Likewise.
72540
72541         * modules/stdlib: New file.
72542         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72543         and extra comments about mkstemp().
72544         * lib/exit.h: Remove file.
72545         * lib/mkdtemp.h: Remove file.
72546         * lib/mkstemp.h: Remove file.
72547         * m4/stdlib_h.m4: New file.
72548         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72549
72550 2007-02-18  Bruno Haible  <bruno@clisp.org>
72551
72552         * modules/math-tests: New file.
72553         * tests/test-math.c: New file.
72554
72555         * modules/math: New file.
72556         * modules/mathl (Files): Remove lib/mathl.h.
72557         (Depends-on): Add math.
72558         (Makefile.am): Don't mention mathl.h.
72559         (Include): Use <math.h> instead of mathl.h.
72560         * lib/math_.h: New file.
72561         * lib/mathl.h: Remove file.
72562         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72563         mathl.h.
72564         * lib/asinl.c: Likewise.
72565         * lib/atanl.c: Likewise.
72566         * lib/ceill.c: Likewise.
72567         * lib/cosl.c: Likewise.
72568         * lib/expl.c: Likewise.
72569         * lib/floorl.c: Likewise.
72570         * lib/frexpl.c: Likewise.
72571         * lib/ldexpl.c: Likewise.
72572         * lib/logl.c: Likewise.
72573         * lib/sincosl.c: Likewise.
72574         * lib/sinl.c: Likewise.
72575         * lib/sqrtl.c: Likewise.
72576         * lib/tanl.c: Likewise.
72577         * lib/trigl.c: Likewise.
72578         * m4/math_h.m4: New file.
72579         * MODULES.html.sh (Mathematics): Add math.
72580
72581 2007-02-17  Bruno Haible  <bruno@clisp.org>
72582
72583         * modules/wctype-tests: New file.
72584         * tests/test-wctype.c: New file.
72585
72586         * modules/wchar-tests: New file.
72587         * tests/test-wchar.c: New file.
72588
72589         * modules/unistd-tests: New file.
72590         * tests/test-unistd.c: New file.
72591
72592         * modules/time-tests: New file.
72593         * tests/test-time.c: New file.
72594
72595         * modules/sysexits-tests: New file.
72596         * tests/test-sysexits.c: New file.
72597
72598         * modules/sys_time-tests: New file.
72599         * tests/test-sys_time.c: New file.
72600
72601         * modules/sys_stat-tests: New file.
72602         * tests/test-sys_stat.c: New file.
72603
72604         * modules/sys_socket-tests: New file.
72605         * tests/test-sys_socket.c: New file.
72606
72607         * modules/sys_select-tests: New file.
72608         * tests/test-sys_select.c: New file.
72609
72610         * modules/string-tests: New file.
72611         * tests/test-string.c: New file.
72612
72613         * modules/stdbool-tests: New file.
72614         * tests/test-stdbool.c: New file.
72615
72616         * modules/netinet_in-tests: New file.
72617         * tests/test-netinet_in.c: New file.
72618
72619         * modules/inttypes-tests: New file.
72620         * tests/test-inttypes.c: New file.
72621
72622         * modules/fcntl-tests: New file.
72623         * tests/test-fcntl.c: New file.
72624
72625         * modules/byteswap-tests: New file.
72626         * tests/test-byteswap.c: New file.
72627
72628         * modules/arpa_inet-tests: New file.
72629         * tests/test-arpa_inet.c: New file.
72630
72631 2007-02-17  Bruno Haible  <bruno@clisp.org>
72632
72633         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72634         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72635         if the corresponding module is not enabled. Emit link warnings if
72636         the function is used nevertheless.
72637         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72638         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72639         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72640         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72641         * modules/inttypes (Depends-on): Add link-warning.
72642         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72643         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72644         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72645         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72646         * modules/imaxdiv (configure.ac): Likewise.
72647         * modules/strtoimax (configure.ac): Likewise.
72648         * modules/strtoumax (configure.ac): Likewise.
72649
72650 2007-02-17  Bruno Haible  <bruno@clisp.org>
72651
72652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72653         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72654         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72655         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72656
72657 2007-02-17  Bruno Haible  <bruno@clisp.org>
72658
72659         * modules/link-warning: New file.
72660         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72661         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72662         * modules/string (Depends-on): Add link-warning.
72663         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72664         string.h.
72665         * MODULES.html.sh (Support for building libraries and executables): Add
72666         link-warning.
72667
72668 2007-02-17  Bruno Haible  <bruno@clisp.org>
72669
72670         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72671         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72672         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72673         long lines.
72674
72675 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72676             Bruno Haible  <bruno@clisp.org>
72677
72678         * modules/tmpfile: New file.
72679         * lib/tmpfile.c: New file.
72680         * m4/tmpfile.m4: New file.
72681         * MODULES.html.sh (func_all_modules): New section "Input/output".
72682
72683 2007-02-15  Bruno Haible  <bruno@clisp.org>
72684
72685         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72686         (supports_delete_on_close): New function.
72687         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72688
72689 2007-02-14  Bruno Haible  <bruno@clisp.org>
72690
72691         * modules/mbspcasecmp-tests: New file.
72692         * tests/test-mbspcasecmp.sh: New file.
72693         * tests/test-mbspcasecmp.c: New file.
72694
72695         New module mbspcasecmp.
72696         * modules/mbspcasecmp: New file.
72697         * lib/mbspcasecmp.c: New file.
72698         * lib/string_.h (strncasecmp): Change warning message.
72699         (mbspcasecmp): New declaration.
72700         * m4/mbspcasecmp.m4: New file.
72701         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72702         GNULIB_MBSPCASECMP.
72703         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72704         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72705
72706 2007-02-14  Bruno Haible  <bruno@clisp.org>
72707
72708         * modules/mbsncasecmp-tests: New file.
72709         * tests/test-mbsncasecmp.sh: New file.
72710         * tests/test-mbsncasecmp.c: New file.
72711
72712         New module mbsncasecmp.
72713         * modules/mbsncasecmp: New file.
72714         * lib/mbsncasecmp.c: New file.
72715         * lib/string_.h (mbsncasecmp): New declaration.
72716         * m4/mbsncasecmp.m4: New file.
72717         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72718         GNULIB_MBSNCASECMP.
72719         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72720         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72721
72722 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72723
72724         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72725         Verify that it doesn't overlap with our flags.
72726         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72727         do not have the desired effect in multibyte locales; instead, use
72728         mbscasecmp.
72729         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72730         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72731         we don't require GNU fnmatch ourselves (if our users require it, they
72732         should do so explicitly).
72733
72734         Fix regex code so it doesn't rely on strcasecmp.
72735         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72736         Otherwise, include gnulib's langinfo.h.
72737         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72738         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72739         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72740         * modules/regex (FILES): Remove m4/codeset.m4.
72741         (Depends-on): Add localcharset.  Remove strcase.
72742
72743 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72744
72745         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72746         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72747
72748 2007-02-13  Bruno Haible  <bruno@clisp.org>
72749
72750         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72751         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72752
72753 2007-02-12  Bruno Haible  <bruno@clisp.org>
72754
72755         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72756         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72757         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72758         time warning rather than a link error.
72759
72760 2007-02-12  Bruno Haible  <bruno@clisp.org>
72761
72762         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72763         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72764         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72765
72766 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72767
72768         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
72769         args, not 2.
72770
72771 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72772
72773         New module 'time', so that apps can include <time.h> as per
72774         POSIX and GNU instead of separate include files like time_r.h
72775         and timegm.h.  This implementation tries out a simpler approach
72776         for replacing decls in standard include files (as compared to
72777         the string module), somewhat as an experiment.
72778
72779         * config/srclist.txt: Comment out mktime.c for now.
72780         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
72781         since it doesn't apply any more.  Use generic wording instead.
72782         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
72783         'time'.
72784         * lib/time_.h, m4/time_h.m4, modules/time: New files.
72785         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
72786         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
72787         Don't include <sys/types.h>; no longer needed since we assume C89.
72788         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
72789         * lib/strftime.c: Likewise.
72790         * lib/time_r.c: Likewise.
72791         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
72792         * lib/nanosleep.c: Include <time.h> first, to check interface.
72793         * lib/strptime.c: Likewise.
72794         * lib/time_r.c: Likewise.
72795         * lib/timegm.c: Likewise.
72796         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
72797         needed.
72798         * lib/timegm.c: Don't include timegm.h; no longer needed.
72799         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
72800         time.h now handles any problems in that area.
72801         (struct timespec, nanosleep): Remove; time.h now arranges for these.
72802         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
72803         that time.h defines struct timespec.
72804         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
72805         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
72806         handles that.
72807         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
72808         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
72809         needed.  Set REPLACE_LOCALTIME.
72810         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
72811         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
72812         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
72813         nanosleep; time_h.m4 now does that.  Don't require
72814         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
72815         module handles this now.
72816         * modules/getdate (Depends-on): Remove timespec.  Add time.
72817         * modules/nanosleep (Depends-on): Likewise.
72818         * modules/stat-time (Depends-on): Likewise.
72819         * modules/nanosleep (Include): Include time.h, not timespec.h.
72820         * modules/strptime (Files): Remove lib/strptime.h.
72821         (Depends-on): Add extensions, time.
72822         (Include): Include time.h, not strptime.h.
72823         * modules/time_r (Files): Remove lib/time_r.h.
72824         (Depends-on): Add time.
72825         (Include): Include time.h, not time_r.h.
72826         * modules/timegm: Likewise.
72827         * modules/timespec (Description): Now does timespec-related decls
72828         of our own, instead of struct timespec itself.
72829         (Depends-on): Add time; remove extensions.
72830         (Maintainer): Add self.
72831         * modules/utimecmp (Depends-on): Add time; remove timespec.
72832         * modules/utimens (Depends-on): Likewise.
72833         * modules/xnanosleep (Depends-on): Likewise.
72834
72835 2007-02-11  Bruno Haible  <bruno@clisp.org>
72836
72837         * lib/c-strstr.c: Include allocsa.h.
72838         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72839         * lib/c-strcasestr.c: Include allocsa.h.
72840         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72841         * lib/strcasestr.c: Include allocsa.h.
72842         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72843         * lib/mbsstr.c: Include allocsa.h.
72844         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72845         allocsa/freesa instead of malloc/free.
72846         * lib/mbscasestr.c: Include allocsa.h.
72847         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72848         allocsa/freesa instead of malloc/free.
72849         * modules/c-strstr (Depends-on): Add allocsa.
72850         * modules/c-strcasestr (Depends-on): Likewise.
72851         * modules/strcasestr (Depends-on): Likewise.
72852         * modules/mbsstr (Depends-on): Likewise.
72853         * modules/mbscasestr (Depends-on): Likewise.
72854
72855 2007-02-11  Bruno Haible  <bruno@clisp.org>
72856
72857         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
72858
72859         * modules/mbsspn-tests: New file.
72860         * tests/test-mbsspn.sh: New file.
72861         * tests/test-mbsspn.c: New file.
72862
72863 2007-02-11  Bruno Haible  <bruno@clisp.org>
72864
72865         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
72866
72867         * modules/mbspbrk-tests: New file.
72868         * tests/test-mbspbrk.sh: New file.
72869         * tests/test-mbspbrk.c: New file.
72870
72871 2007-02-11  Bruno Haible  <bruno@clisp.org>
72872
72873         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
72874         unneeded cast.
72875
72876         * modules/mbscspn-tests: New file.
72877         * tests/test-mbscspn.sh: New file.
72878         * tests/test-mbscspn.c: New file.
72879
72880 2007-02-11  Bruno Haible  <bruno@clisp.org>
72881
72882         * modules/mbscasecmp-tests: New file.
72883         * tests/test-mbscasecmp.sh: New file.
72884         * tests/test-mbscasecmp.c: New file.
72885
72886 2007-02-11  Bruno Haible  <bruno@clisp.org>
72887
72888         Ensure O(n) worst-case complexity of mbscasestr.
72889         * lib/mbscasestr.c: Include stdbool.h.
72890         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72891         functions.
72892         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
72893         the bookkeeping indicates that it's worth it.
72894         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
72895
72896         * modules/mbscasestr-tests: New file.
72897         * tests/test-mbscasestr1.c: New file.
72898         * tests/test-mbscasestr2.sh: New file.
72899         * tests/test-mbscasestr2.c: New file.
72900         * tests/test-mbscasestr3.sh: New file.
72901         * tests/test-mbscasestr3.c: New file.
72902         * tests/test-mbscasestr4.sh: New file.
72903         * tests/test-mbscasestr4.c: New file.
72904         * m4/locale-tr.m4: New file.
72905
72906 2007-02-11  Bruno Haible  <bruno@clisp.org>
72907
72908         Ensure O(n) worst-case complexity of mbsstr.
72909         * lib/mbsstr.c: Include stdbool.h.
72910         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72911         functions.
72912         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
72913         bookkeeping indicates that it's worth it.
72914         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
72915
72916         * modules/mbsstr-tests: New file.
72917         * tests/test-mbsstr1.c: New file.
72918         * tests/test-mbsstr2.sh: New file.
72919         * tests/test-mbsstr2.c: New file.
72920         * tests/test-mbsstr3.sh: New file.
72921         * tests/test-mbsstr3.c: New file.
72922         * m4/locale-fr.m4: New file.
72923
72924 2007-02-11  Bruno Haible  <bruno@clisp.org>
72925
72926         * lib/mbsrchr.c (mbsrchr): Fix bug.
72927
72928         * modules/mbsrchr-tests: New file.
72929         * tests/test-mbsrchr.sh: New file.
72930         * tests/test-mbsrchr.c: New file.
72931
72932 2007-02-11  Bruno Haible  <bruno@clisp.org>
72933
72934         * lib/mbschr.c (mbschr): Fix bug.
72935
72936         * modules/mbschr-tests: New file.
72937         * tests/test-mbschr.sh: New file.
72938         * tests/test-mbschr.c: New file.
72939         * m4/locale-zh.m4: New file.
72940
72941 2007-02-11  Bruno Haible  <bruno@clisp.org>
72942
72943         Support for copying multibyte string iterators.
72944         * lib/mbiter.h: Include <string.h>.
72945         (mbiter_multi_copy): New function.
72946         (mbi_copy): New macro.
72947         * lib/mbuiter.h: Include <string.h>.
72948         (mbuiter_multi_copy): New function.
72949         (mbui_copy): New macro.
72950
72951 2007-02-11  Bruno Haible  <bruno@clisp.org>
72952
72953         New module mbslen.
72954         * modules/mbslen: New file.
72955         * lib/mbslen.c: New file.
72956         * lib/string_.h (mbslen): New declaration.
72957         * m4/mbslen.m4: New file.
72958         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72959         GNULIB_MBSLEN.
72960         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
72961         * MODULES.html.sh (Internationalization functions): Add mbslen.
72962
72963 2007-02-11  Bruno Haible  <bruno@clisp.org>
72964
72965         Ensure O(n) worst-case complexity of strcasestr substitute.
72966         * lib/strcasestr.c: Include stdbool.h.
72967         (knuth_morris_pratt): New function.
72968         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72969         bookkeeping indicates that it's worth it.
72970         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
72971
72972         * modules/strcasestr-tests: New file.
72973         * tests/test-strcasestr.c: New file.
72974
72975 2007-02-11  Bruno Haible  <bruno@clisp.org>
72976
72977         Ensure O(n) worst-case complexity of c_strcasestr.
72978         * lib/c-strcasestr.c: Include stdbool.h, string.h.
72979         (knuth_morris_pratt): New function.
72980         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
72981         the bookkeeping indicates that it's worth it.
72982         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
72983
72984         * modules/c-strcasestr-tests: New file.
72985         * tests/test-c-strcasestr.c: New file.
72986
72987 2007-02-11  Bruno Haible  <bruno@clisp.org>
72988
72989         Ensure O(n) worst-case complexity of c_strstr.
72990         * lib/c-strstr.c: Include stdbool.h, string.h.
72991         (knuth_morris_pratt): New function.
72992         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72993         bookkeeping indicates that it's worth it.
72994         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
72995
72996         * lib/c-strstr.c: Complete rewrite for maintainability.
72997
72998         * modules/c-strstr-tests: New file.
72999         * tests/test-c-strstr.c: New file.
73000
73001 2007-02-11  Bruno Haible  <bruno@clisp.org>
73002
73003         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73004         5.2.1 and earlier, whereby \055 was treated just like the range
73005         delimiter '-'.
73006         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73007
73008 2007-02-08  Bruno Haible  <bruno@clisp.org>
73009
73010         * modules/regex (Depends-on): Add stdbool.
73011         Reported by Dalibor Topic <robilad@kaffe.org>.
73012
73013 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73014
73015         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73016         Prefer returning from main to exiting from it.
73017         Remove unnecessary parens after sizeof.
73018
73019 2007-02-05  Bruno Haible  <bruno@clisp.org>
73020
73021         New module mbssep.
73022         * modules/mbssep: New file.
73023         * lib/mbssep.c: New file.
73024         * lib/string_.h (strsep): Add a conditional link warning.
73025         (mbssep): New declaration.
73026         * m4/mbssep.m4: New file.
73027         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73028         GNULIB_MBSSEP.
73029         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73030         * MODULES.html.sh (Internationalization functions): Add mbssep.
73031
73032 2007-02-05  Bruno Haible  <bruno@clisp.org>
73033
73034         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73035         Optimize search in case of 1 delimiter.
73036
73037 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73038
73039         * lib/acl.h: Include sys/types.h before sys/acl.h.
73040
73041 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73042
73043         Merge upstream fix for glibc bugzilla #3957:
73044
73045         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73046
73047         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73048         bit for RE_HAT_LISTS_NOT_NEWLINE.
73049         (build_charclass_op): Remove bogus comment.
73050
73051 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73052
73053         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73054
73055 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73056
73057         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73058         * lib/memmem.c [!defined _LIBC]: Include config.h.
73059
73060 2007-02-04  Bruno Haible  <bruno@clisp.org>
73061
73062         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73063         warning message.
73064
73065 2007-02-04  Bruno Haible  <bruno@clisp.org>
73066
73067         New module mbstok_r.
73068         * modules/mbstok_r: New file.
73069         * lib/mbstok_r.c: New file.
73070         * lib/string_.h (strtok_r): Change argument names to match the
73071         comments. Add a conditional link warning.
73072         (mbstok_r): New declaration.
73073         * m4/mbstok_r.m4: New file.
73074         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73075         GNULIB_MBSTOK_R.
73076         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73077         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73078
73079 2007-02-04  Bruno Haible  <bruno@clisp.org>
73080
73081         New module mbsspn.
73082         * modules/mbsspn: New file.
73083         * lib/mbsspn.c: New file.
73084         * lib/string_.h (strspn): Add a conditional link warning.
73085         (mbsspn): New declaration.
73086         * m4/mbsspn.m4: New file.
73087         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73088         GNULIB_MBSSPN.
73089         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73090         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73091
73092 2007-02-04  Bruno Haible  <bruno@clisp.org>
73093
73094         New module mbspbrk.
73095         * modules/mbspbrk: New file.
73096         * lib/mbspbrk.c: New file.
73097         * lib/string_.h (strpbrk): Add a conditional link warning.
73098         (mbspbrk): New declaration.
73099         * m4/mbspbrk.m4: New file.
73100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73101         GNULIB_MBSPBRK.
73102         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73103         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73104
73105 2007-02-04  Bruno Haible  <bruno@clisp.org>
73106
73107         New module mbscspn.
73108         * modules/mbscspn: New file.
73109         * lib/mbscspn.c: New file.
73110         * lib/string_.h (strcspn): Add a conditional link warning.
73111         (mbscspn): New declaration.
73112         * m4/mbscspn.m4: New file.
73113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73114         GNULIB_MBSCSPN.
73115         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73116         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73117
73118 2007-02-04  Bruno Haible  <bruno@clisp.org>
73119
73120         New module mbscasestr, reduced goal of strcasestr.
73121         * modules/mbscasestr: New file.
73122         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73123         (mbscasestr): Renamed from strcasestr.
73124         * lib/strcasestr.c: Don't include mbuiter.h.
73125         (strcasestr): Remove support for multibyte locales.
73126         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73127         Change the conditional link warning.
73128         (mbscasestr): New declaration.
73129         * m4/mbscasestr.m4: New file.
73130         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73131         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73132         REPLACE_STRCASESTR.
73133         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73135         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73136         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73137         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73138         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73139         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73140         (Depends-on): Remove mbuiter.
73141         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73142
73143 2007-02-04  Bruno Haible  <bruno@clisp.org>
73144
73145         Simplify handling of strncasecmp.
73146         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73147         the conditional link warning.
73148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73149         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73150         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73151         * modules/strcase (configure.ac): Don't invoke
73152         gl_STRING_MODULE_INDICATOR.
73153         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73154
73155 2007-02-04  Bruno Haible  <bruno@clisp.org>
73156
73157         New module mbscasecmp, reduced goal of strcasecmp.
73158         * modules/mbscasecmp: New file.
73159         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73160         (mbscasecmp): Renamed from strcasecmp.
73161         * lib/strcasecmp.c: Don't include mbuiter.h.
73162         (strcasecmp): Remove support for multibyte locales.
73163         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73164         Change the conditional link warning.
73165         (mbscasecmp): New declaration.
73166         * m4/mbscasecmp.m4: New file.
73167         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73168         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73169         REPLACE_STRCASECMP.
73170         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73171         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73172         GNULIB_MBSCASECMP.
73173         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73174         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73175         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73176         (Depends-on): Remove mbuiter.
73177         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73178
73179 2007-02-04  Bruno Haible  <bruno@clisp.org>
73180
73181         New module mbsstr. Remove module strstr.
73182         * modules/mbsstr: New file.
73183         * modules/strstr: Remove file.
73184         * lib/mbsstr.c: Renamed from lib/strstr.c.
73185         (mbsstr): Renamed from strstr.
73186         * lib/string_.h (strstr): Remove declaration. Change the conditional
73187         link warning.
73188         (mbsstr): New declaration.
73189         * m4/mbsstr.m4: New file.
73190         * m4/strstr.m4: Remove file.
73191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73192         REPLACE_STRSTR.
73193         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73194         Don't initialize GNULIB_STRSTR.
73195         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73196         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73197         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73198         (Support for systems lacking ANSI C 89): Remove strstr.
73199
73200 2007-02-04  Bruno Haible  <bruno@clisp.org>
73201
73202         New module mbsrchr.
73203         * modules/mbsrchr: New file.
73204         * lib/mbsrchr.c: New file.
73205         * lib/string_.h (strrchr): Add a conditional link warning.
73206         (mbsrchr): New declaration.
73207         * m4/mbsrchr.m4: New file.
73208         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73209         GNULIB_MBSRCHR.
73210         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73211         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73212
73213 2007-02-04  Bruno Haible  <bruno@clisp.org>
73214
73215         New module mbschr.
73216         * modules/mbschr: New file.
73217         * lib/mbschr.c: New file.
73218         * lib/string_.h (strchr): Add a conditional link warning.
73219         (mbschr): New declaration.
73220         * m4/mbschr.m4: New file.
73221         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73222         GNULIB_MBSCHR.
73223         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73224         * MODULES.html.sh (Internationalization functions): Add mbschr.
73225
73226 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73227
73228         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73229
73230         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73231
73232 2007-02-04  Bruno Haible  <bruno@clisp.org>
73233
73234         New module description section 'configure.ac-early'.
73235         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73236         (func_get_autoconf_early_snippet): New function.
73237         (func_import, func_create_testdir): Use it. Remove special cases for
73238         modules 'extensions' and 'lock'.
73239         * modules/extensions (configure.ac-early): Require
73240         gl_USE_SYSTEM_EXTENSIONS.
73241         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73242
73243 2007-02-04  Bruno Haible  <bruno@clisp.org>
73244
73245         Make use of gcj-4.3's -fsource and -ftarget option.
73246         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73247         and if so try the options -fsource and -ftarget.
73248         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73249         source_version, ftarget_option, target_version arguments.
73250         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73251         (is_envjavac_oldgcj_14_14_usable): Renamed from
73252         is_envjavac_gcj_14_14_usable.
73253         (is_envjavac_oldgcj_14_13_usable): Renamed from
73254         is_envjavac_gcj_14_13_usable.
73255         (is_gcj_present): Update.
73256         (is_gcj_43, is_gcj43_usable): New functions.
73257         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73258         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73259         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73260         try the options -fsource and -ftarget.
73261
73262 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73263
73264         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73265         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73266         larger value.
73267
73268 2007-02-03  Jim Meyering  <jim@meyering.net>
73269
73270         Give tools a better chance to allocate space for very large buffers.
73271         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73272
73273         Make pwd and readlink work also when run with an unreadable parent dir
73274         on systems with openat support.
73275         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73276         provided getcwd function, even when we have openat support.
73277         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73278
73279 2007-02-02  Bruno Haible  <bruno@clisp.org>
73280
73281         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73282         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73283         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73284         portability problems if one of these functions is only used on specific
73285         platforms.
73286         Reported by Paul Eggert.
73287
73288 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73289
73290         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73291         is causing more trouble than it's curing.
73292         * lib/regex_internal.h (__mempcpy): Remove.
73293         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73294         (and make the code a tad smaller to boot).
73295         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73296
73297 2007-02-02  Jim Meyering  <jim@meyering.net>
73298
73299         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73300         section, not in the Makefile.am: one.
73301
73302 2007-02-02  Eric Blake  <ebb9@byu.net>
73303
73304         * lib/strchrnul.c: Always include config.h first.
73305
73306         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73307         gnulib strstr is not necessary here.
73308
73309 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73310
73311         * m4/socklen.m4: Fix typo.
73312
73313 2007-02-02  Eric Blake  <ebb9@byu.net>
73314
73315         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73316         * modules/netinet_in (Makefile.am): Likewise.
73317
73318 2007-02-01  Bruno Haible  <bruno@clisp.org>
73319
73320         * lib/string_.h (GL_LINK_WARNING): New macro.
73321         (strcasecmp, strstr, strcasestr): If provided by the system,
73322         conditionally define as a macro that leads to a warning instead of to
73323         an error.
73324         (strncasecmp): Conditionally define as a macro that leads to a warning.
73325
73326 2007-02-01  Karl Berry  <karl@gnu.org>
73327
73328         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73329
73330 2007-02-01  Bruno Haible  <bruno@clisp.org>
73331
73332         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73333         renamings.
73334
73335 2007-02-01  Eric Blake  <ebb9@byu.net>
73336
73337         * modules/regex (Depends-on): Revert dependence on mempcpy.
73338         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73339         module's definition of mempcpy.
73340         Reported by Paul Eggert.
73341
73342 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73343
73344         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73345         the symbol XYZ before redefining it.  This fixes a problem with
73346         programs that don't use XYZ, when compiled on systems that define
73347         XYZ to something else.
73348
73349 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73350
73351         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73352         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73353         writeable to group or other and (2) is intended to have a special
73354         mode bit that is set or cleared.  In such a case, the directory
73355         should be neither group- nor other-writeable until the special
73356         mode bits are right.
73357
73358 2007-01-31  Eric Blake  <ebb9@byu.net>
73359
73360         * modules/mountlist (Depends-on): Add strstr.
73361
73362         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73363         bug.
73364         * modules/string (Makefile.am): Remove redundant replacement.
73365         * modules/regex (Depends-on): Add mempcpy.
73366
73367 2007-01-31  Bruno Haible  <bruno@clisp.org>
73368
73369         New module description field 'Link'.
73370         * gnulib-tool (func_usage): Document --extract-link-directive.
73371         (sed_extract_prog): Recognize 'Link' directive.
73372         (func_get_link_directive): New function.
73373         (func_import): Show summary of link directives.
73374         Handle --extract-link-directive option.
73375         * modules/acl (Link): New section.
73376         * modules/clock-time (Link): New section.
73377         * modules/euidaccess (Link): New section.
73378         * modules/gettext (Link): New section.
73379         * modules/iconv (Link): New section.
73380         * modules/lock (Link): New section.
73381         * modules/nanosleep (Link): New section.
73382         * modules/readline (Link): New section.
73383
73384 2007-01-27  Bruno Haible  <bruno@clisp.org>
73385
73386         Enforce the use of gnulib modules for unportable <string.h> functions.
73387         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73388         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73389         (gl_HEADER_STRING_H_BODY): Require it.
73390         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73391         the symbol XYZ to one that gives a link error.
73392         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73393         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73394         * modules/mempcpy (configure.ac): Likewise.
73395         * modules/memrchr (configure.ac): Likewise.
73396         * modules/stpcpy (configure.ac): Likewise.
73397         * modules/stpncpy (configure.ac): Likewise.
73398         * modules/strcase (configure.ac): Likewise.
73399         * modules/strcasestr (configure.ac): Likewise.
73400         * modules/strchrnul (configure.ac): Likewise.
73401         * modules/strdup (configure.ac): Likewise.
73402         * modules/strndup (configure.ac): Likewise.
73403         * modules/strnlen (configure.ac): Likewise.
73404         * modules/strpbrk (configure.ac): Likewise.
73405         * modules/strsep (configure.ac): Likewise.
73406         * modules/strstr (configure.ac): Likewise.
73407         * modules/strtok_r (configure.ac): Likewise.
73408
73409 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73410
73411         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73412
73413 2007-01-30  Jim Meyering  <jim@meyering.net>
73414
73415         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73416
73417 2007-01-29  Bruno Haible  <bruno@clisp.org>
73418
73419         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73420         * lib/execute.c: Likewise.
73421         * lib/pipe.c: Likewise.
73422         * lib/printf-args.h: Likewise.
73423         * lib/printf-args.c: Likewise.
73424         * lib/printf-parse.c: Likewise.
73425         * lib/vasnprintf.c: Likewise.
73426
73427 2007-01-29  Eric Blake  <ebb9@byu.net>
73428
73429         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73430         declaration.
73431
73432 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73433
73434         * lib/strptime.h (strptime): Use 'restrict' for args where
73435         POSIX requires this.
73436         * lib/strptime.c (strptime): Likewise.
73437         Change license notice from LGPL to GPL, since gnulib-tool will
73438         change this as needed.
73439         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73440         defined.
73441         Include "strptime.h" first, to check interface.
73442         Do not #undef _LIBC and _NL_CURRENT.
73443         Do not include <stdlib.h>; no longer needed.
73444         Include "time_r.h" and declare ptime_locale_status
73445         only if _LIBC is not defined.
73446         (__P): Remove unused macro.
73447         (match_string): Bring back glibc version, but use it only if _LIBC
73448         is defined.
73449         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73450         Remove unnecessary assertion and abort() call.
73451         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73452         * m4/strptime.m4: Fix serial number comment.
73453         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73454         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73455         (Depends-on): Add time_r.
73456
73457 2007-01-29  Bruno Haible  <bruno@clisp.org>
73458
73459         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73460         strptime.
73461         * modules/strptime (Depends-on): Add stdbool.
73462         * lib/strptime.h: Include <time.h> always. Add comments.
73463
73464 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73465
73466         * modules/strptime: New file.
73467         * lib/strptime.h: New file.
73468         * lib/strptime.c: New file.
73469         * m4/strptime.m4: New file.
73470
73471 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73472
73473         * MODULES.html.sh: New module mpsort.
73474         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73475
73476         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73477         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73478         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73479         All uses changed.
73480         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73481         All uses changed.
73482         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73483         to _Restrict_.
73484         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73485         the parameter matches the prototype.
73486
73487 2007-01-28  Jim Meyering  <jim@meyering.net>
73488
73489         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73490         sys/time.h here, reverting that part of the previous patch:
73491         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73492
73493 2007-01-28  Bruno Haible  <bruno@clisp.org>
73494
73495         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73496         value of $(SYS_TIME_H).
73497         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73498         remove it conditionally, too. [added by Jim Meyering]
73499         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73500         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73501         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73502         GETTIMEOFDAY_REPLACEMENT to 1.
73503
73504 2007-01-28  Bruno Haible  <bruno@clisp.org>
73505
73506         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73507         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73509         Set UNISTD_H instead of UNISTD_H2.
73510         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73511
73512 2007-01-28  Bruno Haible  <bruno@clisp.org>
73513
73514         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73515         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73516
73517 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73518
73519         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73520         (func_create_testdir): Ensure C locale for `grep' and `tr'
73521         character ranges.
73522         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73523         ACLOCAL_AMFLAGS parsing state machine.
73524
73525 2007-01-27  Bruno Haible  <bruno@clisp.org>
73526
73527         * modules/unistr/base: Update.
73528
73529 2007-01-27  Bruno Haible  <bruno@clisp.org>
73530
73531         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73532         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73533         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73534         modules/unistr/u32-mbtouc.
73535         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73536         * lib/unistr.h: Update.
73537         * lib/linebreak.c: Update.
73538         * modules/unistr/u32-mbtouc: Renamed from
73539         modules/unistr/u32-mbtouc-safe.
73540         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73541         * lib/unistr.h: Update.
73542         * lib/unistr/u32-to-u8.c: Update.
73543         * lib/unistr/u32-to-u16.c: Update.
73544
73545 2007-01-27  Bruno Haible  <bruno@clisp.org>
73546
73547         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73548         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73549         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73550         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73551         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73552         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73553         modules/unistr/u16-mbtouc.
73554         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73555         * lib/unistr.h: Update.
73556         * lib/linebreak.c: Update.
73557         * modules/linebreak: Update.
73558         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73559         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73560         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73561         * modules/unistr/u16-mbtouc: Renamed from
73562         modules/unistr/u16-mbtouc-safe.
73563         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73564         * lib/unistr.h: Update.
73565         * lib/unistr/u16-to-u8.c: Update.
73566         * modules/unistr/u16-to-u8: Update.
73567         * lib/unistr/u16-to-u32.c: Update.
73568         * modules/unistr/u16-to-u32: Update.
73569
73570 2007-01-27  Bruno Haible  <bruno@clisp.org>
73571
73572         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73573         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73574         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73575         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73576         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73577         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73578         modules/unistr/u8-mbtouc.
73579         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73580         * lib/unistr.h: Update.
73581         * lib/striconveh.c: Update.
73582         * modules/striconveh: Update.
73583         * lib/linebreak.c: Update.
73584         * modules/linebreak: Update.
73585         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73586         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73587         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73588         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73589         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73590         * lib/unistr.h: Update.
73591         * lib/striconveh.c: Update.
73592         * modules/striconveh: Update.
73593         * lib/unistr/u8-to-u16.c: Update.
73594         * modules/unistr/u8-to-u16: Update.
73595         * lib/unistr/u8-to-u32.c: Update.
73596         * modules/unistr/u8-to-u32: Update.
73597
73598 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73599
73600         Sync from Libtool.
73601         * lib/argz.c: Do not include strings.h nor memory.h, include
73602         string.h unconditionally.  Patch by Simon Josefsson.
73603
73604 2007-01-27  Bruno Haible  <bruno@clisp.org>
73605
73606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73607         from gl_HEADER_STRING_H_BODY.
73608         (gl_HEADER_STRING_H_BODY): Require it.
73609         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73610         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73611         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73612         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73613         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73614         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73615         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73616         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73617         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73618         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73619         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73620         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73621         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73622         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73623         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73624
73625 2007-01-27  Bruno Haible  <bruno@clisp.org>
73626
73627         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73628         check_PROGRAMS into noinst_PROGRAMS.
73629         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73630         check_PROGRAMS in this case.
73631         (func_import): Set for_test to false.
73632         (func_create_testdir): Set for_test to true.
73633
73634 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73635             Bruno Haible  <bruno@clisp.org>
73636
73637         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73638         (Depends-on): Add string.
73639         (Includes): Use <string.h> instead of strcasestr.h.
73640         * modules/string (Makefile.am): Also substitute the value of
73641         REPLACE_STRCASESTR.
73642         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73643         assume strcasestr is declared in <string.h> not <strings.h>. Also
73644         set REPLACE_STRCASESTR.
73645         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73646         REPLACE_STRCASESTR.
73647         * lib/strcasestr.h: Remove file.
73648         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73649         * lib/string_.h (strcasestr): New declaration.
73650
73651 2007-01-27  Bruno Haible  <bruno@clisp.org>
73652
73653         * lib/string_.h: Use 'extern'.
73654
73655 2007-01-27  Jim Meyering  <jim@meyering.net>
73656
73657         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73658         of set-but-not-used local, "q".
73659
73660         * lib/mempcpy.c: Include <config.h> before <string.h>.
73661         This fixes a compilation error on HP-UX, due to the system's
73662         "restrict"-using mempcpy prototype.
73663
73664 2007-01-26  Bruno Haible  <bruno@clisp.org>
73665
73666         Small optimization.
73667         * lib/javacomp.c: Include c-strstr.h.
73668          (is_envjavac_gcj): Use c_strstr instead of strstr.
73669         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73670
73671 2007-01-26  Bruno Haible  <bruno@clisp.org>
73672
73673         * MODULES.html.sh (Unicode string functions): Add the new modules.
73674
73675         * modules/uniconv/u32-strconv-to-locale: New file.
73676         * lib/uniconv/u32-strconv-to-locale.c: New file.
73677
73678         * modules/uniconv/u16-strconv-to-locale: New file.
73679         * lib/uniconv/u16-strconv-to-locale.c: New file.
73680
73681         * modules/uniconv/u8-strconv-to-locale: New file.
73682         * lib/uniconv/u8-strconv-to-locale.c: New file.
73683
73684         * modules/uniconv/u32-strconv-from-locale: New file.
73685         * lib/uniconv/u32-strconv-from-locale.c: New file.
73686
73687         * modules/uniconv/u16-strconv-from-locale: New file.
73688         * lib/uniconv/u16-strconv-from-locale.c: New file.
73689
73690         * modules/uniconv/u8-strconv-from-locale: New file.
73691         * lib/uniconv/u8-strconv-from-locale.c: New file.
73692
73693         * modules/uniconv/u32-strconv-to-enc: New file.
73694         * lib/uniconv/u32-strconv-to-enc.c: New file.
73695         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73696         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73697
73698         * modules/uniconv/u16-strconv-to-enc: New file.
73699         * lib/uniconv/u16-strconv-to-enc.c: New file.
73700         * lib/uniconv/u-strconv-to-enc.h: New file.
73701         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73702         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73703
73704         * modules/uniconv/u8-strconv-to-enc: New file.
73705         * lib/uniconv/u8-strconv-to-enc.c: New file.
73706         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73707         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73708
73709         * modules/uniconv/u32-strconv-from-enc: New file.
73710         * lib/uniconv/u32-strconv-from-enc.c: New file.
73711         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73712         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73713
73714         * modules/uniconv/u16-strconv-from-enc: New file.
73715         * lib/uniconv/u16-strconv-from-enc.c: New file.
73716         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73717         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73718
73719         * modules/uniconv/u8-strconv-from-enc: New file.
73720         * lib/uniconv/u8-strconv-from-enc.c: New file.
73721         * lib/uniconv/u-strconv-from-enc.h: New file.
73722         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73723         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73724
73725         * modules/uniconv/u32-conv-from-enc: New file.
73726         * lib/uniconv/u32-conv-from-enc.c: New file.
73727         * modules/uniconv/u32-conv-from-enc-tests: New file.
73728         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73729
73730         * modules/uniconv/u16-conv-from-enc: New file.
73731         * lib/uniconv/u16-conv-from-enc.c: New file.
73732         * lib/uniconv/u-conv-from-enc.h: New file.
73733         * modules/uniconv/u16-conv-from-enc-tests: New file.
73734         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73735
73736         * modules/uniconv/u8-conv-from-enc: New file.
73737         * lib/uniconv/u8-conv-from-enc.c: New file.
73738         * modules/uniconv/u8-conv-from-enc-tests: New file.
73739         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73740
73741         * modules/uniconv/base: New file.
73742         * lib/uniconv.h: New file.
73743
73744 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73745
73746         * doc/gnulib-tool.texi (Initial import): Update to match current
73747         behavior with strdup module.
73748         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73749         * lib/memmem.h: Remove; all uses removed.  This is now done
73750         by <string.h>.
73751         * lib/mempcpy.h: Likewise.
73752         * lib/memrchr.h: Likewise.
73753         * lib/stpcpy.h: Likewise.
73754         * lib/stpncpy.h: Likewise.
73755         * lib/strcase.h: Likewise.
73756         * lib/strchrnul.h: Likewise.
73757         * lib/strdup.h: Likewise.
73758         * lib/strndup.h: Likewise.
73759         * lib/strnlen.h: Likewise.
73760         * lib/strpbrk.h: Likewise.
73761         * lib/strsep.h: Likewise.
73762         * lib/strstr.h: Likewise.
73763         * lib/strtok_r.h: Likewise.
73764         * lib/string_.h: New file.
73765         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
73766         Rely on <string.h> instead.
73767         * lib/canon-host.c: Likewise.
73768         * lib/chdir-long.c: Likewise.
73769         * lib/concatpath.c: Likewise.
73770         * lib/exclude.c: Likewise.
73771         * lib/fchdir.c: Likewise.
73772         * lib/getaddrinfo.c: Likewise.
73773         * lib/getcwd.c: Likewise.
73774         * lib/getsubopt.c: Likewise.
73775         * lib/glob.c: Likewise.
73776         * lib/hard-locale.c: Likewise.
73777         * lib/iconvme.c: Likewise.
73778         * lib/javacomp.c: Likewise.
73779         * lib/mempcpy.c: Likewise.
73780         * lib/memrchr.c: Likewise.
73781         * lib/regex_internal.h: Likewise.
73782         * lib/stpncpy.c: Likewise.
73783         * lib/strcasecmp.c: Likewise.
73784         * lib/strchrnul.c: Likewise.
73785         * lib/strdup.c: Likewise.
73786         * lib/striconv.c: Likewise.
73787         * lib/striconveh.c: Likewise.
73788         * lib/striconveha.c: Likewise.
73789         * lib/strncasecmp.c: Likewise.
73790         * lib/strndup.c: Likewise.
73791         * lib/strnlen.c: Likewise.
73792         * lib/strsep.c: Likewise.
73793         * lib/strstr.c: Likewise.
73794         * lib/strtok_r.c: Likewise.
73795         * lib/userspec.c: Likewise.
73796         * lib/w32spawn.h: Likewise.
73797         * lib/xstrndup.c: Likewise.
73798         * lib/mountlist.c (strstr): Remove decl.
73799         * m4/string_h.m4: New file.
73800         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
73801         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
73802         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
73803         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
73804         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
73805         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
73806         Set REPLACE_STRCASECMP if necessary.
73807         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
73808         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
73809         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
73810         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
73811         HAVE_DECL_STRDUP if necessary.
73812         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
73813         since gl_FUNC_STRNDUP does that now.
73814         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
73815         Check for decl here...
73816         (gl_PREREQ_STRNLEN): ... not here.
73817         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
73818         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
73819         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
73820         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
73821         necessary.
73822         * modules/string: New file.
73823         * modules/memmem (Files): Remove special-purpose include file.
73824         (Depends-on): Add string.
73825         (Include): Include <string.h>, not the removed file.
73826         * modules/mempcpy: Likewise.
73827         * modules/memrchr: Likewise.
73828         * modules/stpcpy: Likewise.
73829         * modules/stpncpy: Likewise.
73830         * modules/strcase: Likewise.
73831         * modules/strchrnul: Likewise.
73832         * modules/strdup: Likewise.
73833         * modules/strndup: Likewise.
73834         * modules/strnlen: Likewise.
73835         * modules/strpbrk: Likewise.
73836         * modules/strsep: Likewise.
73837         * modules/strstr: Likewise.
73838         * modules/strtok_r: Likewise.
73839         * tests/test-dirname.c: Don't include "strdup.h", since
73840         <string.h> now suffices.
73841         * tests/test-memmem.c: Don't include "memmem.h", since
73842         <string.h> now suffices.
73843
73844 2007-01-25  Bruno Haible  <bruno@clisp.org>
73845
73846         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
73847         *resultp is 0.
73848
73849         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
73850         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
73851         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
73852         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
73853
73854         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
73855         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
73856         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
73857         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
73858         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
73859         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
73860
73861 2007-01-24  Bruno Haible  <bruno@clisp.org>
73862
73863         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
73864         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
73865         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
73866         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
73867         gl_FUNC_FTS_CORE.
73868         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
73869         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
73870         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73871         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
73872         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
73873         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
73874         gl_FUNC_FCHOWNAT.
73875         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
73876         gl_FUNC_STRFTIME.
73877         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
73878         Reported by Ralf Wildenhues.
73879
73880 2007-01-24  Bruno Haible  <bruno@clisp.org>
73881
73882         Drop AC_REQUIRE calls that are redundant with the module dependencies.
73883         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
73884         gl_GETADDRINFO.
73885         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
73886         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
73887         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
73888
73889 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
73890
73891         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
73892         Don't use 'exit'; just return from 'main'.
73893         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
73894
73895         * lib/fnmatch_.h: Readjust white space and comments to match
73896         glibc, to avoid spurious diffs.
73897
73898 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73899
73900         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
73901         2004-12-01 change by Jakub Jelinek, since this code won't compile
73902         if !LIBC.  Problem reported by Bob Proulx.
73903
73904 2007-01-23  Bruno Haible  <bruno@clisp.org>
73905
73906         * lib/striconveh.c: Include c-strcaseeq.h.
73907         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
73908         * modules/striconveh (Depends-on): Add c-strcaseeq.
73909
73910 2007-01-23  Bruno Haible  <bruno@clisp.org>
73911
73912         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
73913
73914         * modules/c-strcaseeq: New file.
73915         * lib/c-strcaseeq.h: New file.
73916
73917         * modules/streq: New file.
73918         * lib/streq.h: New file.
73919
73920 2007-01-23  Bruno Haible  <bruno@clisp.org>
73921
73922         * modules/striconveha-tests: New file.
73923         * tests/test-striconveha.c: New file.
73924
73925         * lib/striconveha.h: Include <stdbool.h>.
73926         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
73927         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
73928         (mem_iconveha_notranslit): Renamed from mem_iconveha.
73929         (mem_iconveha): New function.
73930         (str_iconveha_notranslit): Renamed from str_iconveha.
73931         (str_iconveha): New function.
73932         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73933         c-strcase.
73934
73935 2007-01-23  Bruno Haible  <bruno@clisp.org>
73936
73937         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73938         encodings without forgiving before trying any encoding with handler.
73939         (str_iconveha): Try all encodings without forgiving before trying any
73940         encoding with handler.
73941
73942 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73943
73944         Import the following changes from libc.
73945
73946         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73947
73948         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
73949
73950         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73951
73952         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
73953         normal_bracket label.
73954
73955         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
73956
73957         [BZ #361]
73958         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
73959         to normal_bracket after fetching the next character.
73960
73961 2007-01-22  Bruno Haible  <bruno@clisp.org>
73962
73963         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
73964         argument.
73965         * lib/striconveh.c (iconv_carefully_1): New function.
73966         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
73967         argument.
73968         (str_cd_iconveh): Update.
73969         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
73970         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
73971         * tests/test-striconveh.c (MAGIC): New macro.
73972         (new_offsets): New function.
73973         (main): Test call with and without offsets.
73974
73975 2007-01-22  Bruno Haible  <bruno@clisp.org>
73976
73977         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
73978         * modules/sys_select (Makefile.am): Likewise.
73979         * modules/sys_socket (Makefile.am): Likewise.
73980         * modules/sys_time (Makefile.am): Likewise.
73981
73982 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73983
73984         * modules/gettimeofday (License): Change from GPL to LGPL, since
73985         gettimeofday is a library function.
73986
73987 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73988
73989         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
73990
73991 2007-01-21  Bruno Haible  <bruno@clisp.org>
73992
73993         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
73994
73995 2007-01-21  Bruno Haible  <bruno@clisp.org>
73996
73997         * modules/striconveha: New file.
73998         * lib/striconveha.h: New file.
73999         * lib/striconveha.c: New file.
74000         * MODULES.html.sh (Internationalization functions): Add striconveha.
74001         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74002         string.
74003         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74004
74005 2007-01-21  Bruno Haible  <bruno@clisp.org>
74006
74007         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74008         * lib/striconveh.c (str_iconveh): Likewise.
74009
74010 2007-01-21  Bruno Haible  <bruno@clisp.org>
74011
74012         * lib/striconveh.h (mem_iconveh): New declaration.
74013         * lib/striconveh.c (mem_iconveh): New function.
74014         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74015
74016 2007-01-21  Bruno Haible  <bruno@clisp.org>
74017
74018         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74019
74020         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74021         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74022         original result buffer.
74023         (str_cd_iconveh): Update.
74024         * tests/test-striconveh.c (main): Update.
74025
74026         * lib/striconv.h (mem_cd_iconv): Change specification.
74027         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74028         result buffer.
74029         (str_cd_iconv): Update.
74030         * tests/test-striconv.c (main): Update.
74031
74032 2007-01-21  Bruno Haible  <bruno@clisp.org>
74033
74034         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74035
74036 2007-01-20  Jim Meyering  <jim@meyering.net>
74037
74038         * lib/userspec.c (parse_with_separator): If a user or group string
74039         starts with "+", skip the corresponding name-to-ID look-up, since
74040         such a look-up must fail: user and group names may not include "+".
74041
74042 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74043
74044         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74045         since we now assume the sys_time module.
74046         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74047         check for sys/time.h; no longer needed.
74048         * modules/poll (Depends-on): Depend on sys_time.
74049
74050 2007-01-18  Bruno Haible  <bruno@clisp.org>
74051
74052         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74053         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74054
74055         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74056         gettimeofday.
74057
74058         * tests/test-gettimeofday.c: Include <time.h>.
74059         (dummy): Remove variable.
74060
74061         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74062         gl_HEADER_SYS_TIME_H.
74063         (gl_HEADER_SYS_TIME_H): New macro.
74064
74065         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74066         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74067         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74068         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74069         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74070         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74071         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74072         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74073         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74074         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74075         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74076
74077         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74078         last change; it caused a compilation error when cross-compiling to
74079         Cygwin.
74080
74081 2007-01-18  Jim Meyering  <jim@meyering.net>
74082
74083         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74084         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74085         than the race-prone "test -d sys || mkdir sys".
74086         (configure.ac): Use AC_PROG_MKDIR_P.
74087         * modules/sys_select: Likewise.
74088         * modules/sys_socket: Likewise.
74089         * modules/sys_time: Likewise.
74090
74091 2007-01-18  Eric Blake  <ebb9@byu.net>
74092
74093         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74094         replace gettimeofday.
74095         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74096         name, to avoid infinite recursion.
74097
74098 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74099
74100         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74101         module sys_time.
74102         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74103         assume timespec.h defines struct timeval.
74104         * lib/settime.c: Likewise.
74105         * lib/utimens.c: Likewise.
74106         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74107         since we now assume the gettimeofday module.
74108         * lib/tempname.c (__gen_tempname): Likewise.
74109         * lib/gettimeofday.h: Remove.
74110         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74111         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74112         Include <time.h>, for 'time()'.
74113         (localtime_buffer_addr): Also use this workaround if
74114         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74115         to simplify the uses.  All uses changed.
74116         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74117         that #undef is inside {}, and 'const' follows type name consistently.
74118         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74119         (gettimeofday): Do not use the maximum possible value for
74120         tv->tv_usec, since that might break usages other than ls.c.
74121         Instead, we'll leave ls.c alone.  This undoes today's patch
74122         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74123         we've never observed the problem but might as well keep the
74124         canary.
74125         * lib/nanosleep.c: Include timespec.h first, for interface check.
74126         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74127         now assume the sys_time module.
74128         * lib/tempname.c: Likewise.
74129         * lib/timespec.h: Likewise.
74130         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74131         needed.
74132         * lib/strftime.c: Likewise.
74133         * lib/timespec.h: Likewise.
74134         * lib/posixtm.c: Include posixtm.h first, for interface check.
74135         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74136         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74137         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74138         * lib/sys_time_.h: New file.
74139         * lib/timespec.h (struct timespec): Use long int, not long.
74140         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74141         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74142         Remove obsolescent call to AC_HEADER_TIME.
74143         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74145         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74146         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74147         Likewise.
74148         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74149         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74150         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74151         into the sys_time module.  Check for gettimeofday just once.
74152         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74153         for gettimeofday signature to just check the signature.  Merely
74154         compile it, since linking doesn't test signature.  Improve test for
74155         whether gettimeofday.o is actually needed.
74156         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74157         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74158         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74159         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74160         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74161         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74162         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74163         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74164         than worrying about sys/time.h.
74165         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74166         Don't bother worrying about TIME_WITH_SYS_TIME.
74167         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74168         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74169         * m4/sys_time_h.m4: New file.
74170         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74171         Don't include sys/time.h.  Return from main rather than exiting.
74172         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74173         all uses changed.
74174         * modules/gethrxtime (Depends-on): Add sys_time.
74175         * modules/gettime (Depends-on): Likewise.
74176         * modules/gettimeofday (Depends-on): Likewise.
74177         * modules/nanosleep (Depends-on): Likewise.
74178         * modules/settime (Depends-on): Likewise.
74179         * modules/tempname (Depends-on): Likewise.
74180         * modules/utimens (Depends-on): Likewise.
74181         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74182         (Include): Change back to <sys/time.h>.
74183         (Maintainer): Add self.
74184         * modules/sys_time: New file.
74185         * modules/tempname (Depends-on): Add gettimeofday.
74186         * tests/test-gettimeofday.c: Include <sys/time.h>
74187         rather than gettimeofday.h.
74188
74189 2007-01-17  Bruno Haible  <bruno@clisp.org>
74190
74191         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74192         the license default to GPL.
74193         (func_create_testdir): Don't complain if a module is LGPL and its
74194         tests module depends on GPLed modules.
74195
74196 2007-01-17  Bruno Haible  <bruno@clisp.org>
74197
74198         * lib/gettimeofday.c (gettimeofday): Add code for the case
74199         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74200         maximum possible value for tv->tv_usec, rather than the minimum one.
74201
74202 2005-10-08  Martin Lambers  <marlam@marlam.de>
74203 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74204 2007-01-16  Bruno Haible  <bruno@clisp.org>
74205
74206         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74207         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74208         gl_FUNC_GETTIMEOFDAY.
74209         (Include): Add gettimeofday.h.
74210         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74211         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74212         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74213         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74214         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74215         * lib/gettimeofday.h: New file.
74216         * lib/gettimeofday.c: Include <sys/timeb.h>.
74217         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74218         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74219         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74220         fall back on time().
74221
74222         * tests/test-gettimeofday.c: New file.
74223         * modules/gettimeofday-tests: New file.
74224
74225 2007-01-16  Eric Blake  <ebb9@byu.net>
74226
74227         * modules/fnmatch (Depends-on): Depend on wchar.
74228         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74229         * m4/fnmatch.m4: Likewise.
74230         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74231         * m4/mbchar.m4: Likewise.
74232         * modules/mbswidth (Depends-on): Depend on wchar.
74233         * lib/mbswidth.c: Assume <wchar.h>.
74234         * m4/mbswidth.m4: Likewise.
74235         * modules/quotearg (Depends-on): Depend on wchar.
74236         * lib/quotearg.c: Assume <wchar.h>.
74237         * m4/quotearg.m4: Likewise.
74238         * modules/regex (Depends-on): Depend on wchar.
74239         * lib/regex_internal.h: Assume <wchar.h>.
74240         * m4/regex.m4: Likewise.
74241         * modules/stdint (Depends-on): Depend on wchar.
74242         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74243         * m4/stdint.m4: Likewise.
74244         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74245         * modules/strftime (Depends-on): Depend on wchar.
74246         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74247         * modules/strtol (Depends-on): Depend on wchar.
74248         * lib/strtol.c: Assume <wchar.h>.
74249         * modules/wcwidth (Depends-on): Depend on wchar.
74250         * lib/wcwidth.h: Assume <wchar.h>.
74251         * m4/wcwidth.m4: Likewise.
74252
74253 2007-01-16  Bruno Haible  <bruno@clisp.org>
74254
74255         * modules/csharpexec-script: New, created from...
74256         * modules/csharpexec: ... this.
74257
74258 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74259
74260         * modules/javaexec-script: New, created from...
74261         * modules/javaexec: ... this.
74262
74263 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74264
74265         * modules/poll (Dependencies): Add sys_select.
74266
74267 2007-01-15  Jim Meyering  <jim@meyering.net>
74268
74269         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74270         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74271         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74272         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74273
74274 2007-01-15  Bruno Haible  <bruno@clisp.org>
74275
74276         * modules/striconveh: New file.
74277         * lib/striconveh.h: New file.
74278         * lib/striconveh.c: New file.
74279         * MODULES.html.sh (Internationalization functions): Add striconveh.
74280
74281         * modules/striconveh-tests: New file.
74282         * tests/test-striconveh.c: New file.
74283
74284 2007-01-15  Bruno Haible  <bruno@clisp.org>
74285
74286         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74287         not from GNU libiconv or GNU libc.
74288
74289 2007-01-15  Bruno Haible  <bruno@clisp.org>
74290
74291         * doc/gnulib-intro.texi (Copyright): Explain the different license
74292         terms for module descriptions, autoconf macros, tests, documentation.
74293
74294 2007-01-14  Bruno Haible  <bruno@clisp.org>
74295
74296         * modules/striconv-tests: New file.
74297         * tests/test-striconv.c: New file.
74298
74299 2007-01-14  Bruno Haible  <bruno@clisp.org>
74300
74301         * modules/iconv-tests: New file.
74302         * tests/test-iconv.c: New file.
74303
74304 2007-01-14  Bruno Haible  <bruno@clisp.org>
74305
74306         * gnulib-tool (func_get_license): For test modules, use the license of
74307         the main module.
74308
74309 2007-01-14  Bruno Haible  <bruno@clisp.org>
74310
74311         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74312         if iconv is found to exist.
74313
74314 2007-01-14  Bruno Haible  <bruno@clisp.org>
74315
74316         * modules/c-ctype-tests: New file.
74317         * tests/test-c-ctype.c: New file.
74318
74319 2007-01-14  Bruno Haible  <bruno@clisp.org>
74320
74321         * modules/binary-io-tests: New file.
74322         * tests/test-binary-io.sh: New file.
74323         * tests/test-binary-io.c: New file.
74324
74325 2007-01-14  Bruno Haible  <bruno@clisp.org>
74326
74327         * modules/array-oset-tests: New file.
74328         * tests/test-array_oset.c: New file.
74329
74330 2007-01-14  Bruno Haible  <bruno@clisp.org>
74331
74332         * modules/array-list-tests: New file.
74333         * tests/test-array_list.c: New file.
74334
74335 2007-01-14  Bruno Haible  <bruno@clisp.org>
74336
74337         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74338         and make.
74339         Reported by Simon Josefsson in
74340         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74341
74342 2007-01-14  Bruno Haible  <bruno@clisp.org>
74343
74344         * modules/allocsa-tests: New file.
74345         * tests/test-allocsa.c: New file.
74346
74347 2007-01-14  Bruno Haible  <bruno@clisp.org>
74348
74349         * modules/fchdir (Depends-on): Add absolute-header.
74350         * modules/unistd (Depends-on): Likewise.
74351
74352 2006-12-30  Bruno Haible  <bruno@clisp.org>
74353
74354         * modules/fchdir: New file.
74355         * modules/unistd (Files): Add lib/unistd_.h.
74356         (Makefile.am): Generate unistd.h from unistd_.h.
74357         * lib/fchdir.c: New file.
74358         * lib/dirent_.h: New file.
74359         * lib/unistd_.h: New file.
74360         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74361         * m4/fchdir.m4: New file.
74362         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74363         (gl_HEADER_UNISTD): Invoke it.
74364         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74365         function.
74366         * lib/backupfile.c (opendir, closedir): Undefine.
74367         * lib/chown.c (open, close): Undefine.
74368         * lib/clean-temp.c (open, close): Undefine.
74369         * lib/copy-file.c (open, close): Undefine.
74370         * lib/execute.c (open, close): Undefine.
74371         * lib/fsusage.c (open, close): Undefine.
74372         * lib/gc-gnulib.c (open, close): Undefine.
74373         * lib/getcwd.c (opendir, closedir): Undefine.
74374         * lib/glob.c (opendir, closedir): Undefine.
74375         * lib/javacomp.c (open, close): Undefine.
74376         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74377         * lib/openat-proc.c (open, close): Undefine.
74378         * lib/pagealign_alloc.c (open, close): Undefine.
74379         * lib/pipe.c (open, close): Undefine.
74380         * lib/progreloc.c (open, close): Undefine.
74381         * lib/savedir.c (opendir, closedir): Undefine.
74382         * lib/utime.c (open, close): Undefine.
74383         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74384
74385 2007-01-10  Bruno Haible  <bruno@clisp.org>
74386
74387         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74388
74389 2007-01-12  Eric Blake  <ebb9@byu.net>
74390
74391         Provide a robust <wchar.h>.  Further simplifications are now
74392         possible in other modules, but not included here.
74393         * modules/wchar: New module.
74394         * m4/wchar.m4: New file.
74395         * lib/wchar_.h: Likewise.
74396         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74397         of the new module.
74398         * MODULES.html.sh (Extended multibyte and wide character utilities):
74399         New section.
74400
74401 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74402
74403         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74404         to a reasonable default for memory allocation.
74405         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74406         file system that reports garbage st_size values for symlinks.
74407         Problem reported by Liyang Hu.
74408
74409 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74410
74411         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74412         Emacs .#* auto-save files).
74413
74414 2007-01-11  Bruno Haible  <bruno@clisp.org>
74415
74416         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74417         directory.
74418
74419 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74420
74421         Use @...@ consistently in lib/wctype_.h.
74422         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74423         on it being set to 1 or 0.
74424         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74425         go back to AC_SUBSTing it.
74426         * modules/wctype (Makefile.am): Undo previous change.
74427
74428 2007-01-10  Eric Blake  <ebb9@byu.net>
74429
74430         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74431         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74432         * modules/wctype (Makefile.am): Likewise.
74433         Reported by Chris McGuire.
74434
74435 2007-01-10  Jim Meyering  <jim@meyering.net>
74436
74437         fts.c: a small readability/maintainability improvement
74438         * lib/fts.c (fts_read): Make this code slightly more readable and
74439         maintainable by hoisting the "sp->fts_cur = p" assignments to
74440         immediately follow the statements that set P.  Derived from
74441         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74442
74443 2007-01-10  Eric Blake  <ebb9@byu.net>
74444
74445         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74446         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74448         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74449         Reported by Chris McGuire.
74450
74451 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74452
74453         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74454         in sed script.
74455
74456 2007-01-09  Bruno Haible  <bruno@clisp.org>
74457
74458         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74459         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74460         variables.
74461         (func_module): Use them.
74462
74463 2007-01-09  Bruno Haible  <bruno@clisp.org>
74464
74465         * modules/unistr/base: New file.
74466         * lib/unistr.h: New file.
74467
74468         * modules/unistr/u8-to-u16: New file.
74469         * lib/unistr/u8-to-u16.c: New file.
74470
74471         * modules/unistr/u8-to-u32: New file.
74472         * lib/unistr/u8-to-u32.c: New file.
74473
74474         * modules/unistr/u16-to-u8: New file.
74475         * lib/unistr/u16-to-u8.c: New file.
74476
74477         * modules/unistr/u16-to-u32: New file.
74478         * lib/unistr/u16-to-u32.c: New file.
74479
74480         * modules/unistr/u32-to-u8: New file.
74481         * lib/unistr/u32-to-u8.c: New file.
74482
74483         * modules/unistr/u32-to-u16: New file.
74484         * lib/unistr/u32-to-u16.c: New file.
74485
74486         * modules/unistr/u8-check: New file.
74487         * modules/unistr/u16-check: New file.
74488         * modules/unistr/u32-check: New file.
74489         * lib/unistr/u8-check.c: New file.
74490         * lib/unistr/u16-check.c: New file.
74491         * lib/unistr/u32-check.c: New file.
74492
74493         * modules/unistr/u8-chr: New file.
74494         * modules/unistr/u16-chr: New file.
74495         * modules/unistr/u32-chr: New file.
74496         * lib/unistr/u8-chr.c: New file.
74497         * lib/unistr/u16-chr.c: New file.
74498         * lib/unistr/u32-chr.c: New file.
74499
74500         * modules/unistr/u8-cmp: New file.
74501         * modules/unistr/u16-cmp: New file.
74502         * modules/unistr/u32-cmp: New file.
74503         * lib/unistr/u8-cmp.c: New file.
74504         * lib/unistr/u16-cmp.c: New file.
74505         * lib/unistr/u32-cmp.c: New file.
74506
74507         * modules/unistr/u8-cpy: New file.
74508         * modules/unistr/u16-cpy: New file.
74509         * modules/unistr/u32-cpy: New file.
74510         * lib/unistr/u8-cpy.c: New file.
74511         * lib/unistr/u16-cpy.c: New file.
74512         * lib/unistr/u32-cpy.c: New file.
74513         * lib/unistr/u-cpy.h: New file.
74514
74515         * modules/unistr/u8-cpy-alloc: New file.
74516         * modules/unistr/u16-cpy-alloc: New file.
74517         * modules/unistr/u32-cpy-alloc: New file.
74518         * lib/unistr/u8-cpy-alloc.c: New file.
74519         * lib/unistr/u16-cpy-alloc.c: New file.
74520         * lib/unistr/u32-cpy-alloc.c: New file.
74521         * lib/unistr/u-cpy-alloc.h: New file.
74522
74523         * modules/unistr/u8-endswith: New file.
74524         * modules/unistr/u16-endswith: New file.
74525         * modules/unistr/u32-endswith: New file.
74526         * lib/unistr/u8-endswith.c: New file.
74527         * lib/unistr/u16-endswith.c: New file.
74528         * lib/unistr/u32-endswith.c: New file.
74529         * lib/unistr/u-endswith.h: New file.
74530
74531         * modules/unistr/u8-mblen: New file.
74532         * modules/unistr/u16-mblen: New file.
74533         * modules/unistr/u32-mblen: New file.
74534         * lib/unistr/u8-mblen.c: New file.
74535         * lib/unistr/u16-mblen.c: New file.
74536         * lib/unistr/u32-mblen.c: New file.
74537
74538         * modules/unistr/u8-mbtouc: New file.
74539         * modules/unistr/u16-mbtouc: New file.
74540         * modules/unistr/u32-mbtouc: New file.
74541         * lib/unistr/u8-mbtouc.c: New file.
74542         * lib/unistr/u16-mbtouc.c: New file.
74543         * lib/unistr/u32-mbtouc.c: New file.
74544
74545         * modules/unistr/u8-mbtouc-safe: New file.
74546         * modules/unistr/u16-mbtouc-safe: New file.
74547         * modules/unistr/u32-mbtouc-safe: New file.
74548         * lib/unistr/u8-mbtouc-safe.c: New file.
74549         * lib/unistr/u16-mbtouc-safe.c: New file.
74550         * lib/unistr/u32-mbtouc-safe.c: New file.
74551
74552         * modules/unistr/u8-move: New file.
74553         * modules/unistr/u16-move: New file.
74554         * modules/unistr/u32-move: New file.
74555         * lib/unistr/u8-move.c: New file.
74556         * lib/unistr/u16-move.c: New file.
74557         * lib/unistr/u32-move.c: New file.
74558         * lib/unistr/u-move.h: New file.
74559
74560         * modules/unistr/u8-next: New file.
74561         * modules/unistr/u16-next: New file.
74562         * modules/unistr/u32-next: New file.
74563         * lib/unistr/u8-next.c: New file.
74564         * lib/unistr/u16-next.c: New file.
74565         * lib/unistr/u32-next.c: New file.
74566
74567         * modules/unistr/u8-prev: New file.
74568         * modules/unistr/u16-prev: New file.
74569         * modules/unistr/u32-prev: New file.
74570         * lib/unistr/u8-prev.c: New file.
74571         * lib/unistr/u16-prev.c: New file.
74572         * lib/unistr/u32-prev.c: New file.
74573
74574         * modules/unistr/u8-set: New file.
74575         * modules/unistr/u16-set: New file.
74576         * modules/unistr/u32-set: New file.
74577         * lib/unistr/u8-set.c: New file.
74578         * lib/unistr/u16-set.c: New file.
74579         * lib/unistr/u32-set.c: New file.
74580         * lib/unistr/u-set.h: New file.
74581
74582         * modules/unistr/u8-startswith: New file.
74583         * modules/unistr/u16-startswith: New file.
74584         * modules/unistr/u32-startswith: New file.
74585         * lib/unistr/u8-startswith.c: New file.
74586         * lib/unistr/u16-startswith.c: New file.
74587         * lib/unistr/u32-startswith.c: New file.
74588         * lib/unistr/u-startswith.h: New file.
74589
74590         * modules/unistr/u8-stpcpy: New file.
74591         * modules/unistr/u16-stpcpy: New file.
74592         * modules/unistr/u32-stpcpy: New file.
74593         * lib/unistr/u8-stpcpy.c: New file.
74594         * lib/unistr/u16-stpcpy.c: New file.
74595         * lib/unistr/u32-stpcpy.c: New file.
74596         * lib/unistr/u-stpcpy.h: New file.
74597
74598         * modules/unistr/u8-stpncpy: New file.
74599         * modules/unistr/u16-stpncpy: New file.
74600         * modules/unistr/u32-stpncpy: New file.
74601         * lib/unistr/u8-stpncpy.c: New file.
74602         * lib/unistr/u16-stpncpy.c: New file.
74603         * lib/unistr/u32-stpncpy.c: New file.
74604         * lib/unistr/u-stpncpy.h: New file.
74605
74606         * modules/unistr/u8-strcat: New file.
74607         * modules/unistr/u16-strcat: New file.
74608         * modules/unistr/u32-strcat: New file.
74609         * lib/unistr/u8-strcat.c: New file.
74610         * lib/unistr/u16-strcat.c: New file.
74611         * lib/unistr/u32-strcat.c: New file.
74612         * lib/unistr/u-strcat.h: New file.
74613
74614         * modules/unistr/u8-strchr: New file.
74615         * modules/unistr/u16-strchr: New file.
74616         * modules/unistr/u32-strchr: New file.
74617         * lib/unistr/u8-strchr.c: New file.
74618         * lib/unistr/u16-strchr.c: New file.
74619         * lib/unistr/u32-strchr.c: New file.
74620
74621         * modules/unistr/u8-strcmp: New file.
74622         * modules/unistr/u16-strcmp: New file.
74623         * modules/unistr/u32-strcmp: New file.
74624         * lib/unistr/u8-strcmp.c: New file.
74625         * lib/unistr/u16-strcmp.c: New file.
74626         * lib/unistr/u32-strcmp.c: New file.
74627
74628         * modules/unistr/u8-strcpy: New file.
74629         * modules/unistr/u16-strcpy: New file.
74630         * modules/unistr/u32-strcpy: New file.
74631         * lib/unistr/u8-strcpy.c: New file.
74632         * lib/unistr/u16-strcpy.c: New file.
74633         * lib/unistr/u32-strcpy.c: New file.
74634         * lib/unistr/u-strcpy.h: New file.
74635
74636         * modules/unistr/u8-strcspn: New file.
74637         * modules/unistr/u16-strcspn: New file.
74638         * modules/unistr/u32-strcspn: New file.
74639         * lib/unistr/u8-strcspn.c: New file.
74640         * lib/unistr/u16-strcspn.c: New file.
74641         * lib/unistr/u32-strcspn.c: New file.
74642         * lib/unistr/u-strcspn.h: New file.
74643
74644         * modules/unistr/u8-strdup: New file.
74645         * modules/unistr/u16-strdup: New file.
74646         * modules/unistr/u32-strdup: New file.
74647         * lib/unistr/u8-strdup.c: New file.
74648         * lib/unistr/u16-strdup.c: New file.
74649         * lib/unistr/u32-strdup.c: New file.
74650         * lib/unistr/u-strdup.h: New file.
74651
74652         * modules/unistr/u8-strlen: New file.
74653         * modules/unistr/u16-strlen: New file.
74654         * modules/unistr/u32-strlen: New file.
74655         * lib/unistr/u8-strlen.c: New file.
74656         * lib/unistr/u16-strlen.c: New file.
74657         * lib/unistr/u32-strlen.c: New file.
74658         * lib/unistr/u-strlen.h: New file.
74659
74660         * modules/unistr/u8-strmblen: New file.
74661         * modules/unistr/u16-strmblen: New file.
74662         * modules/unistr/u32-strmblen: New file.
74663         * lib/unistr/u8-strmblen.c: New file.
74664         * lib/unistr/u16-strmblen.c: New file.
74665         * lib/unistr/u32-strmblen.c: New file.
74666
74667         * modules/unistr/u8-strmbtouc: New file.
74668         * modules/unistr/u16-strmbtouc: New file.
74669         * modules/unistr/u32-strmbtouc: New file.
74670         * lib/unistr/u8-strmbtouc.c: New file.
74671         * lib/unistr/u16-strmbtouc.c: New file.
74672         * lib/unistr/u32-strmbtouc.c: New file.
74673
74674         * modules/unistr/u8-strncat: New file.
74675         * modules/unistr/u16-strncat: New file.
74676         * modules/unistr/u32-strncat: New file.
74677         * lib/unistr/u8-strncat.c: New file.
74678         * lib/unistr/u16-strncat.c: New file.
74679         * lib/unistr/u32-strncat.c: New file.
74680         * lib/unistr/u-strncat.h: New file.
74681
74682         * modules/unistr/u8-strncmp: New file.
74683         * modules/unistr/u16-strncmp: New file.
74684         * modules/unistr/u32-strncmp: New file.
74685         * lib/unistr/u8-strncmp.c: New file.
74686         * lib/unistr/u16-strncmp.c: New file.
74687         * lib/unistr/u32-strncmp.c: New file.
74688
74689         * modules/unistr/u8-strncpy: New file.
74690         * modules/unistr/u16-strncpy: New file.
74691         * modules/unistr/u32-strncpy: New file.
74692         * lib/unistr/u8-strncpy.c: New file.
74693         * lib/unistr/u16-strncpy.c: New file.
74694         * lib/unistr/u32-strncpy.c: New file.
74695         * lib/unistr/u-strncpy.h: New file.
74696
74697         * modules/unistr/u8-strnlen: New file.
74698         * modules/unistr/u16-strnlen: New file.
74699         * modules/unistr/u32-strnlen: New file.
74700         * lib/unistr/u8-strnlen.c: New file.
74701         * lib/unistr/u16-strnlen.c: New file.
74702         * lib/unistr/u32-strnlen.c: New file.
74703         * lib/unistr/u-strnlen.h: New file.
74704
74705         * modules/unistr/u8-strpbrk: New file.
74706         * modules/unistr/u16-strpbrk: New file.
74707         * modules/unistr/u32-strpbrk: New file.
74708         * lib/unistr/u8-strpbrk.c: New file.
74709         * lib/unistr/u16-strpbrk.c: New file.
74710         * lib/unistr/u32-strpbrk.c: New file.
74711         * lib/unistr/u-strpbrk.h: New file.
74712
74713         * modules/unistr/u8-strrchr: New file.
74714         * modules/unistr/u16-strrchr: New file.
74715         * modules/unistr/u32-strrchr: New file.
74716         * lib/unistr/u8-strrchr.c: New file.
74717         * lib/unistr/u16-strrchr.c: New file.
74718         * lib/unistr/u32-strrchr.c: New file.
74719
74720         * modules/unistr/u8-strspn: New file.
74721         * modules/unistr/u16-strspn: New file.
74722         * modules/unistr/u32-strspn: New file.
74723         * lib/unistr/u8-strspn.c: New file.
74724         * lib/unistr/u16-strspn.c: New file.
74725         * lib/unistr/u32-strspn.c: New file.
74726         * lib/unistr/u-strspn.h: New file.
74727
74728         * modules/unistr/u8-strstr: New file.
74729         * modules/unistr/u16-strstr: New file.
74730         * modules/unistr/u32-strstr: New file.
74731         * lib/unistr/u8-strstr.c: New file.
74732         * lib/unistr/u16-strstr.c: New file.
74733         * lib/unistr/u32-strstr.c: New file.
74734         * lib/unistr/u-strstr.h: New file.
74735
74736         * modules/unistr/u8-strtok: New file.
74737         * modules/unistr/u16-strtok: New file.
74738         * modules/unistr/u32-strtok: New file.
74739         * lib/unistr/u8-strtok.c: New file.
74740         * lib/unistr/u16-strtok.c: New file.
74741         * lib/unistr/u32-strtok.c: New file.
74742         * lib/unistr/u-strtok.h: New file.
74743
74744         * modules/unistr/u8-uctomb: New file.
74745         * modules/unistr/u16-uctomb: New file.
74746         * modules/unistr/u32-uctomb: New file.
74747         * lib/unistr/u8-uctomb.c: New file.
74748         * lib/unistr/u16-uctomb.c: New file.
74749         * lib/unistr/u32-uctomb.c: New file.
74750
74751         * MODULES.html.sh (Unicode string functions): Add the new modules.
74752
74753 2007-01-08  Bruno Haible  <bruno@clisp.org>
74754
74755         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74756         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74757         subdirectories.
74758
74759 2007-01-08  Karl Berry  <karl@gnu.org>
74760
74761         * doc/error.texi: mention that main() fns must set program_name
74762         when progname is used.
74763
74764 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74765
74766         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
74767         WCTYPE_H is empty, for the benefit of builds from non-distclean
74768         directories.  Problem reported by Eric Blake in
74769         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
74770
74771 2007-01-08  Bruno Haible  <bruno@clisp.org>
74772
74773         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
74774         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
74775         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
74776         PROVIDE_CANONICALIZE_FILENAME_MODE.
74777         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
74778
74779 2007-01-08  Bruno Haible  <bruno@clisp.org>
74780
74781         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
74782         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
74783         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
74784         * lib/fts.c: Likewise.
74785         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
74786
74787 2006-12-25  Bruno Haible  <bruno@clisp.org>
74788
74789         * modules/utf8-ucs4-safe: New file.
74790         * lib/utf8-ucs4-safe.h: New file.
74791         * lib/unistr/utf8-ucs4-safe.c: New file.
74792
74793         * modules/utf16-ucs4-safe: New file.
74794         * lib/utf16-ucs4-safe.h: New file.
74795         * lib/unistr/utf16-ucs4-safe.c: New file.
74796
74797         * MODULES.html.sh (Unicode string functions): Add the new modules.
74798
74799 2007-01-08  Bruno Haible  <bruno@clisp.org>
74800
74801         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
74802         (Depends-on): Add unitypes.
74803         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74804         (u8_mbtouc_aux): Move out to separate file.
74805         (u8_mbtouc): Use ucs4_t, uint8_t types.
74806         * lib/unistr/utf8-ucs4.c: New file.
74807
74808         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
74809         (Depends-on): Add unitypes.
74810         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74811         (u16_mbtouc_aux): Move out to separate file.
74812         (u16_mbtouc): Use ucs4_t, uint16_t types.
74813         * lib/unistr/utf16-ucs4.c: New file.
74814
74815         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
74816         (Depends-on): Add unitypes.
74817         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
74818         (u8_uctomb_aux): Move out to separate file.
74819         (u8_uctomb): Use ucs4_t, uint8_t types.
74820         * lib/unistr/ucs4-utf8.c: New file.
74821
74822         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
74823         (Depends-on): Add unitypes.
74824         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
74825         (u16_uctomb_aux): Move out to separate file.
74826         (u16_uctomb): Use ucs4_t, uint16_t types.
74827         * lib/unistr/ucs4-utf16.c: New file.
74828
74829 2006-12-25  Bruno Haible  <bruno@clisp.org>
74830
74831         * modules/unitypes: New file.
74832         * lib/unitypes.h: New file.
74833         * MODULES.html.sh (func_all_modules): New section "Unicode string
74834         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
74835         this section. Add unitypes.
74836
74837 2007-01-08  Bruno Haible  <bruno@clisp.org>
74838
74839         Avoid variable names that conflict with those from libtool.
74840         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
74841         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
74842         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
74843         library_names_spec to acl_library_names_spec, hardcode_* to
74844         acl_hardcode_*.
74845         Reported by Ralf Wildenhues.
74846
74847 2007-01-08  Bruno Haible  <bruno@clisp.org>
74848
74849         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
74850         definition.
74851         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
74852         definition.
74853         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
74854         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
74855         definition.
74856         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
74857         definition.
74858         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
74859         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
74860         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
74861         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
74862         definition.
74863         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
74864         definition.
74865         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
74866         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
74867         GC_USE_<algorithm>.
74868         * lib/gc-libgcrypt.c: Likewise.
74869         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
74870         * modules/gc-arctwo (configure.ac): Likewise.
74871         * modules/gc-des (configure.ac): Likewise.
74872         * modules/gc-hmac-md5 (configure.ac): Likewise.
74873         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74874         * modules/gc-md2 (configure.ac): Likewise.
74875         * modules/gc-md4 (configure.ac): Likewise.
74876         * modules/gc-md5 (configure.ac): Likewise.
74877         * modules/gc-random (configure.ac): Likewise.
74878         * modules/gc-rijndael (configure.ac): Likewise.
74879         * modules/gc-sha1 (configure.ac): Likewise.
74880
74881 2007-01-08  Bruno Haible  <bruno@clisp.org>
74882
74883         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
74884         macro definition.
74885         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
74886         definition.
74887         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
74888         definition.
74889         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
74890         * modules/fcntl-safer (configure.ac): Likewise.
74891         * modules/fopen-safer (configure.ac): Likewise.
74892         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
74893         GNULIB_FWRITEERROR macro definition.
74894
74895 2007-01-08  Bruno Haible  <bruno@clisp.org>
74896
74897         * m4/gnulib-common.m4: New file.
74898         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
74899         (func_get_filelist): Add m4/gnulib-common.m4.
74900
74901 2007-01-08  Bruno Haible  <bruno@clisp.org>
74902
74903         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
74904         command.
74905
74906 2007-01-08  Jim Meyering  <jim@meyering.net>
74907
74908         Use a more robust test for a "can't happen" condition.
74909         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
74910         narrowed the st_size value.  Presuming the "can't happen" condition
74911         is true, that narrowing could conceivably convert an invalid st_size
74912         value into a valid one.  Instead, use a change based on Matthew
74913         Woehlke's original patch.
74914
74915         Slight readability improvement: use an assert-like macro
74916         in place of literal "abort ()" uses.
74917         * lib/fts.c (fts_assert): Define.
74918         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
74919         Use this macro instead of a bare 'abort'.
74920
74921 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
74922
74923         Don't worry about using IRIX 5.3's wctype.h broken definitions;
74924         simply work around them.
74925         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
74926         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
74927         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
74928         declaring.
74929         Don't bother to define as macros, since the standard doesn't require it.
74930         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74931         longer worry about IRIX 5.3.
74932         (HAVE_WCTYPE_CTMP_BUG): Remove.
74933
74934 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74935
74936         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74937         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74938         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74939         Problems reported by Georg Schwarz for IRIX 5.3.
74940
74941         * gnulib-tool (autoconf_minversion): Take the maximum version number
74942         found, not the minimum.  Problem reported by James Youngman.
74943
74944 2007-01-03  Karl Berry  <karl@gnu.org>
74945
74946         * doc/error.texi: new file, explaining interaction with progname.
74947         * doc/gnulib.texi: include it.  Update copyright.
74948
74949 2007-01-03  Simon Josefsson  <simon@josefsson.org>
74950
74951         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
74952         AC_CANONICAL_HOST, to improve autobuild outputs.
74953
74954 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
74955             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74956
74957         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
74958         sockets, server sockets, and other file descriptors.  Count errors
74959         to compute the return value.  Reorder the code a bit to be easier
74960         to follow.  Don't set event bits that were not requested (except
74961         POLLERR and POLLHUP).
74962
74963 2007-01-01  Bruno Haible  <bruno@clisp.org>
74964
74965         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
74966
74967 2007-01-03  Jim Meyering  <jim@meyering.net>
74968
74969         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
74970
74971 2007-01-02  Bruno Haible  <bruno@clisp.org>
74972
74973         * modules/settime (Include): Require timespec.h.
74974         * modules/nanosleep (Include): Likewise.
74975
74976 2007-01-01  Bruno Haible  <bruno@clisp.org>
74977
74978         * gnulib-tool (func_emit_copyright_notice): Bump year.
74979         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
74980
74981 2007-01-01  Bruno Haible  <bruno@clisp.org>
74982
74983         Improve support for OpenBSD.
74984         * build-aux/config.rpath (libname_spec): Export.
74985         (library_names_spec): New variable. Export.
74986         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
74987         library_names_spec from the config.rpath output. Locate shared library
74988         through the name pattern in library_names_spec.
74989
74990 2007-01-01  Eric Blake  <ebb9@byu.net>
74991
74992         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
74993
74994 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
74995
74996         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
74997         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
74998         assume the C locale, and avoid an "eval" that could cause trouble.
74999         Problem with SORT reported by Bob Proulx.
75000
75001         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75002         Define.  Trivial patch from Henning Nielsen Lund, originally
75003         sent to bug-grep@gnu.org today.
75004
75005 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75006
75007         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75008         struct stat.  Problem reported by Henning Nielsen Lund.
75009         * lib/acl.c: Include acl.h first, to check interface.  Don't
75010         bother to include sys/types.h and sys/stat.h again.
75011
75012 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75013
75014         Import the following change from libc; problem reported by
75015         Sven Verdoolaege.
75016
75017         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75018
75019         [BZ #1373]
75020         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75021
75022 2006-12-28  Jim Meyering  <jim@meyering.net>
75023
75024         * build-aux/announce-gen: Do not assume that the package
75025         builds any of tar.gz, tar.bz2, and .xdelta files.
75026         Suggestion from Simon Josefsson.
75027
75028 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75029
75030         * modules/announce-gen: New file.
75031
75032 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75033
75034         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75035         handles its gotchas now.
75036         * lib/mbswidth.c: Likewise.
75037         * lib/wcwidth.h: Likewise.
75038         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75039         and iswcntrl; the wctype module does this stuff now.
75040         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75041         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75042         * modules/mbchar (Depends-on): Add wctype.
75043         * modules/mbswidth (Depends-on): Likewise.
75044         * modules/wcwidth (Depends-on): Likewise.
75045
75046 2006-12-27  Eric Blake  <ebb9@byu.net>
75047
75048         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75049         module uses more than what <wctype.h> is required to provide.
75050
75051 2006-12-26  Eric Blake  <ebb9@byu.net>
75052
75053         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75054
75055 2006-12-26  Eric Blake  <ebb9@byu.net>
75056
75057         * modules/absolute-header: New module.
75058         * modules/fcntl (Depends-on): Depend on it.
75059         * modules/inttypes (Depends-on): Likewise.
75060         * modules/stdint (Depends-on): Likewise.
75061         * modules/sys_stat (Depends-on): Likewise.
75062         * modules/wctype (Depends-on): Likewise.
75063         * MODULES.html.sh (Support for building libraries and
75064         executables): Document it.
75065
75066 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75067
75068         * gnulib-tool (SED): Remove, undoing previous change.
75069         The problem was that it broke coreutils on Solaris, because
75070         "sed --posix" leaked into a makefile.
75071         (sed): New alias, if 'alias' and GNU sed.
75072
75073 2006-12-24  Jim Meyering  <jim@meyering.net>
75074
75075         Work around an fchownat bug in glibc-2.4:
75076         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75077         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75078         in spite of the -P option.
75079         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75080         New macros.
75081         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75082         * modules/openat (Files): Add lib/fchownat.c.
75083         * lib/openat.c (fchownat): Don't define here.  Move to...
75084         * lib/fchownat.c: ...this new file.
75085
75086 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75087
75088         Fix bug reported by Bruno Haible in
75089         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75090         where quotearg.c didn't compile on Mac OS X 10.2 because it
75091         lacks <wchar.h> and wint_t.
75092         * lib/wctype_.h (__wctype_wint_t): New type.
75093         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75094         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75095         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75096         Arg is now of type __wctype_wint_t, not wint_t.
75097         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75098         substitute HAVE_WINT_T.
75099         * modules/wctype (Files): Add m4/wint_t.m4.
75100         (wctype.h): Substitute HAVE_WINT_T.
75101
75102 2006-12-23  Bruno Haible  <bruno@clisp.org>
75103
75104         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75105
75106 2006-12-23  Bruno Haible  <bruno@clisp.org>
75107
75108         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75109         S_ISLNK.
75110         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75111         mingw.
75112
75113 2006-12-22  Bruno Haible  <bruno@clisp.org>
75114
75115         * lib/copy-file.c: Include acl.h.
75116         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75117         Close the file descriptors only after being done with copy_acl.
75118         * modules/copy-file (Depends-on): Add acl.
75119
75120 2006-12-22  Bruno Haible  <bruno@clisp.org>
75121
75122         * gnulib-tool (SED): New variable.
75123         Use $SED instead of sed everywhere.
75124
75125 2006-12-22  Bruno Haible  <bruno@clisp.org>
75126
75127         * modules/no-c++: New file.
75128         * m4/no-c++.m4: New file.
75129         * MODULES.html.sh (Support for building libraries and executables):
75130         Add no-c++.
75131
75132 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75133
75134         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75135         Include <limits.h>, and use its INT_MAX to rewrite the
75136         j loop so that it does not overflow 'int'.  Problem reported by
75137         Ralf Wildenhues in
75138         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75139         Play it safe by shifting left by 1 rather than multiplying by 2,
75140         as GCC is less likely to optimize this away when the value
75141         is signed (when it assumes overflow leads to undefined behavior).
75142         Also, don't assume time_t uses two's complement.
75143
75144 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75145
75146         * MODULES.html.sh: New module wctype.
75147         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75148         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75149         <wctype.h>, since the new wctype module should fix this.
75150         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75151         the wctype module should arrange for it.
75152         * lib/regex_internal.h: Likewise.
75153         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75154         since the wctype module should handle this now.
75155         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75156         * modules/fnmatch (Depends-on): Add wctype.
75157         * modules/quotearg (Depends-on): Likewise.
75158         * modules/regex (Depends-on): Likewise.
75159
75160 2006-12-19  Bruno Haible  <bruno@clisp.org>
75161
75162         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75163         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75164
75165 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75166
75167         * modules/savewd (Depends-on): Fix dependency on fcntl.
75168
75169 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75170
75171         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75172         conforms to C99, rather than relying on the user's environment
75173         setting of STDINT_H.
75174
75175 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75176         and Eric Blake  <ebb9@byu.net>
75177
75178         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75179         This is more consistent with the other defines here.
75180         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75181         Port to z/OS.  Problem reported by Paul Gilmartin.
75182         Change local vars to use gl_ prefix rather than ac_.
75183         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75184         with other defines.
75185         * modules/double-slash-root: New module.
75186         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75187         (Depends-on): Add double-slash-root.
75188         * MODULES.html.sh (File system functions): Mention new module.
75189
75190 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75191
75192         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75193         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75194         This is for the benefit of gzip, which doesn't do i18n.
75195
75196 2006-12-12  Jim Meyering  <jim@meyering.net>
75197
75198         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75199         Reported by Andreas Schwab <schwab@suse.de>.
75200
75201 2006-12-12  Bruno Haible  <bruno@clisp.org>
75202
75203         Merge these changes.
75204         2006-09-05  Bruno Haible  <bruno@clisp.org>
75205         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75206         iconv_alloc succeeded.
75207         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75208         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75209         test for " && dest " at the end - dest is always != NULL there. Call
75210         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75211         with 2xNULL arguments, also to flush the state storage. Handle the
75212         IRIX iconv behaviour. Realloc the final result, to throw away unused
75213         memory.
75214
75215 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75216
75217         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75218         and fchmodat unconditionally, since glibc 2.4 has them.
75219         Problem reported by Arkadiusz Miskiewicz.
75220
75221 2006-12-10  Bruno Haible  <bruno@clisp.org>
75222
75223         * gnulib-tool (func_import): Show the include files only for those
75224         modules that are copied and specified.
75225         Reported by Karl Berry.
75226
75227 2006-12-08  Jim Meyering  <jim@meyering.net>
75228
75229         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75230         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75231
75232         * build-aux/announce-gen: Add two new options, both optional:
75233         --bootstrap-tools=TOOL_LIST
75234               a comma-separated list of tools, e.g.,
75235               autoconf,automake,bison,gnulib
75236         --gnulib-snapshot-date=DATE
75237               if gnulib is in the bootstrap tool list,
75238               then report this as the snapshot date.
75239               If not specified, use the current date/time.
75240               If you specify a date here, be sure it's UTC.
75241
75242 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75243
75244         * tests/test-argp-2.sh: Fix test to match actual output.
75245         (func_compare): Fix sed script to be portable.
75246
75247 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75248
75249         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75250         workaround for this case.  It is not autoconfigured now; offhand
75251         it's hard to see how to autoconfigure it.
75252
75253 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75254
75255         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75256         a directory that is about to be chowned.  Such a directory's
75257         initial file permissions should permit the owner only and this
75258         should not be changed until after the chown, since the group and
75259         other bits would be incorrect if they granted permission before
75260         the chown.
75261
75262         Fix porting problem for iswctype reported by Georg Schwarz in:
75263         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75264         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75265         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75266         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75267         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75268
75269 2006-12-03  Jim Meyering  <jim@meyering.net>
75270
75271         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75272         p->fts_statp may not yet be defined.
75273         (fts_read): Instead, set it in the caller, once p->fts_statp is
75274         sure to be defined, and corresponds to a top-level directory.
75275         This bug made du -x fail.  Here's the coreutils test case:
75276         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75277         Reported by Mike Frysinger.
75278
75279 2006-12-01  Jim Meyering  <jim@meyering.net>
75280
75281         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75282         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75283         Reported by Simon Josefsson.
75284
75285 2006-11-30  Jim Meyering  <jim@meyering.net>
75286
75287         * m4/warning.m4: Use the all-permissive copyright notice
75288         recommended by RMS (rather than LGPL).
75289         * m4/vararrays.m4: Likewise.
75290         * m4/flexmember.m4: Likewise.
75291
75292 2006-11-29  Bruno Haible  <bruno@clisp.org>
75293
75294         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75295         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75296         using +=.
75297         Reported by Simon Josefsson <simon@josefsson.org>.
75298
75299 2006-11-28  James Youngman <jay@gnu.org>
75300
75301         * README: Advise users that they might find the bug-gnulib@gnu.org
75302         and autotools-announce@gnu.org mailing lists useful.
75303
75304 2006-11-28  Bruno Haible  <bruno@clisp.org>
75305
75306         * m4/ptrdiff_max.m4: Remove file.
75307
75308 2006-11-21  Bruno Haible  <bruno@clisp.org>
75309
75310         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75311         _AC_COMPUTE_INT.
75312         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75313         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75314         _AC_COMPUTE_INT.
75315         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75316         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75317         _AC_COMPUTE_INT.
75318         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75319
75320 2006-11-28  Jim Meyering  <jim@meyering.net>
75321
75322         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75323         warning from "gcc -Wshadow" about shadowing the builtin.
75324
75325 2006-11-27  Bruno Haible  <bruno@clisp.org>
75326
75327         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75328         _AC_COMPUTE_INT.
75329         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75330
75331 2006-11-27  Bruno Haible  <bruno@clisp.org>
75332             Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75335
75336 2006-11-26  Bruno Haible  <bruno@clisp.org>
75337
75338         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75339         noinst_LTLIBRARIES.
75340
75341 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75342             Bruno Haible  <bruno@clisp.org>
75343
75344         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75345         if compiling with "gcc -ansi".
75346
75347 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         Fix some incompatibilities with gcc -ansi -pedantic.
75350         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75351         if compiling pedantically with GCC, unless it's C99 or later.
75352         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75353         it mishandles gcc -ansi -pedantic as well.
75354         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75355         if gcc -pedantic.
75356         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75357         initializers for struct if -pedantic, unless it's C99 or later.
75358
75359 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75360
75361         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75362         Don't close an fd more than once. Identical atimes indicate
75363         success, not failure.
75364
75365 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75366
75367         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75368
75369 2006-11-23  Jim Meyering  <jim@meyering.net>
75370
75371         * build-aux/announce-gen: New file.  From coreutils.
75372
75373 2006-11-22  Jim Meyering  <jim@meyering.net>
75374
75375         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75376         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75377         (fts_read): Use a temporary to narrow the overused st_size member
75378         before using it in a switch statement.  Reported by Matthew Woehlke.
75379
75380         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75381         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75382
75383 2006-11-20  Bruno Haible  <bruno@clisp.org>
75384
75385         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75386         changequote instead of pairs of brackets.
75387         Reported by Andreas Schwab <schwab@suse.de>.
75388
75389 2006-11-21  Jim Meyering  <jim@meyering.net>
75390
75391         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75392         so as to remain compatible with older compilers.
75393         Patch from Michael Deutschmann.
75394
75395 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75396
75397         * MODULES.html.sh (File system functions): Add openat.
75398
75399         * lib/openat.h (rpl_fstatat): New macro, if
75400         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75401         (fstatat): Define to rpl_fstatat under the same conditions,
75402         unless COMPILING_FSTATAT.
75403         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75404         seems to have the bug.
75405         * lib/fstatat.c: New file.
75406         * modules/openat (Files): Add it.
75407
75408 2006-11-20  Bruno Haible  <bruno@clisp.org>
75409
75410         * Makefile: New file.
75411
75412 2006-11-20  Jim Meyering  <jim@meyering.net>
75413
75414         The beginnings of syntax-related checks for gnulib.
75415         * lib/Makefile: New file.
75416         * lib/t-idcache: New script.  Ensure that the two halves of
75417         idcache.c stay in sync.
75418
75419         * lib/idcache.c: Adjust comments in user- and group- portions to
75420         be more accurate, and to be consistent with one another.
75421
75422 2006-11-20  Jim Meyering  <jim@meyering.net>
75423
75424         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75425         continue using the flexible array member (thus, this module performs
75426         half as many malloc calls), with the addition that...
75427         (getgroup, getuser): Consistently record a non-match via an empty
75428         "name" string, and map an empty string match to a NULL return value.
75429         * modules/idcache (Depends-on): Re-add flexmember.
75430
75431         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75432         (getuidbyname, getgroup, getgidbyname): Likewise.
75433
75434         Use cleaner syntax: NULL rather than 0.
75435         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75436
75437 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75438
75439         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75440         It mishandled the case where the group was missing.
75441         Problem reported by Greg Schafer.
75442         * modules/idcache: Likewise.
75443
75444 2006-11-18  Jim Meyering  <jim@meyering.net>
75445
75446         * check-module (%exempt_header): Add exception for some
75447         conditionally-included headers.
75448
75449         * modules/i-ring (Depends-on): Add verify.
75450         (License): Change to LGPL.
75451
75452 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75453
75454         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75455         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75456         and inttostr.h.  Use snprintf rather than uinttostr, so that
75457         LGPLed code doesn't depend on GPLed.
75458
75459 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75460
75461         * modules/inline (License): Change from GPL to LGPL.
75462
75463 2006-11-17  Jim Meyering  <jim@meyering.net>
75464
75465         * modules/d-type (License): Switch to LGPL.
75466
75467 2006-11-15  Bruno Haible  <bruno@clisp.org>
75468
75469         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75470
75471 2006-11-15  Eric Blake  <ebb9@byu.net>
75472
75473         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75474         the module dependency.
75475
75476 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75477             Bruno Haible  <bruno@clisp.org>
75478
75479         * gnulib-tool (func_create_testdir): Add license consistency check.
75480
75481 2006-11-15  Eric Blake  <ebb9@byu.net>
75482
75483         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75484         random "(cached)" in configure output.
75485
75486 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75487
75488         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75489         test for conforming inttypes.h is both announced and cached.
75490
75491         * MODULES.html.sh (seen_modules, seen_files): New variables.
75492         (func_module): Rewrite to use a few less gnulib-tool and sed
75493         invocations.  Avoid a couple of quadratic algorithms for ...
75494         (missed_modules, missed_files): ... these, with ...
75495         (func_append, func_tmpdir): ... these new functions, from
75496         gnulib-tool.  Analogously, install traps for cleanup.
75497
75498         * tests/test-gc.c (main): Remove unused variables.
75499         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75500
75501 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75502
75503         * modules/inttostr (License): Change to LGPL.
75504
75505 2006-11-14  Eric Blake  <ebb9@byu.net>
75506
75507         * modules/tempname (License): Change to LGPL.
75508
75509 2006-11-14  Eric Blake  <ebb9@byu.net>
75510
75511         * doc/functions.texi (Function Portability): *printf functions on
75512         Cygwin now understand all POSIX size specifiers.
75513
75514 2006-11-14  Bruno Haible  <bruno@clisp.org>
75515
75516         * modules/c-ctype (License): Change to LGPL.
75517
75518 2006-11-12  Bruno Haible  <bruno@clisp.org>
75519
75520         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75521         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75522         for GNOME libraries, for which the include files are installed in
75523         subdirectories of $prefix/include.
75524
75525 2006-11-12  Bruno Haible  <bruno@clisp.org>
75526
75527         * m4/lib-link.m4: Require at least autoconf-2.54.
75528         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75529         name to underscores for the --with option.
75530
75531 2006-11-13  Bruno Haible  <bruno@clisp.org>
75532
75533         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75534         the tests directory.
75535         Reported by Ralf Wildenhues.
75536
75537 2006-11-13  Bruno Haible  <bruno@clisp.org>
75538
75539         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75540         (func_emit_initmacro_end): Undo the override here.
75541         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75542         Works around the famous automake error in coreutils.
75543
75544 2006-11-13  Eric Blake  <ebb9@byu.net>
75545
75546         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75547         element, not its node.
75548
75549 2006-11-12  Bruno Haible  <bruno@clisp.org>
75550
75551         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75552         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75553
75554 2006-11-12  Bruno Haible  <bruno@clisp.org>
75555
75556         * gnulib-tool: New option --local-symlink.
75557         (func_usage): Document it.
75558         (lsymbolic): New variable.
75559         (func_import, func_create_testdir): If --symlink was not specified,
75560         test whether --local-symlink was specified and the file comes from
75561         the local_gnulib_dir.
75562
75563 2006-11-12  Bruno Haible  <bruno@clisp.org>
75564
75565         * gnulib-tool (func_ln): New function.
75566         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75567
75568 2006-11-12  Bruno Haible  <bruno@clisp.org>
75569
75570         Finish support for source files in subdirectories.
75571         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75572         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75573         AUTOMAKE_OPTIONS.
75574         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75575
75576 2006-11-12  Bruno Haible  <bruno@clisp.org>
75577
75578         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75579         EXTRA_lib_SOURCES augmentation.
75580         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75581
75582 2006-11-12  Jim Meyering  <jim@meyering.net>
75583
75584         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75585         file descriptors.  This also averts a failure on systems with
75586         native openat support when a traversed directory lacks "x" access.
75587         * lib/fts_.h: Include "i-ring.h"
75588         (struct FTS) [fts_fd_ring]: New member.
75589         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75590         (FCHDIR): Add parentheses.
75591         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75592         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75593         When descending, rather than simply closing the previous
75594         fts_cwd_fd value, push that file descriptor onto the ring.
75595         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75596         (fts_open): Initialize the new fd_ring member.
75597         (fts_close): Clear the ring.
75598         (fts_safe_changedir): When possible, use our new fd_ring to skip
75599         the diropen and fstat and dev/ino comparison that would normally
75600         accompany a virtual `chdir ("..")'.
75601
75602         * modules/fts (Depends-on): Add i-ring.
75603         * modules/i-ring: New module.
75604         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75605         * m4/i-ring.m4: New file.
75606
75607 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75608
75609         * gnulib-tool (func_create_testdir): Fix replacement of
75610         `build-aux' in configure.ac.  Run autotools in gltests
75611         subdirectory.
75612         (func_create_testdir, func_create_megatestdir, test): There is
75613         no need for '--force' in most autotool invocations in a new
75614         tree.  Actually fail the whole test if any of the tools, or the
75615         configure or make stages fail.
75616
75617         Sync from Automake.
75618         * build-aux/gnupload: Revert last change.  Add pointer to upload
75619         instructions of the GNU Maintenance Instructions.
75620         Suggestion by Karl Berry.
75621
75622 2006-11-10  Jim Meyering  <jim@meyering.net>
75623
75624         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75625
75626 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75627
75628         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75629         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75630         (bind_textdomain_codeset) [! ENABLE_NLS]:
75631         Evaluate all the arguments.  That way, callers get compatible behavior
75632         if the arguments have side effects.  Also, it avoids some GCC
75633         diagnostics in some cases; Joel E. Denny reported problems when Bison
75634         was configured with --enable-gcc-warnigs.
75635
75636 2006-11-10  Jim Meyering  <jim@meyering.net>
75637
75638         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75639         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75640         account.
75641
75642 2006-11-10  Jim Meyering  <jim@meyering.net>
75643
75644         * modules/inline: New file/module.
75645         * modules/xalloc (Files): Remove m4/inline.m4.
75646         (Depends-on): Add inline, instead.
75647         * modules/oset: Likewise.
75648         * modules/list: Likewise.
75649
75650 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75651
75652         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75653         Problem reported by Matthew Woehlke.
75654
75655 2006-11-09  Bruno Haible  <bruno@clisp.org>
75656
75657         * lib/tempname.c (gen_tempname): Remove variant that invokes
75658         __gen_tempname.
75659         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75660         __gen_tempname.
75661
75662 2006-11-08  Bruno Haible  <bruno@clisp.org>
75663
75664         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75665         to 'yes' instead of 'cross-compiling'.
75666
75667 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75668
75669         * lib/quotearg.h (quotearg_free): New decl.
75670         * lib/quotearg.c (quotearg_free): New function.
75671         (slot0, nslots, slotvec0, slotvec):
75672         Now file-scope so that quotearg_free can get at them.
75673
75674 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75675
75676         Sync from Automake.
75677         * build-aux/gnupload: Add missing 'gnu' to example URL.
75678         Report by Karl Berry.
75679
75680 2006-11-08  Bruno Haible  <bruno@clisp.org>
75681
75682         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75683         Suggested by Paul Eggert.
75684
75685 2006-11-08  Jim Meyering  <jim@meyering.net>
75686
75687         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75688         It's already included if !_LIBC.
75689         (fts_safe_changedir): Add a comment.
75690
75691 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75692
75693         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75694         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75695         Matthew Woehlke.
75696
75697         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75698         definitions up, to avoid colliding with change below.
75699         (static_inline) [HAVE_INLINE]: New macro.
75700         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75701         Provide extern decls when !HAVE_INLINE.  Do not define unless
75702         static_inline is defined, either by us or by xmalloc.c.  Use
75703         static_inline rather than static inline.
75704         (XCALLOC): Optimize sizeof(T) = 1 case.
75705         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75706
75707 2006-11-07  Bruno Haible  <bruno@clisp.org>
75708
75709         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75710         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75711         AC_C_INLINE.
75712         * modules/xalloc (Files): Add m4/inline.m4.
75713
75714 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75715
75716         * README: Fix typo.
75717         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75718         (Miscellanous Notes): ...from this.
75719
75720 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75721
75722         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75723         Mention that offsetof should be used instead of sizeof.
75724         From Bruno Haible.
75725
75726 2006-11-07  Bruno Haible  <bruno@clisp.org>
75727
75728         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75729
75730 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75731
75732         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75733         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75734         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75735         (gl_tree_add_before, gl_tree_add_after):
75736         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75737         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75738         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75739         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75740         (gl_linked_add_after, gl_linked_add_at): Likewise.
75741         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75742         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75743         (gl_tree_add_before, gl_tree_add_after): Likewise.
75744         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75745         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75746         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75747
75748 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75749
75750         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75751
75752 2006-11-06  Bruno Haible  <bruno@clisp.org>
75753
75754         * m4/inline.m4: New file.
75755         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75756         * modules/list (Files): Add m4/inline.m4.
75757         * modules/oset (Files): Likewise.
75758
75759 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75760
75761         * lib/idcache.c: Include <stddef.h>, for offsetof.
75762         (struct userid.name): Change from char * to a flexible array member.
75763         All uses changed.
75764         * modules/idcache (Depends-on): Add flexmember.
75765
75766         * MODULES.html.sh (Core language properties): New module flexmember.
75767         * modules/flexmember, m4/flexmember.m4: New files.
75768
75769         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
75770         inline functions that are identical with the old xnmalloc_inline,
75771         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
75772         that we can avoid some unnecessary integer multiplications and
75773         divisions in the common case where the element size is known at
75774         compile time.
75775         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
75776         needed.
75777         (xnboundedmalloc): Remove.
75778         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
75779         arguments, for consistency with rest of this header.
75780         (xcharalloc): Rewrite using XNMALLOC.
75781         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
75782         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
75783         versions have been moved to lib/xalloc.h and renamed to be the
75784         non-*_inline versions.
75785         (xmalloc, xrealloc): Implement without reference to the xnmalloc
75786         and xnrealloc functions, since those functions are now inline and
75787         now call us.
75788         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
75789         renaming described above.
75790         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
75791         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
75792         captures the dependency in AC_C_INLINE.
75793
75794         New module canonicalize-lgpl, proposed by Charles Wilson in
75795         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
75796         with a few small changes afterwards.
75797         * MODULES.html.sh (File system functions): New module
75798         canonicalize-lgpl.
75799         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
75800         and canonicalize_file_name.
75801         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
75802         * modules/canonicalize-lgpl: New files.
75803
75804 2006-11-05  Bruno Haible  <bruno@clisp.org>
75805
75806         * gnulib-tool (func_import, func_create_testdir): Create directories
75807         also for files in subdirectories of lib/.
75808
75809 2006-11-05  Bruno Haible  <bruno@clisp.org>
75810
75811         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
75812         ANSI C compliant.
75813
75814 2006-11-03  Bruno Haible  <bruno@clisp.org>
75815
75816         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75817         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
75818         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
75819         (xnboundedmalloc): New inline function.
75820         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
75821         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
75822         xmalloc.
75823         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
75824         xmalloc.
75825         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
75826         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
75827         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
75828         xmalloc.
75829         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75830         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
75831         xmalloc.
75832         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
75833         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75834         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
75835         xmalloc.
75836         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75837         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
75838         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75839         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
75840         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
75841         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
75842         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
75843
75844 2006-11-03  Bruno Haible  <bruno@clisp.org>
75845
75846         * lib/c-ctype.h [C++]: Define functions without name mangling.
75847         * lib/fwriteerror.h [C++]: Likewise.
75848         * lib/gcd.h [C++]: Likewise.
75849         * lib/linebreak.h [C++]: Likewise.
75850
75851 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75852
75853         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
75854         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
75855         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
75856         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75857         Check for functions and headers just once.
75858         Check for declaration of canonicalize_file_name.
75859         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
75860
75861 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75862
75863         * gnulib-tool (func_import): Fix typo in actioncmd.
75864
75865 2006-11-02  Bruno Haible  <bruno@clisp.org>
75866
75867         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
75868         newline sequence in the Makefile.am snippet as a space, like "make"
75869         does.
75870         Reported by Roger Persson <perrog@gmail.com>.
75871
75872 2006-11-01  Bruno Haible  <bruno@clisp.org>
75873
75874         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
75875         already declared in <string.h>.
75876         * lib/strcase.h (strncasecmp): Don't declare it if yes.
75877
75878 2006-11-01  Bruno Haible  <bruno@clisp.org>
75879
75880         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
75881         * lib/strcase.h: Include <string.h>.
75882         (strcasecmp): Define to rpl_strcasecmp here.
75883
75884 2006-11-01  Bruno Haible  <bruno@clisp.org>
75885
75886         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
75887
75888 2006-11-01  Eric Blake  <ebb9@byu.net>
75889
75890         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
75891
75892         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
75893
75894 2006-10-29  Bruno Haible  <bruno@clisp.org>
75895
75896         Make it compile in C++ mode.
75897         * lib/full-write.c (full_rw): Add a cast.
75898
75899 2006-11-01  Bruno Haible  <bruno@clisp.org>
75900
75901         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
75902         be POSIX compliant.
75903         Reported by Roger Persson <perrog@gmail.com>.
75904
75905 2006-11-01  Eric Blake  <ebb9@byu.net>
75906
75907         * lib/getopt_.h: Fix comments.
75908
75909 2006-10-31  Eric Blake  <ebb9@byu.net>
75910
75911         * modules/tmpdir (Depends-on): Add sys_stat.
75912         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
75913         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
75914         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
75915         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
75916         tempname.
75917
75918 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
75919
75920         Avoid some C++ diagnostics reported by Bruno Haible.
75921         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
75922         xmalloc.
75923         (quotearg_alloc): Use xcharalloc rather than xmalloc.
75924         (struct slotvec): Move to top level.
75925         (quotearg_n_options): Rewrite to avoid xmalloc.
75926         * lib/xalloc.h (xcharalloc): New function.
75927         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
75928         [defined __cplusplus]: Add function template that provides result
75929         type propagation.  This part of the change is from Bruno Haible.
75930
75931 2006-10-29  Bruno Haible  <bruno@clisp.org>
75932
75933         Make it compile in C++ mode.
75934         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75935         * lib/strnlen1.c (strnlen1): Cast memchr result.
75936         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75937         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75938         (create_temp_dir): Rename local variable 'template'.
75939         (compile_csharp_using_sscli): Add cast.
75940         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
75941         * lib/findprog.c (find_in_path): Likewise.
75942         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
75943         * lib/wait-process.c (register_slave_subprocess): Likewise.
75944
75945 2006-10-22  Bruno Haible  <bruno@clisp.org>
75946
75947         * modules/tsearch: New file.
75948         * lib/tsearch.h: New file.
75949         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
75950         * m4/tsearch.m4: New file.
75951         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
75952
75953 2006-10-29  Eric Blake  <ebb9@byu.net>
75954
75955         * lib/arcfour.c: Assume config.h.
75956         * lib/arctwo.c: Likewise.
75957         * lib/base64.c: Likewise.
75958         * lib/check-version.c: Likewise.
75959         * lib/crc.c: Likewise.
75960         * lib/des.c: Likewise.
75961         * lib/gc-gnulib.c: Likewise.
75962         * lib/gc-libgcrypt.c: Likewise.
75963         * lib/gc-pbkdf2-sha1.c: Likewise.
75964         * lib/getaddrinfo.c: Likewise.
75965         * lib/getdelim.c: Likewise.
75966         * lib/getline.c: Likewise.
75967         * lib/hmac-md5.c: Likewise.
75968         * lib/hmac-sha1.c: Likewise.
75969         * lib/iconvme.c: Likewise.
75970         * lib/md2.c: Likewise.
75971         * lib/md4.c: Likewise.
75972         * lib/memxor.c: Likewise.
75973         * lib/read-file.c: Likewise.
75974         * lib/readline.c: Likewise.
75975         * lib/rijndael-alg-fst.c: Likewise.
75976         * lib/rijndael-api-fst.c: Likewise.
75977         * lib/xgetdomainname.c: Likewise.
75978
75979 2006-10-28  Eric Blake  <ebb9@byu.net>
75980
75981         * lib/xstrndup.c: Assume config.h.
75982
75983 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75984
75985         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
75986         stat-macros.h is now for our own macros, whereas stat_h is for
75987         macros in the <sys/stat.h> name space.
75988         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
75989         (STAT_MACROS_H): Remove.
75990         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
75991         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
75992         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
75993         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
75994         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
75995         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
75996         Move these macros to ...
75997         * lib/stat_.h: here.  Don't include stat-macros.h.
75998         * lib/canonicalize.c: Don't include stat-macros.h.
75999         * lib/chown.c: Likewise.
76000         * lib/euidaccess.c: Likewise.
76001         * lib/file-type.c: Likewise.
76002         * lib/filemode.c: Likewise.
76003         * lib/glob.c: Likewise.
76004         * lib/isapipe.c: Likewise.
76005         * lib/lchown.c: Likewise.
76006         * lib/lstat.c: Likewise.
76007         * lib/mkdir-p.c: Likewise.
76008         * lib/rmdir.c: Likewise.
76009         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76010         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76011         unless mkdir isn't declared, to speed up 'configure'.
76012         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76013         would define all the S_* symbols.
76014         * modules/canonicalize (Depends-on):
76015         Depend on sys_stat, not stat-macros.
76016         * modules/chown: Likewise.
76017         * modules/euidaccess: Likewise.
76018         * modules/filemode: Likewise.
76019         * modules/file-type: Likewise.
76020         * modules/glob: Likewise.
76021         * modules/isapipe: Likewise.
76022         * modules/lchown: Likewise.
76023         * modules/lstat: Likewise.
76024         * modules/mkancesdirs: Likewise.
76025         * modules/rmdir: Likewise.
76026         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76027         * modules/modechange: Likewise.
76028         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76029         (configure.ac): Remove gl_STAT_MACROS.
76030         * modules/sys_stat (Depends-on): Remove stat-macros.
76031
76032 2006-10-27  Bruno Haible  <bruno@clisp.org>
76033
76034         * m4/signed.m4: Remove file.
76035         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76036         invocation.
76037         * modules/vasnprintf (Files): Remove m4/signed.m4.
76038
76039 2006-10-27  Bruno Haible  <bruno@clisp.org>
76040
76041         Update to GNU gettext 0.16.
76042         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76043         m4/inttypes-h.m4, m4/signed.m4.
76044         * m4/gettext.m4: Update to GNU gettext 0.16.
76045         * m4/intl.m4: New file, from GNU gettext.
76046         * m4/intldir.m4: New file, from GNU gettext.
76047         * config/srclist.txt: Update
76048
76049 2006-10-27  Eric Blake  <ebb9@byu.net>
76050
76051         * MODULES.html.sh: Document tempname.
76052         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76053         dependencies.
76054         (Files): Move lib/tempname.c...
76055         * modules/tempname: ...to this new module.
76056         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76057         (gl_PREREQ_TEMPNAME): Move...
76058         * m4/tempname.m4: ...to this new file.
76059         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76060         * modules/sys_stat (Depends-on): Add stat-macros.
76061         * lib/stat_.h (includes): Pick up stat macros.
76062         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76063         if stat macros are broken.
76064         * lib/tempname.c (includes): No need to include "stat-macros.h".
76065         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76066         (direxists, __path_search) [!_LIBC]: Don't compile these in
76067         gnulib; the tmpdir module covers that.
76068         * lib/tempname.h: New file.
76069
76070 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         * COPYING: Explain how gnulib-tool converts licence headers.
76073         Almost all wording by Eric Blake.
76074
76075 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76076
76077         * lib/mbchar.h (is_basic_table): Make read-only.
76078         * lib/mbchar.c (is_basic_table): Likewise.
76079         Reported by John Darrington.
76080
76081 2006-10-25  Bruno Haible  <bruno@clisp.org>
76082
76083         * lib/progname.h (set_program_name): Undefine before defining.
76084
76085 2006-10-25  Bruno Haible  <bruno@clisp.org>
76086
76087         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76088         false for non-gcc C++ compilers.
76089         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76090
76091 2006-10-24  Bruno Haible  <bruno@clisp.org>
76092
76093         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76094         iconv implementations like Irix iconv.
76095
76096 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76097
76098         * modules/vararrays: New file.
76099         * m4/vararrays.m4: New file, taken from diffutils.
76100         * MODULES.html.sh: New module vararrays.
76101
76102 2006-10-24  Karl Berry  <karl@gnu.org>
76103
76104         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76105         Don't call GNU Unix.
76106
76107 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76108
76109         * users.txt: Add Libtool.
76110
76111         Sync from Libtool:
76112
76113         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76114
76115         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76116         to gnulib's policy of including config.h unconditionally.
76117
76118 2006-10-24  Bruno Haible  <bruno@clisp.org>
76119
76120         * modules/wcwidth (Files): Add m4/wint_t.m4.
76121         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76122         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76123
76124 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76127         to pacify GCC with some -W flags enabled.  Problem reported by
76128         Bruno Haible.
76129
76130 2006-10-24  Jim Meyering  <jim@meyering.net>
76131
76132         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76133         Reported by Karl Berry.
76134
76135 2006-10-23  Bruno Haible  <bruno@clisp.org>
76136
76137         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76138
76139 2006-10-24  Bruno Haible  <bruno@clisp.org>
76140
76141         * lib/gl_list.h: Use C comment style, not C++ comment style.
76142
76143 2006-10-23  Eric Blake  <ebb9@byu.net>
76144
76145         * lib/getaddrinfo.c (includes): Add missing include.
76146
76147 2006-10-23  Bruno Haible  <bruno@clisp.org>
76148             Paul Eggert  <eggert@cs.ucla.edu>
76149
76150         Ability to rename obstack_free.
76151         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76152         obstack_free.
76153         (obstack_free): Invoke the __obstack_free macro.
76154         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76155
76156 2006-10-23  Bruno Haible  <bruno@clisp.org>
76157             Paul Eggert  <eggert@cs.ucla.edu>
76158
76159         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76160         __argc, __argv from the declaration. (They are defined as macros on
76161         mingw.)
76162
76163 2006-10-22  Bruno Haible  <bruno@clisp.org>
76164
76165         * doc/gnulib-intro.texi: New file.
76166         * doc/gnulib.texi: Include it.
76167
76168 2006-10-21  Bruno Haible  <bruno@clisp.org>
76169
76170         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76171         "Introduction", "Miscellanous Notes", "Particular Modules".
76172
76173 2006-10-21  Bruno Haible  <bruno@clisp.org>
76174
76175         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76176         Change mostlyclean-local rule to avoid sh syntax error from bash
76177         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76178
76179 2006-10-23  Jim Meyering  <jim@meyering.net>
76180
76181         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76182         in place of snprintf.
76183
76184         * modules/inttostr (Files): Add lib/uinttostr.c.
76185         * lib/uinttostr.c (inttostr): New file/function.
76186         * lib/inttostr.h (uinttostr): Declare.
76187         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76188         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76189         Add uinttostr.
76190         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76191
76192 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76193
76194         * lib/canonicalize.c (ELOOP): Define if not already defined.
76195         Problem reported by Bruno Haible in
76196         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76197
76198 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76199
76200         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76201         Problem reported by Perry Smith and Ville Laurikari.
76202
76203         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76204         uses.
76205
76206 2006-10-19  Bruno Haible  <bruno@clisp.org>
76207
76208         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76209         for mingw.
76210
76211 2006-10-19  Bruno Haible  <bruno@clisp.org>
76212
76213         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76214         Needed for mingw.
76215
76216 2006-10-19  Bruno Haible  <bruno@clisp.org>
76217
76218         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76219
76220 2006-10-19  Bruno Haible  <bruno@clisp.org>
76221
76222         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76223         it.
76224
76225 2006-10-19  Bruno Haible  <bruno@clisp.org>
76226
76227         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76228         invocation.
76229
76230 2006-10-19  Bruno Haible  <bruno@clisp.org>
76231
76232         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76233         mountlist by default.
76234
76235 2006-10-16  Bruno Haible  <bruno@clisp.org>
76236
76237         * lib/c-strstr.c: Include c-strstr.h.
76238
76239 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76240
76241         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76242         in a slash.
76243
76244 2006-10-18  Bruno Haible  <bruno@clisp.org>
76245
76246         * lib/lock.h [C++]: Wrap definitions in extern "C".
76247
76248 2006-10-18  Bruno Haible  <bruno@clisp.org>
76249
76250         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76251         gl_LIBOBJS list.
76252
76253 2006-10-18  Bruno Haible  <bruno@clisp.org>
76254
76255         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76256
76257 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76258
76259         * lib/xstrtol.h: Include gettext.h.
76260         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76261         Problem reported by Eric Blake.
76262         * modules/xstrtol (Depends-on): Add gettext-h.
76263
76264 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76265
76266         * lib/strftime.c (advance): New macro.
76267         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76268         incomplete type, so you can't add 0 to it.  Problem and patch
76269         reported by Eelco Dolstra for dietlibc.
76270
76271 2006-10-18  Jim Meyering  <jim@meyering.net>
76272
76273         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76274         type for a local, and rename it: s/up/user_proc/.
76275
76276 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76277
76278         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76279         READ_UTMP_USER_PROCESS.
76280         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76281
76282 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76283
76284         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76285         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76286
76287 2006-10-17  Eric Blake  <ebb9@byu.net>
76288
76289         * lib/sigprocmask.c (sigprocmask): Fix typo.
76290
76291         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76292
76293         * modules/clean-temp (Makefile.am): Don't add to make output...
76294         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76295         config.h.
76296
76297 2006-10-17  Bruno Haible  <bruno@clisp.org>
76298
76299         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76300         differently if DEFAULT_TEXT_DOMAIN is set.
76301
76302 2006-10-16  Bruno Haible  <bruno@clisp.org>
76303
76304         * lib/clean-temp.c: Include fwriteerror.h.
76305
76306 2006-10-16  Bruno Haible  <bruno@clisp.org>
76307
76308         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76309
76310 2006-10-16  Bruno Haible  <bruno@clisp.org>
76311
76312         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76313         * lib/sigprocmask.h: Include <sys/types.h>.
76314         (sigset_t): Use the system's definition if present.
76315
76316 2006-10-17  Eric Blake  <ebb9@byu.net>
76317
76318         * lib/xvasprintf.c (includes): Assume config.h.
76319         * lib/xasprintf.c (includes): Likewise.
76320
76321 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76322
76323         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76324         at least as wide as intmax_t.
76325
76326 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76327
76328         (Imported from Automake.)
76329         * build-aux/gnupload: Update to version 1.1 of directive file.
76330
76331 2006-10-16  Eric Blake  <ebb9@byu.net>
76332
76333         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76334         match Automake 1.10a.
76335
76336 2006-10-14  Bruno Haible  <bruno@clisp.org>
76337
76338         * modules/sigprocmask: New file.
76339         * lib/sigprocmask.h: New file.
76340         * lib/sigprocmask.c: New file.
76341         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76342         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76343         request sigprocmask.o.
76344         (gl_PREREQ_SIGPROCMASK): New macro.
76345         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76346         (Depends-on): Add sigprocmask.
76347         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76348         gt_SIGNALBLOCKING. Test for 'raise' only once.
76349         * lib/fatal-signal.c: Include sigprocmask.h.
76350         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76351         unblock_fatal_signals): Define always.
76352         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76353         sigprocmask.
76354
76355 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76356
76357         Sync from Automake.
76358         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76359         which incorrectly sets the mode of an existing destination
76360         directory.  In some cases the unpatched install-sh could do the
76361         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76362         system.  We hope this is rare in practice, but it's clearly worth
76363         fixing.  Problem reported by Alex Unleashed in
76364         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76365         Also, don't bother to check for -m bugs unless we're using -m;
76366         suggested by Stepan Kasal.
76367
76368 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76369
76370         Sync from Automake.
76371         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76372         `-c' flag, so they appear at the same position as in %FASTDEP%
76373         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76374         which ignores unknown options only after the first non-option.
76375         Bug report against M4 by Nelson H. F. Beebe.
76376
76377 2006-10-13  Jim Meyering  <jim@meyering.net>
76378
76379         Fix a bug in yesterday's change.
76380         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76381         p->fts_statp->st_dev would be used uninitialized.
76382         Ensures that we always call fts_stat on the very first entry.
76383         Miklos Szeredi reported that find -xdev stopped working.
76384
76385 2006-10-12  Bruno Haible  <bruno@clisp.org>
76386
76387         * gnulib-tool (func_get_automake_snippet): Append an automatically
76388         computed EXTRA_DIST augmentation.
76389         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76390         * modules/alloca-opt (Makefile.am): Likewise.
76391         * modules/allocsa (Makefile.am): Likewise.
76392         * modules/arcfour (Makefile.am): Likewise.
76393         * modules/arctwo (Makefile.am): Likewise.
76394         * modules/argmatch (Makefile.am): Likewise.
76395         * modules/argz (Makefile.am): Likewise.
76396         * modules/atexit (Makefile.am): Likewise.
76397         * modules/backupfile (Makefile.am): Likewise.
76398         * modules/byteswap (Makefile.am): Likewise.
76399         * modules/c-strtod (Makefile.am): Likewise.
76400         * modules/c-strtold (Makefile.am): Likewise.
76401         * modules/calloc (Makefile.am): Likewise.
76402         * modules/canon-host (Makefile.am): Likewise.
76403         * modules/canonicalize (Makefile.am): Likewise.
76404         * modules/chdir-long (Makefile.am): Likewise.
76405         * modules/chdir-safer (Makefile.am): Likewise.
76406         * modules/check-version (Makefile.am): Likewise.
76407         * modules/chown (Makefile.am): Likewise.
76408         * modules/cloexec (Makefile.am): Likewise.
76409         * modules/close-stream (Makefile.am): Likewise.
76410         * modules/closeout (Makefile.am): Likewise.
76411         * modules/crc (Makefile.am): Likewise.
76412         * modules/csharpexec (Makefile.am): Likewise.
76413         * modules/cycle-check (Makefile.am): Likewise.
76414         * modules/des (Makefile.am): Likewise.
76415         * modules/dev-ino (Makefile.am): Likewise.
76416         * modules/dirfd (Makefile.am): Likewise.
76417         * modules/dirname (Makefile.am): Likewise.
76418         * modules/dup2 (Makefile.am): Likewise.
76419         * modules/eealloc (Makefile.am): Likewise.
76420         * modules/error (Makefile.am): Likewise.
76421         * modules/euidaccess (Makefile.am): Likewise.
76422         * modules/exclude (Makefile.am): Likewise.
76423         * modules/exitfail (Makefile.am): Likewise.
76424         * modules/fcntl-safer (Makefile.am): Likewise.
76425         * modules/fcntl (Makefile.am): Likewise.
76426         * modules/file-type (Makefile.am): Likewise.
76427         * modules/fileblocks (Makefile.am): Likewise.
76428         * modules/filemode (Makefile.am): Likewise.
76429         * modules/filenamecat (Makefile.am): Likewise.
76430         * modules/fnmatch (Makefile.am): Likewise.
76431         * modules/fopen-safer (Makefile.am): Likewise.
76432         * modules/fpending (Makefile.am): Likewise.
76433         * modules/fprintftime (Makefile.am): Likewise.
76434         * modules/free (Makefile.am): Likewise.
76435         * modules/fsusage (Makefile.am): Likewise.
76436         * modules/ftruncate (Makefile.am): Likewise.
76437         * modules/fts (Makefile.am): Likewise.
76438         * modules/gc-arcfour (Makefile.am): Likewise.
76439         * modules/gc-des (Makefile.am): Likewise.
76440         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76441         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76442         * modules/gc-md4 (Makefile.am): Likewise.
76443         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76444         * modules/gc-sha1 (Makefile.am): Likewise.
76445         * modules/gc (Makefile.am): Likewise.
76446         * modules/getaddrinfo (Makefile.am): Likewise.
76447         * modules/getcwd (Makefile.am): Likewise.
76448         * modules/getdelim (Makefile.am): Likewise.
76449         * modules/getdomainname (Makefile.am): Likewise.
76450         * modules/getgroups (Makefile.am): Likewise.
76451         * modules/gethostname (Makefile.am): Likewise.
76452         * modules/gethrxtime (Makefile.am): Likewise.
76453         * modules/getline (Makefile.am): Likewise.
76454         * modules/getloadavg (Makefile.am): Likewise.
76455         * modules/getlogin_r (Makefile.am): Likewise.
76456         * modules/getndelim2 (Makefile.am): Likewise.
76457         * modules/getopt (Makefile.am): Likewise.
76458         * modules/getpagesize (Makefile.am): Likewise.
76459         * modules/getpass-gnu (Makefile.am): Likewise.
76460         * modules/getpass (Makefile.am): Likewise.
76461         * modules/getsubopt (Makefile.am): Likewise.
76462         * modules/gettime (Makefile.am): Likewise.
76463         * modules/gettimeofday (Makefile.am): Likewise.
76464         * modules/getugroups (Makefile.am): Likewise.
76465         * modules/getusershell (Makefile.am): Likewise.
76466         * modules/glob (Makefile.am): Likewise.
76467         * modules/group-member (Makefile.am): Likewise.
76468         * modules/hard-locale (Makefile.am): Likewise.
76469         * modules/hash (Makefile.am): Likewise.
76470         * modules/hmac-md5 (Makefile.am): Likewise.
76471         * modules/hmac-sha1 (Makefile.am): Likewise.
76472         * modules/human (Makefile.am): Likewise.
76473         * modules/idcache (Makefile.am): Likewise.
76474         * modules/imaxabs (Makefile.am): Likewise.
76475         * modules/imaxdiv (Makefile.am): Likewise.
76476         * modules/inet_ntop (Makefile.am): Likewise.
76477         * modules/inet_pton (Makefile.am): Likewise.
76478         * modules/intprops (Makefile.am): Likewise.
76479         * modules/inttostr (Makefile.am): Likewise.
76480         * modules/inttypes (Makefile.am): Likewise.
76481         * modules/isapipe (Makefile.am): Likewise.
76482         * modules/javaversion (Makefile.am): Likewise.
76483         * modules/lchmod (Makefile.am): Likewise.
76484         * modules/lchown (Makefile.am): Likewise.
76485         * modules/localcharset (Makefile.am): Likewise.
76486         * modules/long-options (Makefile.am): Likewise.
76487         * modules/lstat (Makefile.am): Likewise.
76488         * modules/malloc (Makefile.am): Likewise.
76489         * modules/mathl (Makefile.am): Likewise.
76490         * modules/mbchar (Makefile.am): Likewise.
76491         * modules/md2 (Makefile.am): Likewise.
76492         * modules/md4 (Makefile.am): Likewise.
76493         * modules/md5 (Makefile.am): Likewise.
76494         * modules/memcasecmp (Makefile.am): Likewise.
76495         * modules/memchr (Makefile.am): Likewise.
76496         * modules/memcmp (Makefile.am): Likewise.
76497         * modules/memcoll (Makefile.am): Likewise.
76498         * modules/memcpy (Makefile.am): Likewise.
76499         * modules/memmem (Makefile.am): Likewise.
76500         * modules/memmove (Makefile.am): Likewise.
76501         * modules/mempcpy (Makefile.am): Likewise.
76502         * modules/memrchr (Makefile.am): Likewise.
76503         * modules/memset (Makefile.am): Likewise.
76504         * modules/memxor (Makefile.am): Likewise.
76505         * modules/mkancesdirs (Makefile.am): Likewise.
76506         * modules/mkdir-p (Makefile.am): Likewise.
76507         * modules/mkdir (Makefile.am): Likewise.
76508         * modules/mkdtemp (Makefile.am): Likewise.
76509         * modules/mkstemp (Makefile.am): Likewise.
76510         * modules/mktime (Makefile.am): Likewise.
76511         * modules/modechange (Makefile.am): Likewise.
76512         * modules/mountlist (Makefile.am): Likewise.
76513         * modules/nanosleep (Makefile.am): Likewise.
76514         * modules/obstack (Makefile.am): Likewise.
76515         * modules/openat (Makefile.am): Likewise.
76516         * modules/pagealign_alloc (Makefile.am): Likewise.
76517         * modules/pathmax (Makefile.am): Likewise.
76518         * modules/physmem (Makefile.am): Likewise.
76519         * modules/poll (Makefile.am): Likewise.
76520         * modules/posixtm (Makefile.am): Likewise.
76521         * modules/posixver (Makefile.am): Likewise.
76522         * modules/putenv (Makefile.am): Likewise.
76523         * modules/quote (Makefile.am): Likewise.
76524         * modules/quotearg (Makefile.am): Likewise.
76525         * modules/raise (Makefile.am): Likewise.
76526         * modules/read-file (Makefile.am): Likewise.
76527         * modules/readline (Makefile.am): Likewise.
76528         * modules/readlink (Makefile.am): Likewise.
76529         * modules/readtokens (Makefile.am): Likewise.
76530         * modules/readutmp (Makefile.am): Likewise.
76531         * modules/realloc (Makefile.am): Likewise.
76532         * modules/regex (Makefile.am): Likewise.
76533         * modules/rename-dest-slash (Makefile.am): Likewise.
76534         * modules/rename (Makefile.am): Likewise.
76535         * modules/rijndael (Makefile.am): Likewise.
76536         * modules/rmdir (Makefile.am): Likewise.
76537         * modules/rpmatch (Makefile.am): Likewise.
76538         * modules/safe-read (Makefile.am): Likewise.
76539         * modules/safe-write (Makefile.am): Likewise.
76540         * modules/same-inode (Makefile.am): Likewise.
76541         * modules/same (Makefile.am): Likewise.
76542         * modules/save-cwd (Makefile.am): Likewise.
76543         * modules/savedir (Makefile.am): Likewise.
76544         * modules/setenv (Makefile.am): Likewise.
76545         * modules/settime (Makefile.am): Likewise.
76546         * modules/sha1 (Makefile.am): Likewise.
76547         * modules/sig2str (Makefile.am): Likewise.
76548         * modules/snprintf (Makefile.am): Likewise.
76549         * modules/stat-macros (Makefile.am): Likewise.
76550         * modules/stat-time (Makefile.am): Likewise.
76551         * modules/stdbool (Makefile.am): Likewise.
76552         * modules/stdint (Makefile.am): Likewise.
76553         * modules/stdlib-safer (Makefile.am): Likewise.
76554         * modules/stpcpy (Makefile.am): Likewise.
76555         * modules/stpncpy (Makefile.am): Likewise.
76556         * modules/strcase (Makefile.am): Likewise.
76557         * modules/strcasestr (Makefile.am): Likewise.
76558         * modules/strchrnul (Makefile.am): Likewise.
76559         * modules/strcspn (Makefile.am): Likewise.
76560         * modules/strdup (Makefile.am): Likewise.
76561         * modules/strerror (Makefile.am): Likewise.
76562         * modules/strftime (Makefile.am): Likewise.
76563         * modules/strndup (Makefile.am): Likewise.
76564         * modules/strnlen (Makefile.am): Likewise.
76565         * modules/strpbrk (Makefile.am): Likewise.
76566         * modules/strsep (Makefile.am): Likewise.
76567         * modules/strstr (Makefile.am): Likewise.
76568         * modules/strtod (Makefile.am): Likewise.
76569         * modules/strtoimax (Makefile.am): Likewise.
76570         * modules/strtok_r (Makefile.am): Likewise.
76571         * modules/strtol (Makefile.am): Likewise.
76572         * modules/strtoll (Makefile.am): Likewise.
76573         * modules/strtoul (Makefile.am): Likewise.
76574         * modules/strtoull (Makefile.am): Likewise.
76575         * modules/strtoumax (Makefile.am): Likewise.
76576         * modules/strverscmp (Makefile.am): Likewise.
76577         * modules/sys_socket (Makefile.am): Likewise.
76578         * modules/sys_stat (Makefile.am): Likewise.
76579         * modules/sysexits (Makefile.am): Likewise.
76580         * modules/time_r (Makefile.am): Likewise.
76581         * modules/timegm (Makefile.am): Likewise.
76582         * modules/timespec (Makefile.am): Likewise.
76583         * modules/tmpfile-safer (Makefile.am): Likewise.
76584         * modules/trim (Makefile.am): Likewise.
76585         * modules/unistd-safer (Makefile.am): Likewise.
76586         * modules/unlinkdir (Makefile.am): Likewise.
76587         * modules/unlocked-io (Makefile.am): Likewise.
76588         * modules/userspec (Makefile.am): Likewise.
76589         * modules/utime (Makefile.am): Likewise.
76590         * modules/utimecmp (Makefile.am): Likewise.
76591         * modules/utimens (Makefile.am): Likewise.
76592         * modules/vasnprintf (Makefile.am): Likewise.
76593         * modules/vasprintf (Makefile.am): Likewise.
76594         * modules/vsnprintf (Makefile.am): Likewise.
76595         * modules/xalloc (Makefile.am): Likewise.
76596         * modules/xgetcwd (Makefile.am): Likewise.
76597         * modules/xnanosleep (Makefile.am): Likewise.
76598         * modules/xreadlink (Makefile.am): Likewise.
76599         * modules/xstrtod (Makefile.am): Likewise.
76600         * modules/xstrtol (Makefile.am): Likewise.
76601         * modules/xstrtold (Makefile.am): Likewise.
76602         * modules/yesno (Makefile.am): Likewise.
76603         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76604
76605 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76606
76607         * modules/error (Makefile.am): Distribute files through
76608         EXTRA_DIST, not lib_SOURCES.
76609
76610 2006-10-12  Eric Blake  <ebb9@byu.net>
76611
76612         * modules/error (Makefile.am): Distribute files in /lib.
76613         * modules/obstack (Makefile.am): Likewise.
76614
76615 2006-10-12  Bruno Haible  <bruno@clisp.org>
76616
76617         * modules/acl (Makefile.am): Distribute all files in lib/ through
76618         EXTRA_DIST.
76619         * modules/arcfour (Makefile.am): Likewise.
76620         * modules/arctwo (Makefile.am): Likewise.
76621         * modules/argmatch (Makefile.am): Likewise.
76622         * modules/argz (Makefile.am): Likewise.
76623         * modules/atexit (Makefile.am): Likewise.
76624         * modules/backupfile (Makefile.am): Likewise.
76625         * modules/c-strtod (Makefile.am): Likewise.
76626         * modules/c-strtold (Makefile.am): Likewise.
76627         * modules/calloc (Makefile.am): Likewise.
76628         * modules/canon-host (Makefile.am): Likewise.
76629         * modules/canonicalize (Makefile.am): Likewise.
76630         * modules/chdir-long (Makefile.am): Likewise.
76631         * modules/chdir-safer (Makefile.am): Likewise.
76632         * modules/check-version (Makefile.am): Likewise.
76633         * modules/chown (Makefile.am): Likewise.
76634         * modules/cloexec (Makefile.am): Likewise.
76635         * modules/close-stream (Makefile.am): Likewise.
76636         * modules/closeout (Makefile.am): Likewise.
76637         * modules/crc (Makefile.am): Likewise.
76638         * modules/cycle-check (Makefile.am): Likewise.
76639         * modules/des (Makefile.am): Likewise.
76640         * modules/dirfd (Makefile.am): Likewise.
76641         * modules/dirname (Makefile.am): Likewise.
76642         * modules/dup2 (Makefile.am): Likewise.
76643         * modules/euidaccess (Makefile.am): Likewise.
76644         * modules/exclude (Makefile.am): Likewise.
76645         * modules/exitfail (Makefile.am): Likewise.
76646         * modules/fcntl-safer (Makefile.am): Likewise.
76647         * modules/file-type (Makefile.am): Likewise.
76648         * modules/fileblocks (Makefile.am): Likewise.
76649         * modules/filemode (Makefile.am): Likewise.
76650         * modules/filenamecat (Makefile.am): Likewise.
76651         * modules/fnmatch (Makefile.am): Likewise.
76652         * modules/fopen-safer (Makefile.am): Likewise.
76653         * modules/fpending (Makefile.am): Likewise.
76654         * modules/fprintftime (Makefile.am): Likewise.
76655         * modules/free (Makefile.am): Likewise.
76656         * modules/fsusage (Makefile.am): Likewise.
76657         * modules/ftruncate (Makefile.am): Likewise.
76658         * modules/fts (Makefile.am): Likewise.
76659         * modules/gc (Makefile.am): Likewise.
76660         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76661         * modules/getaddrinfo (Makefile.am): Likewise.
76662         * modules/getcwd (Makefile.am): Likewise.
76663         * modules/getdelim (Makefile.am): Likewise.
76664         * modules/getdomainname (Makefile.am): Likewise.
76665         * modules/getgroups (Makefile.am): Likewise.
76666         * modules/gethostname (Makefile.am): Likewise.
76667         * modules/gethrxtime (Makefile.am): Likewise.
76668         * modules/getline (Makefile.am): Likewise.
76669         * modules/getloadavg (Makefile.am): Likewise.
76670         * modules/getlogin_r (Makefile.am): Likewise.
76671         * modules/getopt (Makefile.am): Likewise.
76672         * modules/getpass (Makefile.am): Likewise.
76673         * modules/getpass-gnu (Makefile.am): Likewise.
76674         * modules/getsubopt (Makefile.am): Likewise.
76675         * modules/gettime (Makefile.am): Likewise.
76676         * modules/gettimeofday (Makefile.am): Likewise.
76677         * modules/getugroups (Makefile.am): Likewise.
76678         * modules/getusershell (Makefile.am): Likewise.
76679         * modules/glob (Makefile.am): Likewise.
76680         * modules/group-member (Makefile.am): Likewise.
76681         * modules/hard-locale (Makefile.am): Likewise.
76682         * modules/hash (Makefile.am): Likewise.
76683         * modules/hmac-md5 (Makefile.am): Likewise.
76684         * modules/hmac-sha1 (Makefile.am): Likewise.
76685         * modules/human (Makefile.am): Likewise.
76686         * modules/idcache (Makefile.am): Likewise.
76687         * modules/imaxabs (Makefile.am): Likewise.
76688         * modules/imaxdiv (Makefile.am): Likewise.
76689         * modules/inet_ntop (Makefile.am): Likewise.
76690         * modules/inet_pton (Makefile.am): Likewise.
76691         * modules/inttostr (Makefile.am): Likewise.
76692         * modules/isapipe (Makefile.am): Likewise.
76693         * modules/lchown (Makefile.am): Likewise.
76694         * modules/long-options (Makefile.am): Likewise.
76695         * modules/lstat (Makefile.am): Likewise.
76696         * modules/malloc (Makefile.am): Likewise.
76697         * modules/mathl (Makefile.am): Likewise.
76698         * modules/mbchar (Makefile.am): Likewise.
76699         * modules/md2 (Makefile.am): Likewise.
76700         * modules/md4 (Makefile.am): Likewise.
76701         * modules/md5 (Makefile.am): Likewise.
76702         * modules/memcasecmp (Makefile.am): Likewise.
76703         * modules/memchr (Makefile.am): Likewise.
76704         * modules/memcmp (Makefile.am): Likewise.
76705         * modules/memcoll (Makefile.am): Likewise.
76706         * modules/memcpy (Makefile.am): Likewise.
76707         * modules/memmem (Makefile.am): Likewise.
76708         * modules/memmove (Makefile.am): Likewise.
76709         * modules/mempcpy (Makefile.am): Likewise.
76710         * modules/memrchr (Makefile.am): Likewise.
76711         * modules/memset (Makefile.am): Likewise.
76712         * modules/memxor (Makefile.am): Likewise.
76713         * modules/mkancesdirs (Makefile.am): Likewise.
76714         * modules/mkdir (Makefile.am): Likewise.
76715         * modules/mkdir-p (Makefile.am): Likewise.
76716         * modules/mkdtemp (Makefile.am): Likewise.
76717         * modules/mkstemp (Makefile.am): Likewise.
76718         * modules/mktime (Makefile.am): Likewise.
76719         * modules/modechange (Makefile.am): Likewise.
76720         * modules/mountlist (Makefile.am): Likewise.
76721         * modules/nanosleep (Makefile.am): Likewise.
76722         * modules/openat (Makefile.am): Likewise.
76723         * modules/pagealign_alloc (Makefile.am): Likewise.
76724         * modules/physmem (Makefile.am): Likewise.
76725         * modules/poll (Makefile.am): Likewise.
76726         * modules/posixtm (Makefile.am): Likewise.
76727         * modules/posixver (Makefile.am): Likewise.
76728         * modules/putenv (Makefile.am): Likewise.
76729         * modules/quote (Makefile.am): Likewise.
76730         * modules/quotearg (Makefile.am): Likewise.
76731         * modules/raise (Makefile.am): Likewise.
76732         * modules/read-file (Makefile.am): Likewise.
76733         * modules/readline (Makefile.am): Likewise.
76734         * modules/readlink (Makefile.am): Likewise.
76735         * modules/readtokens (Makefile.am): Likewise.
76736         * modules/readutmp (Makefile.am): Likewise.
76737         * modules/realloc (Makefile.am): Likewise.
76738         * modules/regex (Makefile.am): Likewise.
76739         * modules/rename (Makefile.am): Likewise.
76740         * modules/rename-dest-slash (Makefile.am): Likewise.
76741         * modules/rijndael (Makefile.am): Likewise.
76742         * modules/rmdir (Makefile.am): Likewise.
76743         * modules/rpmatch (Makefile.am): Likewise.
76744         * modules/safe-read (Makefile.am): Likewise.
76745         * modules/safe-write (Makefile.am): Likewise.
76746         * modules/same (Makefile.am): Likewise.
76747         * modules/save-cwd (Makefile.am): Likewise.
76748         * modules/savedir (Makefile.am): Likewise.
76749         * modules/setenv (Makefile.am): Likewise.
76750         * modules/settime (Makefile.am): Likewise.
76751         * modules/sha1 (Makefile.am): Likewise.
76752         * modules/sig2str (Makefile.am): Likewise.
76753         * modules/snprintf (Makefile.am): Likewise.
76754         * modules/stdlib-safer (Makefile.am): Likewise.
76755         * modules/stpcpy (Makefile.am): Likewise.
76756         * modules/stpncpy (Makefile.am): Likewise.
76757         * modules/strcase (Makefile.am): Likewise.
76758         * modules/strcasestr (Makefile.am): Likewise.
76759         * modules/strchrnul (Makefile.am): Likewise.
76760         * modules/strcspn (Makefile.am): Likewise.
76761         * modules/strdup (Makefile.am): Likewise.
76762         * modules/strerror (Makefile.am): Likewise.
76763         * modules/strftime (Makefile.am): Likewise.
76764         * modules/strndup (Makefile.am): Likewise.
76765         * modules/strnlen (Makefile.am): Likewise.
76766         * modules/strpbrk (Makefile.am): Likewise.
76767         * modules/strsep (Makefile.am): Likewise.
76768         * modules/strstr (Makefile.am): Likewise.
76769         * modules/strtod (Makefile.am): Likewise.
76770         * modules/strtoimax (Makefile.am): Likewise.
76771         * modules/strtok_r (Makefile.am): Likewise.
76772         * modules/strtol (Makefile.am): Likewise.
76773         * modules/strtoll (Makefile.am): Likewise.
76774         * modules/strtoul (Makefile.am): Likewise.
76775         * modules/strtoull (Makefile.am): Likewise.
76776         * modules/strtoumax (Makefile.am): Likewise.
76777         * modules/strverscmp (Makefile.am): Likewise.
76778         * modules/time_r (Makefile.am): Likewise.
76779         * modules/timegm (Makefile.am): Likewise.
76780         * modules/tmpfile-safer (Makefile.am): Likewise.
76781         * modules/unistd-safer (Makefile.am): Likewise.
76782         * modules/unlinkdir (Makefile.am): Likewise.
76783         * modules/userspec (Makefile.am): Likewise.
76784         * modules/utime (Makefile.am): Likewise.
76785         * modules/utimecmp (Makefile.am): Likewise.
76786         * modules/utimens (Makefile.am): Likewise.
76787         * modules/vasnprintf (Makefile.am): Likewise.
76788         * modules/vasprintf (Makefile.am): Likewise.
76789         * modules/vsnprintf (Makefile.am): Likewise.
76790         * modules/xalloc (Makefile.am): Likewise.
76791         * modules/xgetcwd (Makefile.am): Likewise.
76792         * modules/xnanosleep (Makefile.am): Likewise.
76793         * modules/xreadlink (Makefile.am): Likewise.
76794         * modules/xstrtod (Makefile.am): Likewise.
76795         * modules/xstrtol (Makefile.am): Likewise.
76796         * modules/xstrtold (Makefile.am): Likewise.
76797         * modules/yesno (Makefile.am): Likewise.
76798
76799 2006-10-12  Jim Meyering  <jim@meyering.net>
76800
76801         * m4/getloadavg.m4: Revert the change below.
76802
76803         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
76804         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
76805         fail with a symlink, which is what coreutils' ./bootstrap now
76806         creates by default.
76807
76808 2006-10-12  Bruno Haible  <bruno@clisp.org>
76809
76810         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
76811         mingw.
76812         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
76813         MSVC and mingw explicitly.
76814
76815 2006-10-11  Simon Josefsson  <jas@extundo.com>
76816             Bruno Haible  <bruno@clisp.org>
76817
76818         Add support for multiple gnulib-tool invocations in the scope of a
76819         single configure.ac file.
76820         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
76821         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
76822         with the same contents as the _LIBADD variable.
76823         (func_emit_initmacro_start, func_emit_initmacro_end,
76824         func_emit_initmacro_done): New functions.
76825         (func_import, func_create_testdir): Invoke them. Allow the identifiers
76826         gl_LIBOBJS and gl_LTLIBOBJS.
76827
76828 2006-10-11  Bruno Haible  <bruno@clisp.org>
76829
76830         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
76831         (func_create_testdir): Don't create po/Makefile.am, don't invoke
76832         autoreconf. Instead, invoke autopoint explicitly but move back the
76833         *.m4 files from gnulib.
76834
76835 2006-10-11  Bruno Haible  <bruno@clisp.org>
76836
76837         * gnulib-tool (func_usage): Make module names after --create-testdir
76838         optional.
76839         (func_create_testdir): If no module was specified, use nearly all
76840         modules.
76841
76842 2006-10-12  Jim Meyering  <jim@meyering.net>
76843
76844         Big performance improvement for fts-based tools that use FTS_NOSTAT.
76845         Avoid spurious inode-mismatch problems on non-POSIX file systems.
76846         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
76847         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
76848         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
76849         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
76850         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
76851         (fts_set_stat_required): New function.
76852         (fts_open): Defer the calls to fts_stat, if possible or requested.
76853         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
76854         into fts_stat itself.
76855         (fts_read): Perform any required (deferred) fts_stat call.
76856         (fts_build): Likewise, for the directory we're about to open and read.
76857         In the readdir loop, carefully decide whether each entry will require
76858         an eventual call to fts_stat, using dirent.d_type info if available.
76859         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
76860         a command line argument into this function.  Update all callers.
76861         Map a return value of FTS_DOT to FTS_D for a command line argument.
76862         * modules/fts (Depends-on): Add d-type.  Alphabetize.
76863         Thanks to Miklos Szeredi for his tenacity and for the initial
76864         bug report about "find" failing on a FUSE-based file system.
76865
76866         * lib/fts.c (fts_open): Use consistent indentation.
76867
76868 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76869
76870         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
76871         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
76872         reported by Jim Meyering.  All uses of cache variables renamed
76873         to match Autoconf's.
76874         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
76875         the other one.
76876
76877         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
76878         Fix misspelling in diagnostic.
76879
76880 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76881
76882         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
76883         defined.  Problem reported by Matthew Woehlke.
76884
76885         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
76886         Add support for Tandem NonStop R series.
76887         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
76888         Use new macro.
76889
76890         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
76891         (has_trailing_slash): Omit size arg; all callers changed.
76892         Omit 'inline', since it doesn't help performance and we'd
76893         need to configure it.
76894         Don't count //, ///, etc. as having a trailing slash.
76895         As a side effect, this removes a C99ism reported by Matthew Woehlke.
76896         (rpl_rename_dest_slash): On failure, use rename's errno rather
76897         than (in some cases) an incorrect or junk errno.
76898         Simplify code by removing need to compute length; this does
76899         cause it to make two passes instead of one over the file name,
76900         but it's worth it.
76901
76902         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
76903         change, since Autoconf's version may no longer be appropriate now
76904         that we are using CVS Autoconf's version.  Add support for Tandem.
76905
76906 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76907             Bruno Haible  <bruno@clisp.org>
76908
76909         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76910         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
76911         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
76912         gl_AC_TYPE_LONG_LONG.
76913
76914         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
76915         instead of HAVE_LONG_LONG.
76916         * lib/printf-args.c (printf_fetchargs): Likewise.
76917         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
76918         * lib/vasnprintf.c (VASNPRINTF): Likewise.
76919         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
76920         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
76921         gl_AC_TYPE_LONG_LONG.
76922
76923 2006-10-11  Bruno Haible  <bruno@clisp.org>
76924
76925         * m4/longlong.m4: Add comments.
76926         * m4/ulonglong.m4: Likewise.
76927
76928 2006-10-10  Bruno Haible  <bruno@clisp.org>
76929
76930         Make it possible to #define stpcpy, strdup to aliases.
76931         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76932         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76933
76934 2006-10-10  Bruno Haible  <bruno@clisp.org>
76935
76936         Make it possible to #define gcd to an alias.
76937         * lib/gcd.c: Include config.h.
76938
76939 2006-10-10  Bruno Haible  <bruno@clisp.org>
76940
76941         Make it possible to #define c_isascii to an alias.
76942         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
76943         defined. Undefine the macros before defining them, to avoid gcc
76944         warnings.
76945         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
76946         define NO_C_CTYPE_MACROS early.
76947
76948 2006-10-10  Bruno Haible  <bruno@clisp.org>
76949
76950         Make it possible to #define set_program_name to an alias.
76951         * lib/progname.c: Don't undefine set_program_name; instead, undefine
76952         ENABLE_RELOCATABLE early.
76953
76954 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76955
76956         Port to Tandem NSK OSS, which has 64-bit signed int but at most
76957         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
76958         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
76959         More generally, don't assume that 64-bit signed int is available
76960         if unsigned int is, and vice versa.
76961         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
76962         unsigned symbols, not on their signed counterparts.
76963         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
76964         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
76965         (UINT64_C, UINTMAX_C):
76966         Likewise.
76967         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
76968         unsigned counterparts.
76969         (Have_long_long, Unsigned): New macros.
76970         (Int): Renamed from INT.
76971         (strtoimax): Use the new macros.
76972         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
76973         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
76974         * modules/inttypes (inttypes.h): Substitute
76975         HAVE_UNSIGNED_LONG_LONG_INT.
76976         * modules/stdint (stdint.h): Likewise.
76977         (Files): Add m4/ulonglong.m4.
76978
76979 2006-10-10  Bruno Haible  <bruno@clisp.org>
76980
76981         Fix a gcc -Wshadow warning.
76982         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
76983         to 'bucket'.
76984         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
76985         gl_linked_indexof_from_to): Likewise.
76986         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
76987         Likewise.
76988         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
76989         Likewise.
76990         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
76991         Reported by Eric Blake.
76992
76993 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
76994
76995         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
76996         for NetBSD.  Problem reported by Bruno Haible.
76997
76998 2006-10-09  Jim Meyering  <jim@meyering.net>
76999
77000         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77001         Patch from Bruno Haible.
77002
77003 2006-10-09  Jim Meyering  <jim@meyering.net>
77004
77005         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77006         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77007         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77008
77009 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77010
77011         Don't include <config.h> twice; this doesn't work in some cases,
77012         e.g., when config.h has "#define intmax_t long long int" and
77013         we include <config.h>, <inttypes.h>, <config.h> in that order.
77014         Problem reported by Matthew Woehlke in:
77015         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77016         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77017         * lib/fts-cycle.c: Don't include config.h.
77018         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77019         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77020         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77021         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77022         inttypes.h.
77023         * lib/xstrtoumax.c: Likewise.
77024         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77025         __strtol and the like, so that this module is more like its siblings.
77026         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77027         Remove; no longer needed now that we assume gnulib inttypes.h.
77028
77029 2006-10-08  Bruno Haible  <bruno@clisp.org>
77030
77031         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77032         option.
77033
77034 2006-10-07  Jim Meyering  <jim@meyering.net>
77035
77036         * modules/inttypes (inttypes.h): Revert what seems to have been
77037         an inadvertent part of today's change: use "|", not "/" in the
77038         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77039
77040 2006-10-07  Bruno Haible  <bruno@clisp.org>
77041
77042         * modules/sublist: New file.
77043
77044 2006-10-07  Bruno Haible  <bruno@clisp.org>
77045
77046         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77047         * modules/argz (argz.h): Likewise.
77048         * modules/arpa_inet (arpa/inet.h): Likewise.
77049         * modules/byteswap (byteswap.h): Likewise.
77050         * modules/configmake (configmake.h): Likewise.
77051         * modules/fcntl (fcntl.h): Likewise.
77052         * modules/fnmatch (fnmatch.h): Likewise.
77053         * modules/getopt (getopt.h): Likewise.
77054         * modules/glob (glob.h): Likewise.
77055         * modules/inttypes (inttypes.h): Likewise.
77056         * modules/netinet_in (netinet/in.h): Likewise.
77057         * modules/poll (poll.h): Likewise.
77058         * modules/stdbool (stdbool.h): Likewise.
77059         * modules/stdint (stdint.h): Likewise.
77060         * modules/sys_select (sys/select.h): Likewise.
77061         * modules/sys_socket (sys/socket.h): Likewise.
77062         * modules/sys_stat (sys/stat.h): Likewise.
77063         * modules/sysexits (sysexits.h): Likewise.
77064         * modules/unistd (unistd.h): Likewise.
77065         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77066         Add a "DO NOT EDIT" comment to the generated file.
77067         (func_import): Likewise for gnulib-comp.m4.
77068
77069 2006-10-07  Bruno Haible  <bruno@clisp.org>
77070
77071         * lib/gl_sublist.h: New file.
77072         * lib/gl_sublist.c: New file.
77073
77074 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77075
77076         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77077         name (relative to the original working directory) and the file
77078         name component (relative to the temporary working directory).  All
77079         callers changed.
77080         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77081         * lib/mkdir-p.c (make_dir_parents): Likewise.
77082         * lib/mkdir-p.h (make_dir_parents): Likewise.
77083
77084 2006-10-06  Eric Blake  <ebb9@byu.net>
77085
77086         Define several macros for use by the clean-temp module.
77087         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77088         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77089         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77090
77091         * lib/clean-temp.h (close_stream_temp): New declaration.
77092         * lib/clean-temp.c (includes): Pull in headers according to what
77093         other modules are in use.
77094         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77095
77096 2006-10-06  Bruno Haible  <bruno@clisp.org>
77097
77098         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77099         instead of fopen, fwriteerror.
77100
77101 2006-10-06  Bruno Haible  <bruno@clisp.org>
77102
77103         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77104         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77105         int.
77106         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77107         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77108         Return an error indicator.
77109         Suggested by Eric Blake.
77110
77111 2006-10-06  Bruno Haible  <bruno@clisp.org>
77112
77113         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77114         Reported by Eric Blake.
77115
77116 2006-10-06  Bruno Haible  <bruno@clisp.org>
77117
77118         * modules/closeout (Description): Mention stderr too.
77119
77120 2006-10-06  Bruno Haible  <bruno@clisp.org>
77121         and Paul Eggert  <eggert@cs.ucla.edu>
77122
77123         * lib/closeout.c (close_stdout): Also close stderr.
77124         * lib/closeout.h: Update comment.
77125
77126 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77127
77128         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77129         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77130         * lib/dirchownmod.c: Include lchown.h.
77131         * lib/lchown.c: Don't include files that lchown.h now includes.
77132         Don't declare chown, since lchown.h now does that.
77133         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77134         (lchown): Define to rpl_chown if lchown is declared but
77135         does not exist.  Declare using a prototype if lchown is not
77136         declared.  Add a copyright notice.
77137         * lib/mkstemp.h: Include <unistd.h>.
77138         * lib/openat.c: Include lchown.h.
77139
77140         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77141         we now test for that separately.
77142         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77143         rather than O_NOFOLLOW, when testing whether it's possible to
77144         avoid a race condition reliably.
77145         * lib/savewd.c (savewd_chdir): Likewise.
77146
77147         Remove macros that are no longer needed now that stdint.h is
77148         reliable.
77149         * lib/fsusage.c (UINTMAX_MAX): Remove.
77150         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77151         * lib/utimecmp.c (SIZE_MAX): Remove.
77152
77153         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77154
77155         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77156         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77157         O_NOATIME works.
77158
77159 2006-10-05  Bruno Haible  <bruno@clisp.org>
77160
77161         * lib/gl_list.h (gl_sortedlist_search_from_to,
77162         gl_sortedlist_indexof_from_to): New declarations.
77163         (gl_list_implementation): New fields sortedlist_search_from_to,
77164         sortedlist_indexof_from_to.
77165         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77166         inline functions.
77167         * lib/gl_list.c (gl_sortedlist_search_from_to,
77168         gl_sortedlist_indexof_from_to): New functions.
77169         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77170         function.
77171         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77172         (gl_array_sortedlist_search_from_to): New function.
77173         (gl_array_list_implementation): Update.
77174         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77175         function.
77176         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77177         (gl_carray_sortedlist_search_from_to): New function.
77178         (gl_carray_list_implementation): Update.
77179         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77180         gl_linked_sortedlist_indexof_from_to): New functions.
77181         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77182         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77183         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77184         gl_tree_sortedlist_indexof_from_to): New functions.
77185         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77186         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77187         Update.
77188         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77189         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77190         Update.
77191
77192 2006-10-05  Bruno Haible  <bruno@clisp.org>
77193
77194         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77195         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77196         (struct gl_list_implementation): Add fields search_from_to,
77197         indexof_from_to. Remove fields search, indexof.
77198         (gl_list_search): Use the search_from_to method.
77199         (gl_list_search_from, gl_list_search_from_to): New functions.
77200         (gl_list_indexof): Use the indexof_from_to method.
77201         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77202         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77203         (gl_list_search_from, gl_list_search_from_to): New functions.
77204         (gl_list_indexof): Use the indexof_from_to method.
77205         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77206         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77207         gl_array_indexof. Add start_index, end_index arguments.
77208         (gl_array_search_from_to): Renamed from gl_array_search. Add
77209         start_index, end_index arguments.
77210         (gl_array_remove, gl_array_list_implementation): Update.
77211         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77212         gl_carray_indexof. Add start_index, end_index arguments.
77213         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77214         start_index, end_index arguments.
77215         (gl_carray_remove, gl_carray_list_implementation): Update.
77216         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77217         gl_linked_search. Add start_index, end_index arguments.
77218         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77219         start_index, end_index arguments.
77220         (gl_linked_remove): Update.
77221         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77222         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77223         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77224         field to 'size_t'.
77225         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77226         gl_tree_search. Add start_index, end_index arguments.
77227         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77228         start_index, end_index arguments.
77229         (gl_tree_remove): Update.
77230         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77231         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77232         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77233         function.
77234         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77235         gl_tree_search. Add start_index, end_index arguments.
77236         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77237         start_index, end_index arguments.
77238         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77239         Update.
77240         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77241
77242 2006-10-05  Bruno Haible  <bruno@clisp.org>
77243
77244         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77245
77246         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77247         fwriteerror_temp): New declarations.
77248         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77249         (descriptors): New variable.
77250         (cleanup): First, close the descriptors.
77251         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77252         fclose_temp, fwriteerror_temp): New functions.
77253
77254 2006-10-04  Jim Meyering  <jim@meyering.net>
77255
77256         * lib/fts.c (fts_open): Tiny comment change.
77257
77258 2006-10-04  Bruno Haible  <bruno@clisp.org>
77259
77260         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77261         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77262         gl_LOCK_BODY.
77263         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77264         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77265         gl_LOCK_EARLY_BODY.
77266         (gl_LOCK): Require gl_LOCK_BODY.
77267
77268 2006-10-04  Bruno Haible  <bruno@clisp.org>
77269
77270         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77271         (gl_oset_search_atleast): New declaration.
77272         (struct gl_oset_implementation): Add field 'search_atleast'.
77273         (gl_oset_search_atleast): New inline function.
77274         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77275         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77276         (gl_array_oset_implementation): Update.
77277         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77278         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77279         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77280
77281 2006-10-04  Bruno Haible  <bruno@clisp.org>
77282
77283         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77284
77285 2006-10-03  Bruno Haible  <bruno@clisp.org>
77286
77287         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77288         from gl_avltreehash_list_implementation.
77289
77290 2006-10-03  Bruno Haible  <bruno@clisp.org>
77291
77292         * lib/gl_oset.c (gl_oset_add): Fix return type.
77293
77294 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77295
77296         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77297
77298 2006-10-02  Eric Blake  <ebb9@byu.net>
77299
77300         * modules/strnlen (Depends-on): Add extensions.
77301
77302 2006-10-02  Eric Blake  <ebb9@byu.net>
77303
77304         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77305         definition in 2.60+.
77306
77307 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77308
77309         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77310         checks.
77311
77312 2006-10-02  Bruno Haible  <bruno@clisp.org>
77313
77314         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77315         to the AUTOMAKE_OPTIONS.
77316         Reported by Jim Meyering.
77317
77318 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77319
77320         Work around bug in Solaris 10 /proc file system:
77321         /proc/self/fd/NNN/.. isn't the parent directory of
77322         the directory whose file descriptor is NNN.  This needs to
77323         be worked around at run time, not compile time, since a
77324         program might be built on Solaris 8, where things work, and
77325         run on Solaris 10.
77326         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77327         to use the following interface instead:
77328         (OPENAT_BUFFER_SIZE): New macro.
77329         (openat_proc_name): New function.
77330         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77331         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77332         Likewise.
77333         * lib/openat-proc.c: New file.
77334         * modules/openat (Files): Add lib/openat-proc.c.
77335         (Depends-on): Add same-inode, stdbool.
77336         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77337
77338 2006-09-29  Bruno Haible  <bruno@clisp.org>
77339
77340         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77341         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77342         argument. Set stdout_closed before testing for ferror, not after.
77343         (fwriteerror, fwriteerror_no_ebadf): New functions.
77344
77345 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77346
77347         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77348
77349 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77350
77351         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77352         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77353
77354 2006-09-28  Jim Meyering  <jim@meyering.net>
77355
77356         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77357         Include <unistd.h>.
77358
77359 2006-09-28  Bruno Haible  <bruno@clisp.org>
77360
77361         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77362         * modules/linkedhash-list (Depends-on): Likewise.
77363         * modules/rbtreehash-list (Depends-on): Likewise.
77364
77365 2006-09-28  Bruno Haible  <bruno@clisp.org>
77366
77367         * lib/strndup.h: Simplify the redefinition of strndup.
77368         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77369         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77370
77371 2006-09-28  Bruno Haible  <bruno@clisp.org>
77372
77373         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77374         * lib/gl_linkedhash_list.c: Likewise.
77375         * lib/gl_rbtreehash_list.c: Likewise.
77376
77377 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77378
77379         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77380         getaddrinfo.
77381
77382         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77383         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77384         it causes <stdio_ext.h> to cause a compile-time error.
77385         Problem reported by Nelson H. F. Beebe.
77386         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77387         of HAVE_DECL___PENDING.
77388
77389         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77390         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77391         declaration.
77392
77393 2006-09-27  Jim Meyering  <jim@meyering.net>
77394
77395         This file could end up with a definition for a function
77396         named __strndup, rather than rpl_strndup on a system with
77397         incomplete weak_alias support.
77398         * lib/strndup.c (strndup): Rename from __strndup.
77399         Remove #defines that used to map __strndup to strndup.
77400         Don't use K&R prototypes.
77401         Remove LIBC-related code, since this file is not sync'd with glibc.
77402         * lib/strndup.h: Revamp, accordingly.
77403         * m4/strndup.m4: Modernize.
77404
77405 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77406
77407         * modules/savewd (Depends-on): Add 'raise'.
77408         * lib/savewd.c: Include <signal.h>, for 'raise'.
77409
77410 2006-09-26  Jim Meyering  <jim@meyering.net>
77411
77412         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77413         when we detect Darwin 8.7.0's acl_get_file bug.
77414         Rearrange to perform the new (below) run-test while $LIBS
77415         contains any acl-related library.  Set USE_ACL at the end.
77416         (gl_ACL_GET_FILE): New function.
77417
77418 2006-09-26  Eric Blake  <ebb9@byu.net>
77419
77420         * lib/verror.c: Include <config.h> unconditionally.
77421
77422 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77423
77424         * modules/clock-time (Maintainer): Add self.
77425         * modules/getlogin_r (Depends-on): Add extensions.
77426
77427 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77428
77429         * modules/clock-time: New module.
77430         * modules/nanosleep (Depends-on): Add clock-time.
77431         * modules/gethrxtime (Depends-on): Likewise.
77432         * modules/gettime (Depends-on): Likewise.
77433         * modules/settime (Depends-on): Likewise.
77434
77435         * modules/fts-lgpl: Depend on openat.
77436         * modules/mkancesdirs: Depend on savewd.
77437         * modules/mkdir-p: Likewise.
77438
77439 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77440
77441         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77442
77443         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77444         `gl_have_arbitrary_file_name_length_limit' to
77445         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77446         actually works between configure runs.
77447
77448 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77449             Bruno Haible  <bruno@clisp.org>
77450
77451         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77452
77453 2006-09-25  Jim Meyering  <jim@meyering.net>
77454
77455         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77456         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77457
77458 2006-09-25  Eric Blake  <ebb9@byu.net>
77459
77460         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77461         exec's in 2006-09-18 patch when shuffling fds.
77462
77463 2006-09-25  Bruno Haible  <bruno@clisp.org>
77464
77465         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77466         Reported by Jim Meyering.
77467
77468 2006-09-24  Jim Meyering  <jim@meyering.net>
77469
77470         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77471         compare a pointer against a literal "0".  That caused failures with
77472         at least HP-UX's hpcc.
77473
77474 2006-09-22  Simon Josefsson  <jas@extundo.com>
77475
77476         * modules/gc-sha1:
77477         * modules/gc-md4:
77478         * modules/gc-hmac-sha1:
77479         * modules/gc-hmac-md5:
77480         * modules/gc-des:
77481         * modules/gc-arcfour: Distribute more files.
77482
77483 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77484
77485         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77486         (gl_linked_iterator_from_to): Initialize struct completely.
77487         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77488         (gl_tree_iterator_from_to): Likewise
77489         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77490         * lib/gl_array_list.c [lint] (gl_array_iterator)
77491         (gl_array_iterator_from_to): Likewise.
77492         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77493         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77494         (gl_carray_iterator_from_to): Likewise.
77495
77496         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77497         * lib/md4.c (md4_process_block): Remove unused variable.
77498         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77499         parentheses for clarity.
77500
77501 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77502
77503         * modules/bison-i18n (Depends-on): Add gettext.
77504
77505 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77506
77507         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77508         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77509         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77510         also add missing comma that caused broken test.
77511         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77512         stdlib.h, for `abort'.
77513         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77514         variables.
77515         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77516         include unistd.h if present, for `rmdir'.
77517         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77518         variables.
77519         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77520         in the process include standard headers for prototypes.
77521         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77522         gets declared on GNU/Linux.
77523         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77524         unistd.h, for `rmdir'.
77525         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77526
77527         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77528         always true.
77529         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77530
77531         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77532
77533 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77534
77535         * gnulib-tool (func_version): Create output all at once.  This
77536         may help avoid triggering unnecessary SIGPIPEs, and at any
77537         rate it doesn't hurt.
77538
77539 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77540             Bruno Haible  <bruno@clisp.org>
77541
77542         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77543         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77544         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77545
77546         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77547         (gl_FUNC_VASPRINTF): Invoke it.
77548
77549 2006-09-22  Bruno Haible  <bruno@clisp.org>
77550
77551         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77552         getloadavg.c as first argument.
77553
77554 2006-09-22  Bruno Haible  <bruno@clisp.org>
77555
77556         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77557         at the beginning of the gl_INIT macro.
77558         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77559         gl_GETLOADAVG.
77560
77561 2006-09-22  Bruno Haible  <bruno@clisp.org>
77562
77563         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77564         module.
77565         Suggested by Ralf Wildenhues.
77566
77567 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77568
77569         Import this patch from libc:
77570
77571         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77572
77573         * lib/regex_internal.c (re_string_reconstruct): Handle
77574         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77575         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77576         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77577         re_string_context_at.
77578
77579         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77580         now requires it.
77581         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77582         gl_REGEX now does it for us.
77583         (gl_REGEX): Add test taken from
77584         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77585
77586         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77587         Check that large offsets work.  Modernize Autoconf usages.
77588         Prefer "yes" to mean a good thing rather than a bad.
77589         Don't put "#define mkstemp" in config.h, as this might interfere
77590         with standard system headers that "#define mkstemp mkstemp64".
77591
77592         * modules/mkstemp (Depends-on): Add extensions, so that
77593         mkstemp is visible on some platforms.
77594         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77595         (Include): Change to "mkstemp.h" from <stdlib.h>.
77596         (Files): Add mkstemp.h.
77597
77598         * lib/mkstemp.h: New file, since some standard headers
77599         #define mkstemp.
77600         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77601         Include "mkstemp.h".
77602         Make the _LIBC code resemble glibc original more,
77603         e.g., use K&R style.
77604         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77605         (mkstemp): Remove, since mkstemp.h does this for us.
77606         * lib/stdlib--.h: Include mkstemp.h.
77607
77608         Import this patch from libc:
77609
77610         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77611
77612         * lib/tempname.c (__gen_tempname): Change attempts_min
77613         into a macro.  Use preprocessor to decide how to initialize
77614         attempts [Coverity CID 67].
77615
77616 2006-09-20  Bruno Haible  <bruno@clisp.org>
77617
77618         * lib/mkdtemp.c: Import from libc.
77619         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77620                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77621                 attempts_min into a macro.  Use preprocessor to decide how to
77622                 initialize attempts [Coverity CID 67].
77623         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77624                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77625                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77626
77627 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77628
77629         * gnulib-tool (func_exit): New function, to allow to pass the
77630         exit status portably through the trap.  Use everywhere.
77631         (--help, --version): Signal a write error.
77632         (trap): catch SIGPIPE, for write errors.
77633         Exit at the end of the trap, with the correct exit status.
77634
77635 2006-09-19  Karl Berry  <karl@gnu.org>
77636
77637         * doc/gnulib.texi: note about the license texinfo files.
77638
77639 2006-09-19  Eric Blake  <ebb9@byu.net>
77640
77641         * gnulib-tool: Avoid space-tab.
77642
77643 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77646         that prevented coreutils 6.1 from building.  Problem reported
77647         by Petter Reinholdtsen.
77648
77649 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77650
77651         * gnulib-tool (avoidlist): Fix typo that broke options like
77652         --avoid=lock that are used by coreutils bootstrap.
77653
77654 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77655
77656         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77657         more systematically.
77658
77659 2006-09-18  Jim Meyering  <jim@meyering.net>
77660
77661         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77662
77663 2006-09-18  Bruno Haible  <bruno@clisp.org>
77664
77665         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77666
77667 2006-09-18  Bruno Haible  <bruno@clisp.org>
77668
77669         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77670         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77671         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77672         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77673         * m4/gettext.m4: Require autoconf >= 2.52.
77674         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77675         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77676         of gl_cv_header_inttypes_h.
77677
77678 2006-09-18  Bruno Haible  <bruno@clisp.org>
77679
77680         * lib/javaversion.c: Include configmake.h.
77681
77682 2006-09-18  Bruno Haible  <bruno@clisp.org>
77683
77684         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77685         avoid that the while loops be executed in a subshell.
77686
77687 2006-09-18  Bruno Haible  <bruno@clisp.org>
77688
77689         * MODULES.html.sh (func_module): Break long lines.
77690         Suggested by Bruce Korb <bkorb@gnu.org>.
77691
77692 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77693
77694         Speed up by a factor of 1.12.
77695         * gnulib-tool (nl): New variable.
77696         (func_import): Rewrite include directive extraction to only read each
77697         directive once.
77698
77699 2006-09-17  Bruno Haible  <bruno@clisp.org>
77700
77701         * modules/javaversion (Makefile.am): Remove DEFS setting.
77702         (Depends-on): Add configmake, for PKGDATADIR definition.
77703
77704 2006-09-17  Bruno Haible  <bruno@clisp.org>
77705
77706         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77707
77708 2006-09-17  Bruno Haible  <bruno@clisp.org>
77709
77710         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77711         (func_modules_transitive_closure, func_modules_add_dummy,
77712         func_modules_to_filelist, func_import, func_create_testdir,
77713         func_create_megatestdir, ...): Use it wherever possible.
77714         Suggested by Ralf Wildenhues.
77715
77716 2006-09-16  Karl Berry  <karl@gnu.org>
77717
77718         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77719         to avoid sectioning errors.
77720         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77721         [ifinfo]: blank line after @center-ed titles.
77722         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77723         Spell FSF address consistently with others.
77724         (These changes approved by rms.)
77725
77726 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77727
77728         Speed up by a factor of 1.61.
77729         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77730         already checked module names again.
77731
77732 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77733
77734         Speed up by a factor of 1.13.
77735         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77736         for new_files, and the input to func_add_or_update.
77737
77738 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77739
77740         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77741         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77742
77743 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77744
77745         * modules/mkancesdirs (Depends-on): Add fcntl.
77746         * modules/savewd: New file.
77747         * MODULES.html.sh (File system functions): Add savewd.
77748
77749         * modules/configmake (Makefile.am): Add support for the
77750         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77751
77752 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77753
77754         * m4/savewd.m4: New file.
77755
77756 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77757
77758         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77759         (dirchownmod): New arg FD.  All callers changed.
77760         Use FD rather than opening the directory ourself, as opening is
77761         now the caller's responsibility.
77762         * lib/dirchownmod.h: Likewise.
77763         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77764         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77765         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
77766         (test_dir): Remove.
77767         (mkancesdirs): Return length of prefix of FILE that has already
77768         been made, or -2 if there is a child doing the work.  Redo
77769         algorithm so that it is O(N) rather than O(N**2).  Optimize away
77770         ".", and treat ".." specially since it might stray back into
77771         already-created areas.  Use a subprocess if necessary.  New arg
77772         WD; all users changed.  MAKE_DIR function should now return 1
77773         if it creates a directory that is not readable.  Return -2 if
77774         a child process is spun off.
77775         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
77776         Adjust signature to match code.
77777         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
77778         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
77779         all users changed.
77780         * lib/savewd.c, lib/savewd.h: New files.
77781
77782 2006-09-15  Jim Meyering  <jim@meyering.net>
77783
77784         * modules/rename-dest-slash: New module.
77785         * MODULES.html.sh (posix_compat): Add it here.
77786
77787         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
77788
77789 2006-09-15  Jim Meyering  <jim@meyering.net>
77790
77791         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
77792         file.
77793
77794         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
77795
77796 2006-09-15  Jim Meyering  <jim@meyering.net>
77797
77798         * lib/rename-dest-slash.c (has_trailing_slash): Use
77799         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
77800         (rpl_rename_dest_slash): Perform the cheaper trailing slash
77801         test before testing whether SRC is a directory.
77802         Suggestions from Bruno Haible.
77803
77804         Avoid a warning about an unused variable.
77805         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
77806         into the #ifdef block where it's used.
77807
77808         * lib/rename-dest-slash.c: New file.
77809
77810 2006-09-14  Bruno Haible  <bruno@clisp.org>
77811
77812         * lib/allocsa.c: Include <config.h> unconditionally.
77813         * lib/asnprintf.c: Likewise.
77814         * lib/asprintf.c: Likewise.
77815         * lib/c-strcasecmp.c: Likewise.
77816         * lib/c-strcasestr.c: Likewise.
77817         * lib/c-strncasecmp.c: Likewise.
77818         * lib/c-strstr.c: Likewise.
77819         * lib/classpath.c: Likewise.
77820         * lib/clean-temp.c: Likewise.
77821         * lib/concatpath.c: Likewise.
77822         * lib/copy-file.c: Likewise.
77823         * lib/csharpcomp.c: Likewise.
77824         * lib/csharpexec.c: Likewise.
77825         * lib/execute.c: Likewise.
77826         * lib/fatal-signal.c: Likewise.
77827         * lib/findprog.c: Likewise.
77828         * lib/fwriteerror.c: Likewise.
77829         * lib/gl_array_list.c: Likewise.
77830         * lib/gl_array_oset.c: Likewise.
77831         * lib/gl_avltree_list.c: Likewise.
77832         * lib/gl_avltree_oset.c: Likewise.
77833         * lib/gl_avltreehash_list.c: Likewise.
77834         * lib/gl_carray_list.c: Likewise.
77835         * lib/gl_linked_list.c: Likewise.
77836         * lib/gl_linkedhash_list.c: Likewise.
77837         * lib/gl_list.c: Likewise.
77838         * lib/gl_oset.c: Likewise.
77839         * lib/gl_rbtree_list.c: Likewise.
77840         * lib/gl_rbtree_oset.c: Likewise.
77841         * lib/gl_rbtreehash_list.c: Likewise.
77842         * lib/imaxabs.c: Likewise.
77843         * lib/imaxdiv.c: Likewise.
77844         * lib/javacomp.c: Likewise.
77845         * lib/javaexec.c: Likewise.
77846         * lib/javaversion.c: Likewise.
77847         * lib/linebreak.c: Likewise.
77848         * lib/localcharset.c: Likewise.
77849         * lib/lock.c: Likewise.
77850         * lib/mbchar.c: Likewise.
77851         * lib/mbswidth.c: Likewise.
77852         * lib/mkdtemp.c: Likewise.
77853         * lib/pipe.c: Likewise.
77854         * lib/printf-args.c: Likewise.
77855         * lib/printf-parse.c: Likewise.
77856         * lib/progname.c: Likewise.
77857         * lib/progreloc.c: Likewise.
77858         * lib/readlink.c: Likewise.
77859         * lib/sh-quote.c: Likewise.
77860         * lib/stpcpy.c: Likewise.
77861         * lib/stpncpy.c: Likewise.
77862         * lib/strcasecmp.c: Likewise.
77863         * lib/strcasestr.c: Likewise.
77864         * lib/strcspn.c: Likewise.
77865         * lib/striconv.c: Likewise.
77866         * lib/strncasecmp.c: Likewise.
77867         * lib/strnlen1.c: Likewise.
77868         * lib/strstr.c: Likewise.
77869         * lib/strtok_r.c: Likewise.
77870         * lib/tls.c: Likewise.
77871         * lib/tmpdir.c: Likewise.
77872         * lib/unicodeio.c: Likewise.
77873         * lib/unsetenv.c: Likewise.
77874         * lib/vasnprintf.c: Likewise.
77875         * lib/vasprintf.c: Likewise.
77876         * lib/wait-process.c: Likewise.
77877         * lib/xallocsa.c: Likewise.
77878         * lib/xsetenv.c: Likewise.
77879         * lib/xstriconv.c: Likewise.
77880
77881 2006-09-13  Simon Josefsson  <jas@extundo.com>
77882
77883         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
77884         that internally, suggested by Ralf Wildenhues
77885         <Ralf.Wildenhues@gmx.de>.
77886
77887 2006-09-13  Simon Josefsson  <jas@extundo.com>
77888
77889         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
77890         @LIBOBJS@.
77891         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77892
77893 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77894
77895         * lib/_fpending.c: Include <config.h> unconditionally, since we no
77896         longer worry about uses that don't define HAVE_CONFIG_H.
77897         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
77898         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
77899         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
77900         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
77901         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
77902         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
77903         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
77904         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
77905         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
77906         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
77907         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
77908         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
77909         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
77910         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
77911         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
77912         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
77913         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
77914         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
77915         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
77916         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
77917         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
77918         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
77919         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
77920         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
77921         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
77922         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
77923         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
77924         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
77925         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
77926         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
77927         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
77928         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
77929         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
77930         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77931         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77932         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77933         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77934         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77935         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77936         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77937         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77938         Likewise.
77939
77940 2006-09-13  Eric Blake  <ebb9@byu.net>
77941
77942         * lib/getopt.c: Fix typo in last commit.
77943
77944 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77945
77946         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
77947         dgettext.
77948
77949 2006-09-12  Jim Meyering  <jim@meyering.net>
77950
77951         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
77952         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
77953         Reported by Nelson H. F. Beebe.
77954
77955 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77956
77957         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
77958         program_invocation_name and program_invocation_short_name are
77959         initialized.
77960         * lib/argp-namefrob.h: Move declarations of program_invocation_name
77961         and program_invocation_short_name to argp.h, so they are visible
77962         to user programs.
77963         * lib/argp.h: Likewise
77964
77965 2006-09-10  Bruno Haible  <bruno@clisp.org>
77966
77967         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77968         m4/inttypes_h.m4, m4/uintmax_t.m4.
77969
77970 2006-09-10  Bruno Haible  <bruno@clisp.org>
77971
77972         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
77973         gl_AC_TYPE_UINTMAX_T.
77974
77975 2006-09-10  Bruno Haible  <bruno@clisp.org>
77976
77977         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
77978
77979 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77980
77981         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
77982         convention.  Text proposed by Bruno Haible.
77983         (struct argp_option): Document the use of N_() wrappers.
77984
77985         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
77986         '\v', and translate the two parts separately, instead of feeding
77987         the whole string to gettext.  This allows to exclude
77988         '\v' from the strings visible to the translator by writing doc
77989         strings as N_("..") "\v" N_("..").
77990
77991 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
77992
77993         * config/srclist.txt: Undo latest change; the bug was fixed.
77994
77995 2006-09-09  Bruno Haible  <bruno@clisp.org>
77996
77997         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
77998         assignments if building a library without libtool.
77999         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78000         in func_emit_lib_Makefile_am.
78001         (func_import): When building a static library libfoo.a, arrange to
78002         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78003         (func_create_testdir): Likewise.
78004         * modules/gc (configure.ac, Makefile.am): If building statically,
78005         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78006         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78007         * modules/striconv (configure.ac, Makefile.am): Likewise.
78008         Based on a suggestion by Ralf Wildenhues.
78009
78010 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78011
78012         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78013         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78014         Also:
78015
78016         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78017         Add year_2050_test to catch glibc bug 2821
78018         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78019
78020         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78021         Prefer #ifdef to #if.
78022
78023         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78024         Return from 'main' instead of calling 'exit'.
78025
78026 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78027
78028         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78029         returned the maximum time_t value rather than (time_t) -1.
78030         Problem originally reported by William Bardwell
78031         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78032
78033         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78034         Moved to here ...
78035         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78036         ... from here.
78037
78038 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78039
78040         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78041         2821 is fixed.
78042
78043 2006-09-08  Jim Meyering  <jim@meyering.net>
78044
78045         Don't make generated files read-only.  That would bother too many
78046         people.  However, do retain the ability to work when targets are
78047         read-only: remove the destination and temporary files before writing
78048         them (when generated via sed or echo), or by using the -f option for
78049         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78050         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78051         * modules/byteswap, modules/configmake, modules/fcntl:
78052         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78053         * modules/localcharset, modules/netinet_in, modules/poll:
78054         * modules/stdbool, modules/stdint, modules/sys_select:
78055         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78056
78057 2006-09-08  Jim Meyering  <jim@meyering.net>
78058
78059         Avoid new build failure on FreeBSD 6.0.
78060         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78061         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78062         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78063
78064 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78065
78066         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78067
78068 2006-09-07  Jim Meyering  <jim@meyering.net>
78069
78070         Fix global typo in last change: use chmod u-w, not chmod u-x.
78071         Spotted by Paul Eggert and Bruce Korb.
78072         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78073         * modules/byteswap, modules/configmake, modules/fcntl:
78074         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78075         * modules/localcharset, modules/netinet_in, modules/poll:
78076         * modules/stdbool, modules/stdint, modules/sys_select:
78077         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78078
78079 2006-09-06  Jim Meyering  <jim@meyering.net>
78080
78081         Make generated files be read-only.
78082         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78083         Ensure that each generated file is now read-only.
78084         * modules/argz: Likewise.
78085         * modules/arpa_inet: Likewise.
78086         * modules/byteswap: Likewise.
78087         * modules/configmake: Likewise.
78088         * modules/fcntl: Likewise.
78089         * modules/fnmatch: Likewise.
78090         * modules/getopt: Likewise.
78091         * modules/glob: Likewise.
78092         * modules/inttypes: Likewise.
78093         * modules/netinet_in: Likewise.
78094         * modules/poll: Likewise.
78095         * modules/stdbool: Likewise.
78096         * modules/stdint: Likewise.
78097         * modules/sys_select: Likewise.
78098         * modules/sys_socket: Likewise.
78099         * modules/sys_stat: Likewise.
78100         * modules/sysexits: Likewise.
78101         * modules/localcharset: Same as above, but continue using temporary
78102         file named "t-$@" (why different?) rather than the "$@-t" used
78103         everywhere else.
78104
78105         * modules/sysexits (Makefile.am): Replace literal occurrences
78106         of "sysexit.h" more readable, and more consistent, "$@".
78107
78108 2006-09-06  Bruno Haible  <bruno@clisp.org>
78109
78110         * modules/striconv: New file.
78111         * modules/xstriconv: New file.
78112         * MODULES.html.sh (Internationalization functions): Add striconv,
78113         xstriconv.
78114
78115 2006-09-06  Bruno Haible  <bruno@clisp.org>
78116
78117         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78118         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78119         not using libtool correctly.
78120
78121 2006-09-06  Bruno Haible  <bruno@clisp.org>
78122
78123         * lib/striconv.h: New file.
78124         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78125         iconvstring.c.
78126         * lib/xstriconv.h: New file.
78127         * lib/xstriconv.c: New file.
78128
78129 2006-09-06  Bruno Haible  <bruno@clisp.org>
78130
78131         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78132         lib_..._LDFLAGS.
78133
78134 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78135
78136         * lib/argz_.h: Sync from Libtool.
78137
78138         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78139                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78140
78141         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78142
78143 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78144
78145         * modules/trim: New file.
78146
78147 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78148
78149         * lib/trim.h: New file.
78150         * lib/trim.c: New file.
78151
78152 2006-09-05  Bruno Haible  <bruno@clisp.org>
78153
78154         * MODULES.html.sh (String handling): Add trim.
78155
78156 2006-09-04  Karl Berry  <karl@gnu.org>
78157
78158         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78159         until next release.
78160
78161 2006-09-03  Bruno Haible  <bruno@clisp.org>
78162
78163         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78164         correctly.
78165
78166 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78167
78168         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78169         not gl_GETLOADAVG.  Omit unneeded semicolons.
78170         Problems reported by Ralf Wildenhues in
78171         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78172         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78173         at the end, which is the usual gnulib style.
78174
78175         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78176         of doing all the work ourselves.
78177         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78178         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78179
78180 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78181
78182         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78183         Problem reported by Ralf Wildenhues in
78184         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78185
78186         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78187         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78188
78189 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78190
78191         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78192         yesterday's patch by changing test -n to test -z.
78193
78194 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78195
78196         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78197         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78198         the former is now obsolescent.
78199
78200         * modules/chdir-long (Depends-on): Add fcntl.
78201
78202 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78203
78204         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78205         obsolescent, and programs should use gnulib instead.
78206         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78207         but with prefixes changed.
78208
78209 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78210
78211         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78212         or stdbool.h, because they might not exist while configuring.
78213
78214         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78215         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78216         does that for us.
78217         (O_DIRECTORY): Remove.
78218
78219 2006-08-31  Eric Blake  <ebb9@byu.net>
78220
78221         * gnulib-tool: Don't let emacs change spaces to TAB.
78222
78223 2006-08-31  Bruno Haible  <bruno@clisp.org>
78224
78225         * gnulib-tool: When calling func_import more than once, do it in a
78226         subshell.
78227         Reported by Eric Blake <ebb9@byu.net>.
78228
78229 2006-08-31  Bruno Haible  <bruno@clisp.org>
78230
78231         * gnulib-tool (nl): Remove variable.
78232         (sed_transform_lib_file): Use more robust test for config-h module.
78233         (func_import): Fix typo in 2006-08-25 patch.
78234
78235 2006-08-31  Bruno Haible  <bruno@clisp.org>
78236
78237         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78238         specified, augment Makefile.am variables instead of assigning them.
78239
78240 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78241
78242         Work around a bug in both the Linux and SunOS 64-bit kernels:
78243         nanosleep mishandles sleeps for longer than 2**31 seconds.
78244         Problem reported by Frank v Waveren in
78245         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78246         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78247         Check for nanosleep bug.
78248         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78249
78250 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78251
78252         Work around a bug in both the Linux and SunOS 64-bit kernels:
78253         nanosleep mishandles sleeps for longer than 2**31 seconds.
78254         Problem reported by Frank v Waveren in
78255         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78256         * lib/nanosleep.c (BILLION): New constant.
78257         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78258         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78259         implementation.
78260
78261 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78262
78263         * modules/nanosleep (Depends-on): Add gettime.
78264
78265 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78266         and Simon Josefsson  <jas@extundo.com>
78267         and Oskar Liljeblad  <oskar@osk.mine.nu>
78268
78269         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78270         * gnulib-tool (func_import): New license type 'unmodifiable license
78271         text'.
78272         * modules/fdl: Use it.  Longer description.
78273         * module/gpl, module/lgpl: New files.
78274
78275 2006-08-30  Jim Meyering  <jim@meyering.net>
78276
78277         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78278         shadowing the parameter.
78279
78280 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78281
78282         Sync from Libtool:
78283
78284         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78285
78286         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78287         sharing with gnulib.  Report by Eric Blake.
78288
78289 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78290
78291         * modules/isapipe: New file.
78292         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78293
78294 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * modules/configmake (Makefile.am): Add a comment, and omit
78297         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78298         by Bruno Haible.
78299
78300 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         * m4/isapipe.m4: New file.
78303
78304 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78305
78306         * lib/isapipe.c, lib/isapipe.h: New files.
78307
78308 2006-08-29  Jim Meyering  <jim@meyering.net>
78309
78310         * modules/configmake (Makefile.am): Make configmake.h depend on
78311         Makefile.  Otherwise, a stale configmake.h could hang around.
78312
78313 2006-08-29  Eric Blake  <ebb9@byu.net>
78314
78315         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78316         resolution of upstream bug 3044.
78317
78318 2006-08-29  Bruno Haible  <bruno@clisp.org>
78319
78320         * modules/localcharset (Depends-on): Add configmake.
78321         (Makefile.am): Remove setting of LIBDIR through DEFS.
78322
78323 2006-08-29  Bruno Haible  <bruno@clisp.org>
78324
78325         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78326         defined.
78327
78328 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78329
78330         * modules/fcntl: New file.
78331         * modules/chdir-safer (Depends-on): Add fcntl.
78332         * modules/fts: Likewise.
78333         * modules/mkdir-p: Likewise.
78334
78335         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78336         This undoes the most recent change, since we're now addressing the
78337         problem in a different way.
78338
78339         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78340         into output, since the output might be called Makefile.am even
78341         if $makefile_name is something different.
78342         (func_import): Use $makefile_am rather than
78343         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78344         empty.
78345
78346         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78347
78348 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78349
78350         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78351         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78352         recent change to stdint.m4, since we're now addressing the problem in a
78353         different way.
78354
78355 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78356
78357         * m4/fcntl_h.m4: New file.
78358
78359 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78360
78361         * lib/fcntl_.h: New file.
78362         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78363         the fcntl module.
78364         * lib/dirchownmod.c: Likewise.
78365         * lib/fts.c: Likewise.
78366
78367         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78368         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78369         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78370         just before including <inttypes.h>, to avoid circular inclusion.
78371
78372 2006-08-28  Jim Meyering  <jim@meyering.net>
78373
78374         * doc/visibility.texi: Actually read and correct the grammar of the
78375         sentence affected by yesterday's change.
78376
78377 2006-08-28  Eric Blake  <ebb9@byu.net>
78378
78379         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78380         needs wrapper.
78381
78382 2006-08-28  Eric Blake  <ebb9@byu.net>
78383
78384         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78385
78386 2006-08-28  Eric Blake  <ebb9@byu.net>
78387
78388         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78389
78390 2006-08-28  Bruno Haible  <bruno@clisp.org>
78391
78392         * modules/c-strstr: New file, from GNU gettext.
78393         * MODULES.html.sh (String handling): Add c-strstr.
78394
78395 2006-08-28  Bruno Haible  <bruno@clisp.org>
78396
78397         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78398         macros.
78399         Reported by Eric Blake.
78400
78401 2006-08-28  Bruno Haible  <bruno@clisp.org>
78402
78403         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78404         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78405         * lib/vasprintf.c: Include errno.h, limits.h.
78406         (EOVERFLOW): New fallback definition.
78407         (vasprintf): Test here whether the string length is > INT_MAX.
78408         * lib/vsnprintf.c: Include errno.h, limits.h.
78409         (EOVERFLOW): New fallback definition.
78410         (vsnprintf): Fix bug when generated string was too long for the buffer.
78411         Test here whether the string length is > INT_MAX.
78412
78413 2006-08-28  Bruno Haible  <bruno@clisp.org>
78414
78415         * lib/inttypes_.h (SCNX*): Remove definitions.
78416         Reported by Eric Blake.
78417
78418 2006-08-28  Bruno Haible  <bruno@clisp.org>
78419
78420         * lib/c-strstr.h: New file, from GNU gettext.
78421         * lib/c-strstr.c: New file, from GNU gettext.
78422
78423 2006-08-28  Bruno Haible  <bruno@clisp.org>
78424
78425         * gnulib-tool: Reorder some statements.
78426
78427 2006-08-28  Bruno Haible  <bruno@clisp.org>
78428
78429         * gnulib-tool: New option --makefile-name.
78430         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78431         $makefile_name.
78432         (func_import): Write $makefile_name to the cache file, and read it from
78433         there unless explicitly specified. Use $makefile_name as file name
78434         instead of Makefile.am. Adjust the recommendations accordingly.
78435
78436 2006-08-28  Bruno Haible  <bruno@clisp.org>
78437
78438         * gnulib-tool (func_verify_module): Check against misapplying patch.
78439
78440 2006-08-28  Bruno Haible  <bruno@clisp.org>
78441
78442         * gnulib-tool (func_relativize, func_relconcat): New functions.
78443         Give an error if --local-dir is given with --update.
78444         Remove trailing slashes from $local_gnulib_dir.
78445         (func_import): Store the relativized $local_gnulib_dir in
78446         gnulib-cache.m4, and read it from there if not specified explicitly.
78447
78448 2006-08-28  Bruno Haible  <bruno@clisp.org>
78449
78450         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78451         is the current directory. Respect also $local_gnulib_dir.
78452
78453 2006-08-28  Bruno Haible  <bruno@clisp.org>
78454             Simon Josefsson  <jas@extundo.com>
78455
78456         BeOS portability.
78457         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78458
78459 2006-08-27  Jim Meyering  <jim@meyering.net>
78460
78461         * doc/visibility.texi: Remove duplicate word: "pointer".
78462
78463 2006-08-26  Bruno Haible  <bruno@clisp.org>
78464
78465         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78466         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78467         (Makefile.am): Create inttypes.h from inttypes_.h.
78468         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78469
78470         * modules/imaxabs: New file.
78471
78472         * modules/imaxdiv: New file.
78473
78474 2006-08-26  Bruno Haible  <bruno@clisp.org>
78475
78476         * m4/inttypes.m4: New file.
78477         * m4/_inttypes_h.m4: Remove file.
78478         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78479         PRI_MACROS_BROKEN.
78480         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78481
78482         * m4/imaxabs.m4: New file.
78483
78484         * m4/imaxdiv.m4: New file.
78485
78486 2006-08-26  Bruno Haible  <bruno@clisp.org>
78487
78488         * lib/inttypes_.h: New file.
78489         * lib/inttypes.h: Remove file.
78490         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78491
78492         * lib/imaxabs.c: New file.
78493
78494         * lib/imaxdiv.c: New file.
78495
78496 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78497
78498         New config-h module, so that "make" output needn't be cluttered
78499         by -DHAVE_CONFIG_H.
78500         * MODULES.html.sh (Support for building libraries and executables):
78501         Add config-h.
78502         * modules/config-h: New file.
78503         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78504         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78505         the config-h module is used.
78506
78507         New configmake module, so that "make" output needn't be cluttered
78508         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78509         * MODULES.html.sh (Support for building libraries and executables):
78510         Add configmake.
78511         * modules/configmake: New file.
78512
78513 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78514
78515         * m4/config-h.m4: New file.
78516
78517 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         * config/srclist.txt: Add elisp-comp.
78520
78521 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78522
78523         * MODULES.html.sh (Support for building libraries and executables):
78524         Add elisp-comp.
78525         * build-aux/elisp-comp: New file.
78526         * modules/elisp-comp: New file.
78527
78528 2006-08-24  Bruno Haible  <bruno@clisp.org>
78529
78530         * gnulib-tool (func_create_testdir): Use non-default values of
78531         sourcebase and m4base.
78532
78533 2006-08-24  Bruno Haible  <bruno@clisp.org>
78534
78535         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78536         HTML structure.
78537
78538 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78539
78540         * modules/openat (Depends-on): Add lchown.
78541
78542 2006-08-23  Bruno Haible  <bruno@clisp.org>
78543
78544         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78545         of gl_LOCK_EARLY instead of gl_LOCK.
78546
78547 2006-08-23  Bruno Haible  <bruno@clisp.org>
78548
78549         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78550         on OSF/1 to no.
78551         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78552
78553 2006-08-23  Bruno Haible  <bruno@clisp.org>
78554
78555         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78556         as unusable.
78557
78558         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78559         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78560         (gl_LOCK): New macro.
78561
78562 2006-08-22  Simon Josefsson  <jas@extundo.com>
78563
78564         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78565         to md5 module.
78566
78567 2006-08-22  Simon Josefsson  <jas@extundo.com>
78568
78569         * MODULES.html.sh: Add "Support for maintaining and release
78570         projects".
78571
78572         * build-aux/gnupload: New file, from coreutils.
78573
78574 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         Avoid the need for AC_LIBSOURCES in m4 macros.
78577         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78578         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78579         * modules/check-version (EXTRA_DIST): Add check-version.h.
78580         * modules/crc (EXTRA_DIST): Add crc.h.
78581         * modules/des (EXTRA_DIST): Add des.h.
78582         * modules/gc (EXTRA_DIST): Add gc.h.
78583         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78584         * modules/getline (EXTRA_DIST): Add getline.h.
78585         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78586         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78587         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78588         * modules/md2 (EXTRA_DIST): Add md2.h.
78589         * modules/md4 (EXTRA_DIST): Add md4.h.
78590         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78591         * modules/read-file (EXTRA_DIST): Add read-file.h.
78592         * modules/readline (EXTRA_DIST): Add readline.h.
78593         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78594         rijndael-api-fst.h.
78595
78596 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78597
78598         * m4/rijndael.m4 (gl_ARCFOUR):
78599         * m4/arctwo.m4 (gl_ARCTWO):
78600         * m4/check-version.m4 (gl_CHECK_VERSION):
78601         * m4/crc.m4 (gl_CRC):
78602         * m4/des.m4 (gl_DES):
78603         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78604         * m4/gc.m4 (gl_GC):
78605         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78606         * m4/getline.m4 (gl_FUNC_GETLINE):
78607         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78608         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78609         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78610         * m4/md2.m4 (gl_MD2):
78611         * m4/md4.m4 (gl_MD4):
78612         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78613         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78614         * m4/readline.m4 (gl_FUNC_READLINE):
78615         * m4/rijndael.m4 (gl_RIJNDAEL):
78616         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78617         to get the necessary .h files and whatnot.
78618
78619 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78620
78621         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78622         gnulib rather than the other way around.
78623         * config/srclistvars.sh (COREUTILS): Remove.
78624
78625 2006-08-22  Jim Meyering  <jim@meyering.net>
78626
78627         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78628
78629         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78630
78631 2006-08-22  Eric Blake  <ebb9@byu.net>
78632
78633         * modules/regexprops-generic: New file.
78634         * MODULES.html.sh (Support for building documentation): List it.
78635
78636 2006-08-22  Eric Blake  <ebb9@byu.net>
78637
78638         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78639         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78640         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78641         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78642
78643 2006-08-22  Bruno Haible  <bruno@clisp.org>
78644
78645         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78646         and lib_LTLIBRARIES like the other lib_* variables.
78647
78648 2006-08-22  Bruno Haible  <bruno@clisp.org>
78649
78650         * build-aux/x-to-1.in: New file, from GNU gettext.
78651
78652 2006-08-22  Bruno Haible  <bruno@clisp.org>
78653
78654         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78655         <utmpx.h> exists.
78656
78657 2006-08-22  Bruno Haible  <bruno@clisp.org>
78658
78659         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78660         <utmpx.h> exists.
78661
78662 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78663
78664         BeOS portability.
78665         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78666         exist.
78667         Problem reported by Bruno Haible.
78668
78669 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78670
78671         Avoid the need for AC_LIBSOURCES in m4 macros.
78672         * modules/acl (EXTRA_DIST): Add acl.h.
78673         * modules/argmatch (Files): Add m4/argmatch.m4.
78674         (configure.ac): Add gl_ARGMATCH.
78675         (EXTRA_DIST): Renamed from lib_SOURCES, for
78676         consistency with the other modules.  Remove argmatch.c.
78677         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78678         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78679         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78680         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78681         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78682         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78683         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78684         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78685         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78686         * modules/closeout (EXTRA_DIST): Add closeout.h.
78687         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78688         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78689         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78690         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78691         dirname.h; remove basename.c and stripslash.c.
78692         * modules/exclude (EXTRA_DIST): Add exclude.h.
78693         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78694         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78695         * modules/file-type (EXTRA_DIST): Add file-type.h.
78696         * modules/filemode (EXTRA_DIST): Add filemode.h.
78697         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78698         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78699         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78700         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78701         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78702         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78703         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78704         * modules/getdate (EXTRA_DIST): Add getdate.c.
78705         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78706         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78707         * modules/getpass (EXTRA_DIST): Add getpass.h.
78708         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78709         * modules/group-member (EXTRA_DIST): Add group-member.h.
78710         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78711         * modules/hash (EXTRA_DIST): Add hash.h.
78712         * modules/human (EXTRA_DIST): Add human.h.
78713         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78714         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78715         * modules/lchown (EXTRA_DIST): Add lchown.h.
78716         * modules/long-options (EXTRA_DIST): Add long-options.h.
78717         * modules/lstat (EXTRA_DIST): Add lstat.h.
78718         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78719         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78720         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78721         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78722         * modules/memxor (EXTRA_DIST): Add memxor.h.
78723         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78724         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78725         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78726         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78727         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78728         * modules/physmem (EXTRA_DIST): Add physmem.h.
78729         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78730         * modules/posixver (EXTRA_DIST): Add posixver.h.
78731         * modules/quote (EXTRA_DIST): Add quote.h.
78732         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78733         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78734         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78735         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78736         regex_internal.h regexec.c.
78737         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78738         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78739         * modules/same (EXTRA_DIST): Add same.h.
78740         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78741         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78742         * modules/savedir (EXTRA_DIST): Add savedir.h.
78743         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78744         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78745         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78746         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78747         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78748         * modules/strdup (EXTRA_DIST): Add strdup.h.
78749         * modules/strftime (EXTRA_DIST): Add strftime.h.
78750         * modules/strndup (EXTRA_DIST): Add strndup.h.
78751         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78752         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78753         * modules/time_r (EXTRA_DIST): Add time_r.h.
78754         * modules/timespec (EXTRA_DIST): Add timespec.h.
78755         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78756         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78757         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78758         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78759         * modules/userspec (EXTRA_DIST): Add userspec.h.
78760         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78761         * modules/utimens (EXTRA_DIST): Add utimens.h.
78762         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78763         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78764         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78765         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
78766         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
78767         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
78768         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
78769         * modules/yesno (EXTRA_DIST): Add yesno.h.
78770
78771 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78772
78773         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
78774
78775         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
78776         * m4/dev-ino.m4, same-inode.m4: Remove.
78777
78778         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
78779         * m4/acl.m4 (AC_FUNC_ACL):
78780         * m4/backupfile.m4 (gl_BACKUPFILE):
78781         * m4/c-strtod.m4 (gl_C99_STRTOLD):
78782         * m4/canon-host.m4 (gl_CANON_HOST):
78783         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
78784         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
78785         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
78786         * m4/cloexec.m4 (gl_CLOEXEC):
78787         * m4/close-stream.m4 (gl_CLOSE_STREAM):
78788         * m4/closeout.m4 (gl_CLOSEOUT):
78789         * m4/dirfd.m4 (gl_FUNC_DIRFD):
78790         * m4/dirname.m4 (gl_DIRNAME):
78791         * m4/exclude.m4 (gl_EXCLUDE):
78792         * m4/exitfail.m4 (gl_EXITFAIL):
78793         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
78794         * m4/file-type.m4 (gl_FILE_TYPE):
78795         * m4/filemode.m4 (gl_FILEMODE):
78796         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
78797         * m4/fpending.m4 (gl_FUNC_FPENDING):
78798         * m4/fprintftime.m4 (gl_FPRINTFTIME):
78799         * m4/fts.m4 (gl_FUNC_FTS):
78800         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
78801         * m4/getdate.m4 (gl_GETDATE):
78802         * m4/gethrxtime.m4 (gl_GETHRXTIME):
78803         * m4/getpagesize.m4 (gl_GETPAGESIZE):
78804         * m4/getpass.m4 (gl_FUNC_GETPASS):
78805         * m4/gettime.m4 (gl_GETTIME):
78806         * m4/getugroups.m4 (gl_GETUGROUPS):
78807         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
78808         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
78809         * m4/hard-locale.m4 (gl_HARD_LOCALE):
78810         * m4/hash.m4 (gl_HASH):
78811         * m4/idcache.m4 (gl_IDCACHE):
78812         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
78813         * m4/lchown.m4 (gl_FUNC_LCHOWN):
78814         * m4/long-options.m4 (gl_LONG_OPTIONS):
78815         * m4/lstat.m4 (gl_FUNC_LSTAT):
78816         * m4/md5.m4 (gl_MD5):
78817         * m4/memcasecmp.m4 (gl_MEMCASECMP):
78818         * m4/memcoll.m4 (gl_MEMCOLL):
78819         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
78820         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
78821         * m4/memxor.m4 (gl_MEMXOR):
78822         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
78823         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
78824         * m4/modechange.m4 (gl_MODECHANGE):
78825         * m4/mountlist.m4 (gl_MOUNTLIST):
78826         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
78827         * m4/openat.m4 (gl_FUNC_OPENAT):
78828         * m4/pathmax.m4 (gl_PATHMAX):
78829         * m4/physmem.m4 (gl_PHYSMEM):
78830         * m4/posixtm.m4 (gl_POSIXTM):
78831         * m4/posixver.m4 (gl_POSIXVER):
78832         * m4/quote.m4 (gl_QUOTE):
78833         * m4/quotearg.m4 (gl_QUOTEARG):
78834         * m4/readtokens.m4 (gl_READTOKENS):
78835         * m4/readutmp.m4 (gl_READUTMP):
78836         * m4/regex.m4 (gl_REGEX):
78837         * m4/safe-read.m4 (gl_SAFE_READ):
78838         * m4/safe-write.m4 (gl_SAFE_WRITE):
78839         * m4/same.m4 (gl_SAME):
78840         * m4/save-cwd.m4 (gl_SAVE_CWD):
78841         * m4/savedir.m4 (gl_SAVEDIR):
78842         * m4/settime.m4 (gl_SETTIME):
78843         * m4/sha1.m4 (gl_SHA1):
78844         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
78845         * m4/stat-macros.m4 (gl_STAT_MACROS):
78846         * m4/stat-time.m4 (gl_STAT_TIME):
78847         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
78848         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
78849         * m4/strdup.m4 (gl_FUNC_STRDUP):
78850         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
78851         * m4/strndup.m4 (gl_FUNC_STRNDUP):
78852         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
78853         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
78854         * m4/time_r.m4 (gl_TIME_R):
78855         * m4/timespec.m4 (gl_TIMESPEC):
78856         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
78857         * m4/unlinkdir.m4 (gl_UNLINKDIR):
78858         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
78859         * m4/userspec.m4 (gl_USERSPEC):
78860         * m4/utimecmp.m4 (gl_UTIMECMP):
78861         * m4/utimens.m4 (gl_UTIMENS):
78862         * m4/xalloc.m4 (gl_XALLOC):
78863         * m4/xgetcwd.m4 (gl_XGETCWD):
78864         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
78865         * m4/xreadlink.m4 (gl_XREADLINK):
78866         * m4/xstrtod.m4 (gl_XSTRTOD):
78867         * m4/yesno.m4 (gl_YESNO):
78868         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78869         to get the necessary .h files and whatnot.
78870
78871 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
78872             Bruno Haible  <bruno@clisp.org>
78873
78874         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
78875         /bin/sh understanding of '!' conditional negation.
78876
78877 2006-08-21  Jim Meyering  <jim@meyering.net>
78878
78879         * modules/openat (Depends-on): Really alphabetize.
78880
78881         * modules/acl (Depends-on): Add error and quote.
78882
78883         * check-module (find_included_lib_files): Add at-func.c to the
78884         ok-to-include-more-than-once white list.
78885
78886         * modules/openat (Depends-on): Add lstat.  Alphabetize.
78887
78888 2006-08-21  Bruno Haible  <bruno@clisp.org>
78889
78890         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78891         Emit a pkgdata_DATA variable only if some snippets add contents to it.
78892         Reported by Martin Lambers <marlam@marlam.de>.
78893
78894 2006-08-21  Bruno Haible  <bruno@clisp.org>
78895
78896         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
78897         specify an installation location, don't emit a noinst_LIBRARIES or
78898         noinst_LTLIBRARIES assignment.
78899
78900 2006-08-21  Bruno Haible  <bruno@clisp.org>
78901
78902         BeOS portability.
78903         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
78904         BeOS has mbrtowc() but no <wctype.h>.
78905
78906 2006-08-21  Bruno Haible  <bruno@clisp.org>
78907
78908         BeOS portability.
78909         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
78910         exist.
78911
78912 2006-08-21  Bruno Haible  <bruno@clisp.org>
78913
78914         BeOS portability.
78915         * lib/mbchar.h: Include <wctype.h> only if it exists.
78916
78917 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78918
78919         Remove files that are no longer needed by their respective modules.
78920         * m4/obstack.m4: Remove.
78921         * m4/strerror_r.m4: Remove.
78922         * m4/uint32_t.m4: Remove.
78923         * m4/uintptr_t.m4: Remove.
78924         * m4/ullong_max.m4: Remove.
78925         * m4/xstrtoimax.m4: Remove.
78926         * m4/xstrtoumax.m4: Remove.
78927
78928         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
78929         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
78930         dependencies now capture this.
78931
78932         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78933         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78934         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78935         * m4/human.m4 (gl_HUMAN): Likewise.
78936         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78937         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78938
78939         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78940
78941         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
78942         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
78943         stdint.
78944         * m4/human.m4 (gl_HUMAN): Likewise.
78945         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
78946         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
78947         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78948         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78949         * m4/xstrtol (gl_XSTRTOL): Likewise.
78950
78951         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
78952         AC_TYPE_LONG_LONG_INT.
78953         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78954         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
78955         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
78956         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78957
78958         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
78959         on stdbool.
78960
78961         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
78962         (gl_PREREQ_XSTRTOUL): Remove.
78963
78964         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
78965
78966         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
78967         mode.
78968
78969 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78970
78971         Add and change modules to make it easier for coreutils to use
78972         gnulib-tool.
78973         * modules/backupfile (Files): Remove m4/d-ino.m4.
78974         (Depends-on): Add d-ino.
78975         * modules/cycle-check (Depends-on): Add stdint.
78976         (lib_SOURCES): Add cycle-check.h.
78977         * modules/d-ino: New module.
78978         * modules/d-type: New module.
78979         * modules/error (Files): Remove m4/strerror_r.m4.
78980         * modules/filemode (Files): Add m4/st_dm_mode.m4.
78981         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78982         m4/inttypes_h.m4, m4/uintmax_t.m4.
78983         (Depends-on): Add stdint.
78984         (lib_SOURCES): Add fsusage.h.
78985         * modules/getcwd (Files): Remove d-ino.m4.
78986         (Depends-on): Add d-ino.
78987         * modules/getndelim2 (Depends-on): Add stdint.
78988         * modules/glob (Files): Remove m4/d-type.m4.
78989         (Depends-on): Add d-type.
78990         * modules/host-os: New module.
78991         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
78992         m4/inttypes_h.m4, m4/uintmax_t.m4.
78993         * Depends-on: Add stdint.
78994         (lib_SOURCES): Add human.h.
78995         * modules/inttostr (Files): Remove m4/intmax_t.m4,
78996         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
78997         m4/uintmax_t.m4, m4/ulonglong.m4.
78998         (Depends-on): Add stdint.
78999         (EXTRA_DIST): Add inttostr.h.
79000         * modules/lchmod: New module.
79001         * modules/link-follow: New module.
79002         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79003         (Depends-on): Add lchmod.
79004         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79005         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79006         (Depends-on): Add stdint.
79007         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79008         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79009         (Depends-on): Add stdint.
79010         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79011         * modules/perl: New module.
79012         * modules/regex (Depends-on): Add stdint.
79013         * modules/rmdir-errno: New module.
79014         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79015         m4/intmax_t.m4.
79016         (Depends-on): Add stdint.
79017         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79018         m4/uintmax_t.m4.
79019         (Depends-on): Add stdint.
79020         * modules/unlink-busy: New module.
79021         * modules/utimecmp (Depends-on): Add stdint.
79022         * modules/uptime: New module.
79023         * modules/winsz-ioctl: New module.
79024         * modules/winsz-termios: New module.
79025         * modules/xnanosleep (Depends-on): Add nanosleep.
79026         * modules/ullong_max: Remove.
79027         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79028         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79029         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79030         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79031         (Depends-on): Add inttypes.
79032         (lib_SOURCES): Add xstrtol.h.
79033         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79034         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79035         * MODULES.html.sh: Move 'assert' into the assert section.
79036         Move 'dummy' into the linking section.
79037         Remove ullong_max.
79038         Add section for compatibility checks for POSIX:2001 functions,
79039         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79040         winsz-ioctl, and winsz-termios into it.
79041         Add lchmod.
79042         Add top-level Misc section and put host-os, perl, and uptime
79043         into it.
79044
79045 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79046
79047         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79048         now assume the stdint module.  Do not include inttypes.h.
79049         * lib/fsusage.h: Likewise.
79050         * lib/getndelim2.c: Likewise.
79051         * lib/human.h: Likewise.
79052         * lib/inttostr.h: Likewise.
79053         * lib/obstack.c: Likewise.
79054         * lib/regex_internal.h: Likewise.
79055         * lib/tempname.c: Likewise.
79056         * lib/utimecmp.c: Likewise.
79057         * lib/xstrtol.h: Likewise.
79058
79059         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79060
79061         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79062         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79063         * lib/xtime.h: Likewise.
79064
79065 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79066
79067         * modules/openat (Files): Add lib/fchmodat.c.
79068         Fixes problem reported by Jay Youngman.
79069
79070 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79071
79072         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79073         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79074
79075 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79076             Bruno Haible  <bruno@clisp.org>
79077
79078         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79079         and is a script that invokes bison. Tighten the code. Add comments.
79080
79081 2006-08-18  Jim Meyering  <jim@meyering.net>
79082
79083         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79084         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79085         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79086         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79087
79088 2006-08-18  Bruno Haible  <bruno@clisp.org>
79089
79090         * modules/bison-i18n: New file.
79091         * MODULES.html.sh (Internationalization functions): Add it.
79092
79093 2006-08-18  Bruno Haible  <bruno@clisp.org>
79094
79095         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79096         sys/statvfs.h. When getmntinfo was found, check its declaration and
79097         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79098
79099 2006-08-18  Bruno Haible  <bruno@clisp.org>
79100
79101         * m4/bison-i18n.m4: New file, from bison.
79102
79103 2006-08-18  Bruno Haible  <bruno@clisp.org>
79104
79105         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79106         (ME_DUMMY): Treat "kernfs" as a dummy.
79107         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79108
79109 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79110
79111         Update from coreutils.
79112
79113         2006-08-15  Jim Meyering  <jim@meyering.net>
79114
79115         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79116
79117         2006-01-17  Jim Meyering  <jim@meyering.net>
79118
79119         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79120
79121         2006-01-11  Jim Meyering  <jim@meyering.net>
79122
79123         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79124         Check for the lchmod function.
79125
79126 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79127
79128         Update from coreutils.
79129
79130         * lib/__fpending.h: Add copyright notice.
79131         * lib/fprintftime.h: Likewise.
79132         * lib/savedir.c: Use (C) in copyright notice.
79133         * lib/savedir.h: Likewise.
79134
79135         2006-08-15  Jim Meyering  <jim@meyering.net>
79136
79137         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79138         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79139         in support of the EXPECTED_ERRNO macro.
79140         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79141         definitions.  Instead, define the appropriate symbols and include
79142         "at-func.c".
79143         * lib/mkdirat.c (mkdirat): Likewise.
79144         * lib/fchmodat.c (fchmodat): Likewise.
79145         (ENOSYS): Remove definition.
79146         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79147         it.  Don't include "unistd--.h" -- it wasn't ever used.
79148
79149         2006-01-17  Jim Meyering  <jim@meyering.net>
79150
79151         Rewrite fts.c not to change the current working directory,
79152         by using openat, fstatat, fdopendir, etc..
79153
79154         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79155         (HAVE_OPENAT_SUPPORT): Define.
79156         [_LIBC] (fchdir): Don't undef or define; no longer used.
79157         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79158         Now, this `function' always succeeds, and consumes its file descriptor
79159         parameter -- so callers must not close such FDs.  Update callers.
79160         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79161         (diropen): Add parameter, SP.  Adjust all callers.
79162         Implement using diropen_fd, rather than open.
79163         (fts_open): Initialize new member, fts_cwd_fd.
79164         Remove fts_rft-setting code.
79165         (fts_close): Close fts_cwd_fd, if necessary.
79166         (__opendir2): Define in terms of opendir or opendirat,
79167         depending on whether the FST_NOCHDIR flag is set.
79168         (fts_build): Since fts_safe_changedir consumes its FD, and since
79169         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79170         and close the dup'd file descriptor upon failure.
79171         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79172         (fts_safe_changedir): Tweak semantics to reflect that this function
79173         now calls cwd_advance_fd and hence consumes its FD argument.
79174         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79175         [struct FTS] (fts_rft): Remove now-unused member.
79176         [struct FTS] (fts_cycle.state): Improve comment.
79177
79178         * lib/openat.c (openat_needs_fchdir): New function.
79179         * lib/openat.h (openat_needs_fchdir): Declare it.
79180
79181 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79182
79183         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79184         Problem and fix reported by Pádraig Brady in
79185         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79186
79187 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79190
79191 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79192
79193         * lib/memcoll.c (memcoll): Optimize for the common case where the
79194         arguments are bytewise equal.
79195
79196 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79197
79198         * doc/regexprops-generic.texi: Add a copyright notice.
79199
79200 2006-08-15  Bruno Haible  <bruno@clisp.org>
79201
79202         * modules/tmpdir (License): Change to LGPL.
79203
79204 2006-08-15  Bruno Haible  <bruno@clisp.org>
79205
79206         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79207         module.
79208
79209 2006-08-14  Simon Josefsson  <jas@extundo.com>
79210
79211         * config/srclist.txt: Add gnupload.
79212
79213 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79214
79215         Change copyright notice from LGPL 2 to GPL 2, since that's the
79216         standard form used in the gnulib repository.
79217         * tests/test-lock.c: Likewise.
79218         * tests/test-stdint.c: Likewise.
79219         * tests/test-tls.c: Likewise.
79220
79221         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79222         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79223         Add copyright notice.
79224
79225         * check-module: Add copyright notice.  Output a copyright
79226         notice if "--version" is specified.
79227         * modules/COPYING: New file.
79228         * tests/test-getaddrinfo.c: Add copyright notice.
79229         * tests/test-verify.c: Likewise.
79230
79231 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79232
79233         Change copyright notice from LGPL 2 to GPL 2, since that's the
79234         standard form used in the gnulib repository.
79235         * lib/lock.c: LGPL -> GPL.
79236         * lib/lock.h: Likewise.
79237         * lib/strnlen1.c: Likewise.
79238         * lib/strnlen1.h: Likewise.
79239         * lib/tls.c: Likewise.
79240         * lib/tls.h: Likewise.
79241         * lib/tmpdir.c: Likewise.
79242
79243         * lib/TODO: Remove; this belongs only in coreutils.
79244
79245 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         Add copyright notices to long-enough files that lack them, since
79248         otherwise the files aren't clearly free.  Use the same notice that
79249         getdate.texi already uses.
79250         * doc/alloca-opt.texi: Add copyright notice.
79251         * doc/alloca.texi: Likewise.
79252         * doc/ctime.texi: Likewise.
79253         * doc/functions.texi: Likewise.
79254         * doc/gcd.texi: Likewise.
79255         * doc/gnulib-tool.texi: Likewise.
79256         * doc/inet_ntoa.texi: Likewise.
79257         * doc/visibility.texi: Likewise.
79258
79259         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79260         * doc/quote.texi: Add copyright notice.
79261
79262         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79263         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79264         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79265         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79266         is now obsolete, and give a pointer to the Sun list.
79267         Add copyright notice.
79268
79269 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79270
79271         * config/srclistvars.sh: Add copyright notice.
79272
79273 2006-08-14  Eric Blake  <ebb9@byu.net>
79274
79275         Import the following change from libc:
79276
79277         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79278
79279         Upstream bug 2997.
79280         * lib/misc/error.c: Add space between program name and message if file
79281         name is missing.
79282
79283 2006-08-12  Karl Berry  <karl@gnu.org>
79284
79285         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79286         remove, these originate in gnulib now.
79287
79288 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79289
79290         * doc/Makefile (standards.info standards.html standards.dvi):
79291         Also depend on make-stds.texi.
79292
79293 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79294
79295         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79296         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79297
79298         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79299         in wchar_t.  Problem reported by Eric Blake.
79300
79301         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79302         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79303         Also, help the compiler to keep LEN in a register.
79304
79305 2006-08-11  Eric Blake  <ebb9@byu.net>
79306
79307         * users.txt: Sort.  Add tar.
79308
79309 2006-08-11  Bruno Haible  <bruno@clisp.org>
79310
79311         * users.txt: New file.
79312
79313 2006-08-11  Bruno Haible  <bruno@clisp.org>
79314
79315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79316         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79317
79318 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79319
79320         * modules/snprintf (Depends-on): Remove minmax.
79321         (Maintainer): Add self and Bruno.
79322
79323 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79324
79325         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79326         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79327         (EOVERFLOW): Define if the system does not.
79328         Do not include "minmax.h"; it wasn't used.
79329         (snprintf): Don't assume size_t promotes to an unsigned type.
79330         Fix bug when generated string was too long for the buffer: the
79331         buffer's contents are supposed to be the initial prefix of the
79332         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79333         exceeds INT_MAX; do the check ourselves.
79334
79335         Import the following changes from libc:
79336
79337         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79338
79339         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79340         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79341         set wc to the byte which couldn't be converted.
79342         (re_string_reconstruct): Don't clear valid_raw_len before calling
79343         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79344         tip_context using re_string_context_at.
79345
79346         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79347
79348         * lib/posix/regex.h: g++ still cannot handled [restrict].
79349
79350         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79351
79352         * lib/posix/regex.h: Remove special handling for VMS.
79353
79354 2006-08-10  Jim Meyering  <jim@meyering.net>
79355
79356         * modules/same-inode: New module.
79357         * modules/dev-ino: New module.
79358         * modules/cycle-check: Depend on these modules, rather than simply
79359         including their .h files.
79360         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79361         required via m4/cycle-check.m4.
79362         * modules/same: Depend on new same-inode module, rather than
79363         including same-inode.h.
79364         * modules/chdir-safer: New file.
79365
79366         * modules/chown (Depends-on): Add stat-macros.
79367
79368 2006-08-10  Jim Meyering  <jim@meyering.net>
79369
79370         * m4/cycle-check.m4: New file.
79371         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79372         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79373
79374 2006-08-10  Eric Blake  <ebb9@byu.net>
79375
79376         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79377         in from original proposal.
79378
79379 2006-08-10  Eric Blake  <ebb9@byu.net>
79380         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79381
79382         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79383         namespace.
79384
79385 2006-08-10  Bruno Haible  <bruno@clisp.org>
79386
79387         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79388         as well.
79389
79390 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79391
79392         Sync from coreutils.
79393
79394         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79395
79396         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79397         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79398
79399 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79400
79401         * modules/restrict: Remove; no longer needed now that we assume
79402         Autoconf 2.59 or later.
79403         * MODULES.html.sh: Remove 'restrict'.
79404         * modules/argp (Depends-on): Remove 'restrict'.
79405         * modules/base64 (Depends-on): Likewise.
79406         * modules/gc (Depends-on): Likewise.
79407         * modules/getaddrinfo (Depends-on): Likewise.
79408         * modules/glob (Depends-on): Likewise.
79409         * modules/inet_ntop (Depends-on): Likewise.
79410         * modules/inet_pton (Depends-on): Likewise.
79411         * modules/memxor (Depends-on): Likewise.
79412         * modules/regex (Depends-on): Likewise.
79413         * modules/strtok_r (Depends-on): Likewise.
79414         * modules/time_r (Depends-on): Likewise.
79415
79416 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79417
79418         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79419         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79420         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79421         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79422         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79423         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79424         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79425         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79426
79427         Merge from coreutils.
79428         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79429         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79430         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79431         * m4/time_r.m4 (gl_TIME_R): Likewise.
79432
79433 2006-08-09  Karl Berry  <karl@gnu.org>
79434
79435         * config/srclist.txt: no more gettext-tools, per Bruno.
79436
79437 2006-08-08  Eric Blake  <ebb9@byu.net>
79438
79439         * modules/verror: New module.
79440         * MODULES.html.sh: Document it.
79441
79442 2006-08-08  Eric Blake  <ebb9@byu.net>
79443
79444         * lib/verror.h, lib/verror.c: New files.
79445
79446 2006-08-08  Eric Blake  <ebb9@byu.net>
79447
79448         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79449         verror_at_line output complies with GNU Coding Standards even when
79450         file is NULL.
79451
79452 2006-08-07  Bruno Haible  <bruno@clisp.org>
79453
79454         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79455         versions of AIX.
79456         Reported by Ralf Wildenhues.
79457
79458 2006-08-07  Bruno Haible  <bruno@clisp.org>
79459
79460         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79461         in an AC_DEFUN. Needed so that the autoconf snippets can use
79462         AC_REQUIRE.
79463
79464 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79465
79466         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79467         Initialize pkgdata_DATA.
79468         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79469         overriding it.
79470
79471 2006-08-06  Eric Blake  <ebb9@byu.net>
79472
79473         * lib/error.h: Fold in some upstream changes from glibc.
79474         * lib/error.c: Likewise.
79475
79476 2006-08-04  Bruno Haible  <bruno@clisp.org>
79477
79478         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79479         Make the mostlyclean-local rule depend on mostlyclean-generic.
79480         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79481
79482 2006-07-31  Bruno Haible  <bruno@clisp.org>
79483
79484         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79485         <stdlib.h>, <string.h>.
79486
79487 2006-07-30  Bruno Haible  <bruno@clisp.org>
79488
79489         * modules/readlink (License): Change to LGPL.
79490
79491 2006-07-30  Bruno Haible  <bruno@clisp.org>
79492
79493         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79494         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79495         set PKGDATADIR to point to it.
79496
79497 2006-07-30  Bruno Haible  <bruno@clisp.org>
79498
79499         * modules/csharpexec (configure.ac): Comment out macro invocation.
79500         * modules/javaexec (configure.ac): Likewise.
79501         * modules/javacomp-script (configure.ac): Likewise.
79502
79503         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79504
79505 2006-07-30  Bruno Haible  <bruno@clisp.org>
79506
79507         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79508         linked-list.
79509
79510 2006-07-30  Bruno Haible  <bruno@clisp.org>
79511
79512         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79513
79514 2006-07-30  Bruno Haible  <bruno@clisp.org>
79515
79516         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79517         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79518         get removed.
79519
79520 2006-07-29  Bruno Haible  <bruno@clisp.org>
79521
79522         Make it possible for gnulib-tool to work with locally modified or
79523         augmented gnulib repositories.
79524         * gnulib-tool (func_usage): Document --local-dir option.
79525         (local_gnulib_dir): New variable.
79526         Handle --local-dir option.
79527         (func_lookup_file): New function.
79528         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79529         (func_get_description, func_get_filelist, func_get_description,
79530         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79531         func_get_automake_snippet, func_get_include_directive,
79532         func_get_license, func_get_maintainer): Use func_lookup_file.
79533         (func_import, func_create_testdir): Use func_lookup_file.
79534
79535 2006-07-29  Bruno Haible  <bruno@clisp.org>
79536
79537         * modules/setenv (Depends-on): Add unistd.
79538
79539 2006-07-29  Bruno Haible  <bruno@clisp.org>
79540
79541         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79542
79543 2006-07-29  Bruno Haible  <bruno@clisp.org>
79544
79545         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79546
79547 2006-07-29  Bruno Haible  <bruno@clisp.org>
79548
79549         * gnulib-tool (import, update): If there is no Makefile.am, look at
79550         aclocal.m4, instead of bailing out.
79551
79552 2006-07-29  Bruno Haible  <bruno@clisp.org>
79553
79554         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79555         Categorize the options by when they are useful.
79556
79557 2006-07-29  Bruno Haible  <bruno@clisp.org>
79558
79559         * gnulib-tool (func_usage): Document option --no-libtool.
79560         Handle option --no-libtool.
79561         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79562         for changed semantics of $libtool variable.
79563         (func_import): Likewise. If libtool is not used, show this through
79564         an option --no-libtool.
79565         (func_create_testdir): Update.
79566
79567 2006-07-29  Bruno Haible  <bruno@clisp.org>
79568
79569         * gnulib-tool (func_import): Extend error message about missing
79570         --doc-base.
79571
79572 2006-07-29  Bruno Haible  <bruno@clisp.org>
79573
79574         * gnulib-tool (func_import): Don't create the $docbase directory if
79575         there is no file to store there.
79576
79577 2006-07-29  Bruno Haible  <bruno@clisp.org>
79578
79579         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79580         relevant, look for configure.ac there, not in the current directory.
79581         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79582
79583 2006-07-29  Bruno Haible  <bruno@clisp.org>
79584
79585         * gnulib-tool (SORT): New variable.
79586         (func_usage): Undocument --assume-autoconf option.
79587         Remove --assume-autoconf option handling.
79588         (autoconf_minversion): Determine from the contents of configure.ac.
79589         (func_import): Remove autoconf_minversion handling.
79590         Suggested by Eric Blake.
79591
79592 2006-07-29  Bruno Haible  <bruno@clisp.org>
79593
79594         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79595
79596 2006-07-29  Bruno Haible  <bruno@clisp.org>
79597
79598         * config/srclist.txt (*setenv.[ch]): Remove rules.
79599
79600 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79601
79602         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79603
79604 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79605
79606         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79607         arpa/inet.h.
79608
79609 2006-07-28  Simon Josefsson  <jas@extundo.com>
79610
79611         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79612         * modules/inet_pton (Depends-on): Likewise.
79613
79614 2006-07-28  Simon Josefsson  <jas@extundo.com>
79615
79616         * m4/netinet_in_h.m4: New file.
79617
79618 2006-07-28  Simon Josefsson  <jas@extundo.com>
79619
79620         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79621         #include's.
79622
79623 2006-07-28  Simon Josefsson  <jas@extundo.com>
79624
79625         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79626         #include's.
79627
79628 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79629
79630         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79631         setgid on directories only if they set these bits.
79632         * lib/modechange.h: Remove obsolete comment about masks.
79633
79634 2006-07-28  Eric Blake  <ebb9@byu.net>
79635
79636         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79637         macro expansion.
79638
79639 2006-07-28  Bruno Haible  <bruno@clisp.org>
79640
79641         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79642
79643 2006-07-28  Bruno Haible  <bruno@clisp.org>
79644
79645         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79646
79647 2006-07-28  Bruno Haible  <bruno@clisp.org>
79648
79649         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79650         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79651         Define fallbacks.
79652         Avoids link error on FreeBSD 4.x.
79653         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79654
79655         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79656         encoding.
79657         * lib/mbswidth.c (iswcntrl): Likewise.
79658
79659 2006-07-27  Bruno Haible  <bruno@clisp.org>
79660
79661         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79662         test.
79663
79664 2006-07-27  Bruno Haible  <bruno@clisp.org>
79665
79666         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79667         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79668         defined.
79669
79670 2006-07-26  Eric Blake  <ebb9@byu.net>
79671
79672         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79673
79674 2006-07-26  Eric Blake  <ebb9@byu.net>
79675
79676         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79677         like mingw that lack mkstemp.
79678         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79679         avoid compilation warning on mingw.
79680
79681 2006-07-26  Bruno Haible  <bruno@clisp.org>
79682
79683         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79684         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79685         INT_FAST*_MIN, INTPTR_MIN.
79686
79687 2006-07-25  Bruno Haible  <bruno@clisp.org>
79688
79689         * modules/version-etc (Depends-on): Add stdarg.
79690
79691 2006-07-25  Bruno Haible  <bruno@clisp.org>
79692
79693         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79694         complex commands.
79695
79696 2006-07-25  Bruno Haible  <bruno@clisp.org>
79697
79698         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79699         defined in <stdarg.h> or config.h.
79700
79701 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79702
79703         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79704         (gl_STDIO_SAFER): Remove.
79705
79706 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79707
79708         * MODULES.html.sh (File stream based Input/Output):
79709         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79710         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79711         * modules/fopen-safer, modules/tmpfile-safer: New files.
79712         * modules/stdio-safer: Remove.
79713
79714 2006-07-24  Bruno Haible  <bruno@clisp.org>
79715
79716         * modules/tmpdir: New file.
79717         * MODULES.html.sh (File system functions): Add it.
79718
79719 2006-07-24  Bruno Haible  <bruno@clisp.org>
79720
79721         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79722         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79723
79724 2006-07-24  Bruno Haible  <bruno@clisp.org>
79725
79726         * modules/clean-temp: New file.
79727
79728 2006-07-24  Bruno Haible  <bruno@clisp.org>
79729
79730         * m4/tmpdir.m4: New file, from GNU gettext.
79731
79732 2006-07-24  Bruno Haible  <bruno@clisp.org>
79733
79734         * lib/tmpdir.h: New file, from GNU gettext.
79735         * lib/tmpdir.c: New file, from GNU gettext.
79736
79737 2006-07-24  Bruno Haible  <bruno@clisp.org>
79738
79739         * lib/clean-temp.h: New file, from GNU gettext.
79740         * lib/clean-temp.c: New file, from GNU gettext.
79741
79742 2006-07-23  Eric Blake  <ebb9@byu.net>
79743
79744         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79745         (Depends-on): Add binary-io.
79746
79747 2006-07-23  Eric Blake  <ebb9@byu.net>
79748
79749         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79750
79751 2006-07-23  Eric Blake  <ebb9@byu.net>
79752
79753         * lib/tmpfile-safer.c: New file.
79754         * lib/stdio-safer.h (fopen_safer): Add prototype.
79755         * lib/stdio--.h (tmpfile): Make safer.
79756
79757 2006-07-23  Bruno Haible  <bruno@clisp.org>
79758
79759         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79760         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79761         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79762         gl_linked_remove_at): Use it.
79763
79764 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79765         and Simon Josefsson <jas@extundo.com>
79766
79767         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
79768
79769         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
79770
79771 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79772
79773         * modules/close-stream: New file.
79774         * modules/closeout (Description): Make it clear that it exits
79775         with a diagnostic on error.
79776         (Depends-on): Add close-stream.  Remove fpending, stdbool.
79777         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
79778
79779 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79780
79781         * m4/close-stream.m4: New file.
79782
79783 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79784
79785         * lib/close-stream.c, lib/close-stream.h: New files.
79786
79787 2006-07-22  Bruno Haible  <bruno@clisp.org>
79788
79789         Merge from GNU gettext 0.15.
79790
79791         2006-05-01  Bruno Haible  <bruno@clisp.org>
79792
79793                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
79794
79795         2006-07-22  Bruno Haible  <bruno@clisp.org>
79796
79797                 * modules/javaversion: New file.
79798                 * MODULES.html.sh (Java): Add javaversion.
79799
79800         2006-03-12  Bruno Haible  <bruno@clisp.org>
79801
79802                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
79803
79804         2005-12-04  Bruno Haible  <bruno@clisp.org>
79805
79806                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
79807                 (untested).
79808
79809         2006-06-21  Bruno Haible  <bruno@clisp.org>
79810
79811                 Avoid warnings from recent versions of mcs.
79812                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
79813                 -o, -L, -r any more. Use options documented since mcs-1.0
79814                 instead. Similarly for -g.
79815
79816         2005-12-04  Bruno Haible  <bruno@clisp.org>
79817
79818                 * build-aux/csharpcomp.sh.in: Suffix for resources is
79819                 .resources, not .resource.
79820
79821         2005-07-09  Bruno Haible  <bruno@clisp.org>
79822
79823                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
79824                 add a .dll suffix.
79825                 Reported by Mark Junker <mjscod@gmx.de>.
79826
79827         2006-07-22  Bruno Haible  <bruno@clisp.org>
79828
79829                 * modules/gettext: Upgrade to gettext-0.15.
79830                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
79831                 m4/visibility.m4.
79832                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
79833
79834 2006-07-22  Bruno Haible  <bruno@clisp.org>
79835
79836         Merge from GNU gettext 0.15.
79837
79838         2006-03-25  Bruno Haible  <bruno@clisp.org>
79839
79840                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
79841
79842         2006-07-21  Bruno Haible  <bruno@clisp.org>
79843
79844                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
79845                 "1.1".
79846
79847         2006-05-09  Bruno Haible  <bruno@clisp.org>
79848
79849                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
79850                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
79851                 for the conftestver execution.
79852
79853         2006-05-01  Bruno Haible  <bruno@clisp.org>
79854
79855                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
79856                 optional target-version argument. Verify that the compiler
79857                 groks source of the specified source-version, or add -source
79858                 option as necessary. Verify that the compiler produces
79859                 bytecode in the specified target-version, or add -target and
79860                 -source options as necessary. Make the result of the test
79861                 available as variable CONF_JAVAC. Also log error output in
79862                 config.log.
79863
79864         2006-03-11  Bruno Haible  <bruno@clisp.org>
79865
79866                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
79867
79868         2006-05-09  Bruno Haible  <bruno@clisp.org>
79869
79870                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
79871                 CLASSPATH_SEPARATOR to a semicolon.
79872
79873         2006-03-12  Bruno Haible  <bruno@clisp.org>
79874
79875                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
79876                 available as variable CONF_JAVA, for subsequent autoconf
79877                 tests. Also log error output in config.log.
79878
79879         2006-07-19  Bruno Haible  <bruno@clisp.org>
79880
79881                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
79882                 that getline works on glibc2 systems. Needed to avoid trouble
79883                 in relocatable.c.
79884                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
79885
79886         2005-12-04  Bruno Haible  <bruno@clisp.org>
79887
79888                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
79889                 launcher (untested).
79890
79891         2005-12-04  Bruno Haible  <bruno@clisp.org>
79892
79893                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
79894
79895         2006-07-22  Bruno Haible  <bruno@clisp.org>
79896
79897                 * gettext.m4: Update from GNU gettext-0.15.
79898                 * nls.m4: Likewise.
79899                 * po.m4: Likewise.
79900                 * inttypes-pri.m4: Likewise.
79901                 * inttypes-h.m4: Renamed from inttypes.m4.
79902                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
79903
79904 2006-07-22  Bruno Haible  <bruno@clisp.org>
79905
79906         Merge from GNU gettext 0.15.
79907
79908         2005-07-05  Bruno Haible  <bruno@clisp.org>
79909
79910                 * printf-args.c (printf_fetchargs): Work around broken
79911                 definition of wint_t on mingw.
79912
79913         2005-02-12  Bruno Haible  <bruno@clisp.org>
79914
79915                 * xallocsa.h: Add extern "C" for C++.
79916
79917         2006-05-17  Bruno Haible  <bruno@clisp.org>
79918
79919                 Cygwin portability.
79920                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
79921
79922         2006-04-30  Bruno Haible  <bruno@clisp.org>
79923
79924                 * progreloc.c: Include <mach-o/dyld.h> if available.
79925                 (find_executable): Use _NSGetExecutablePath when possible.
79926
79927         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
79928
79929                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
79930                 function.
79931
79932         2005-12-29  Bruno Haible  <bruno@clisp.org>
79933
79934                 * progreloc.c (set_program_name_and_installdir): Fix
79935                 compilation error.
79936
79937         2005-12-04  Bruno Haible  <bruno@clisp.org>
79938
79939                 Cygwin portability.
79940                 * progreloc.c: Include <windows.h> also on Cygwin.
79941                 (find_executable): Add support for Cygwin.
79942                 (set_program_name_and_installdir): Handle also platforms with
79943                 nonempty EXEEXT.
79944
79945         2006-07-11  Bruno Haible  <bruno@clisp.org>
79946
79947                 * javacomp.c: Fix a comment.
79948                 Reported by Jim Meyering.
79949
79950         2006-04-30  Bruno Haible  <bruno@clisp.org>
79951
79952                 * javacomp.h (compile_java_class): Add source_version,
79953                 target_version arguments.
79954                 * javacomp.c: Rewritten to choose only a compiler that
79955                 respects the specified source_version and target_version.
79956
79957         2006-06-27  Bruno Haible  <bruno@clisp.org>
79958
79959                 Assume correct S_ISDIR macro.
79960                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
79961
79962         2006-07-22  Bruno Haible  <bruno@clisp.org>
79963
79964                 * javaversion.h: New file, from GNU gettext.
79965                 * javaversion.c: New file, from GNU gettext.
79966                 * javaversion.java: New file, from GNU gettext.
79967                 * javaversion.class: New file, from GNU gettext.
79968
79969         2006-05-17  Bruno Haible  <bruno@clisp.org>
79970
79971                 Cygwin portability.
79972                 * javaexec.c (execute_java_class): Test for jview program
79973                 also on Cygwin.
79974
79975         2006-04-09  Bruno Haible  <bruno@clisp.org>
79976
79977                 * fatal-signal.c: Don't include string.h.
79978                 (at_fatal_signal): Use a copying loop instead of memcpy.
79979
79980         2005-12-04  Bruno Haible  <bruno@clisp.org>
79981
79982                 * csharpexec.c: Add support for 'clix' launcher (untested).
79983                 (execute_csharp_using_sscli): New function.
79984                 (execute_csharp_program): Call it.
79985
79986         2006-06-21  Bruno Haible  <bruno@clisp.org>
79987
79988                 Avoid warnings from recent versions of mcs.
79989                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
79990                 -o, -L, -r any more. Use options documented since mcs-1.0
79991                 instead. Similarly for -g.
79992
79993         2005-07-09  Bruno Haible  <bruno@clisp.org>
79994
79995                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
79996                 add a .dll suffix.
79997                 Reported by Mark Junker <mjscod@gmx.de>.
79998
79999         2006-06-17  Bruno Haible  <bruno@clisp.org>
80000
80001                 * config.charset: Update for NetBSD 3.0.
80002
80003         2006-05-17  Bruno Haible  <bruno@clisp.org>
80004
80005                 Cygwin portability.
80006                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80007
80008         2006-05-16  Bruno Haible  <bruno@clisp.org>
80009
80010                 * localcharset.c [CYGWIN]: Include <windows.h>.
80011                 (get_charset_aliases): For Cygwin, return the same CPxxx
80012                 aliases list as under WIN32.
80013                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80014                 the environment variables. Fall back to GetACP().
80015
80016         2006-04-05  Bruno Haible  <bruno@clisp.org>
80017
80018                 * config.charset: Update Juan Manuel Guerrero's address.
80019
80020         2005-02-12  Bruno Haible  <bruno@clisp.org>
80021
80022                 * allocsa.h: Add extern "C" for C++.
80023
80024         2005-02-10  Bruno Haible  <bruno@clisp.org>
80025
80026                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80027                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80028
80029         2006-07-22  Bruno Haible  <bruno@clisp.org>
80030
80031                 * gettext.h: Update to GNU gettext-0.15.
80032
80033 2006-07-22  Bruno Haible  <bruno@clisp.org>
80034
80035         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80036         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80037         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80038
80039 2006-07-21  Eric Blake  <ebb9@byu.net>
80040
80041         * modules/stdlib-safer: New file.
80042         * MODULES.html.sh (File stream based Input/Output): Add
80043         stdlib-safer.
80044
80045 2006-07-21  Eric Blake  <ebb9@byu.net>
80046
80047         * lib/stdlib-safer.h: New file from coreutils, required by
80048         stdlib--.h.
80049
80050 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80051
80052         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80053
80054 2006-07-20  Bruno Haible  <bruno@clisp.org>
80055
80056         * gnulib-tool: Recognize new option --assume-autoconf.
80057         (autoconf_minversion): New variable.
80058         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80059
80060 2006-07-20  Bruno Haible  <bruno@clisp.org>
80061
80062         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80063
80064 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80065
80066         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80067         Reindent and repaginate.
80068
80069 2006-07-19  Derek Price  <derek@ximbiot.com>
80070
80071         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80072         Correct grammar.
80073
80074 2006-07-17  Bruno Haible  <bruno@clisp.org>
80075
80076         * modules/list: New file.
80077         * modules/array-list: New file.
80078         * modules/carray-list, modules/carray-list-tests: New files.
80079         * modules/linked-list, modules/linked-list-tests: New files.
80080         * modules/avltree-list, modules/avltree-list-tests: New files.
80081         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80082         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80083         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80084         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80085         * modules/oset: New file.
80086         * modules/array-oset: New file.
80087         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80088         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80089         * tests/test-carray_list.c: New file.
80090         * tests/test-linked_list.c: New file.
80091         * tests/test-avltree_list.c: New file.
80092         * tests/test-rbtree_list.c: New file.
80093         * tests/test-linkedhash_list.c: New file.
80094         * tests/test-avltreehash_list.c: New file.
80095         * tests/test-rbtreehash_list.c: New file.
80096         * tests/test-avltree_oset.c: New file.
80097         * tests/test-rbtree_oset.c: New file.
80098         * MODULES.html.sh (Container data structures): New section.
80099
80100 2006-07-17  Bruno Haible  <bruno@clisp.org>
80101
80102         * m4/gl_list.m4: New file.
80103
80104 2006-07-17  Bruno Haible  <bruno@clisp.org>
80105
80106         * lib/gl_list.h: New file.
80107         * lib/gl_list.c: New file.
80108         * lib/gl_array_list.h: New file.
80109         * lib/gl_array_list.c: New file.
80110         * lib/gl_carray_list.h: New file.
80111         * lib/gl_carray_list.c: New file.
80112         * lib/gl_linked_list.h: New file.
80113         * lib/gl_linked_list.c: New file.
80114         * lib/gl_anylinked_list1.h: New file.
80115         * lib/gl_anylinked_list2.h: New file.
80116         * lib/gl_avltree_list.h: New file.
80117         * lib/gl_avltree_list.c: New file.
80118         * lib/gl_anyavltree_list1.h: New file.
80119         * lib/gl_anyavltree_list2.h: New file.
80120         * lib/gl_rbtree_list.h: New file.
80121         * lib/gl_rbtree_list.c: New file.
80122         * lib/gl_anyrbtree_list1.h: New file.
80123         * lib/gl_anyrbtree_list2.h: New file.
80124         * lib/gl_anytree_list1.h: New file.
80125         * lib/gl_anytree_list2.h: New file.
80126         * lib/gl_linkedhash_list.h: New file.
80127         * lib/gl_linkedhash_list.c: New file.
80128         * lib/gl_anyhash_list1.h: New file.
80129         * lib/gl_anyhash_list2.h: New file.
80130         * lib/gl_avltreehash_list.h: New file.
80131         * lib/gl_avltreehash_list.c: New file.
80132         * lib/gl_rbtreehash_list.h: New file.
80133         * lib/gl_rbtreehash_list.c: New file.
80134         * lib/gl_anytreehash_list1.h: New file.
80135         * lib/gl_anytreehash_list2.h: New file.
80136
80137         * lib/gl_oset.h: New file.
80138         * lib/gl_oset.c: New file.
80139         * lib/gl_array_oset.h: New file.
80140         * lib/gl_array_oset.c: New file.
80141         * lib/gl_avltree_oset.h: New file.
80142         * lib/gl_avltree_oset.c: New file.
80143         * lib/gl_rbtree_oset.h: New file.
80144         * lib/gl_rbtree_oset.c: New file.
80145         * lib/gl_anytree_oset.h: New file.
80146
80147 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80148
80149         * m4/mkancesdirs.m4: New file.
80150         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80151         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80152         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80153         it.
80154
80155 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80156
80157         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80158         * lib/mkancesdirs.h: New files.
80159         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80160         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80161         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80162         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80163         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80164         callers changed.  Revamp internals significantly, by not
80165         attempting to create directories that are temporarily more
80166         permissive than the final results.  Do not attempt to use
80167         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80168         This removes some race conditions, fixes some bugs, and simplifies
80169         things.  Use new dirchownmod function to do owner and mode changes.
80170         * lib/mkdir-p.h: Likewise.
80171         * lib/modechange.c (octal_to_mode): New function.
80172         (struct mode_change): New member mentioned.
80173         (make_node_op_equals): New arg mentioned.  All callers changed.
80174         (mode_compile): Keep track of which mode bits the user has explicitly
80175         mentioned.
80176         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80177         New arg PMODE_BITS, to keep track of which mode bits the user
80178         mentioned; it treats S_ISUID and S_ISGID speciall.
80179         All callers changed.
80180         * lib/modechange.h: Likewise.
80181
80182 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80183
80184         * MODULES.html.sh: Add mkancestors.
80185         * modules/mkancesdirs: New module.
80186         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80187         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80188         The chdir-safer and afs files are now orphans; I'll remove them
80189         unless someone speaks up.
80190         Add lib/dirchownmod.c, lib/dirchownmod.h.
80191         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80192         Add lchown, mkancesdirs.
80193         (Maintainer): Add self.
80194
80195 2006-07-15  Karl Berry  <karl@gnu.org>
80196
80197         * gnulib-tool: help message wording/arrangement.
80198
80199 2006-07-14  Simon Josefsson  <jas@extundo.com>
80200
80201         * doc/gnulib.texi (Libtool and Windows): New section.
80202
80203 2006-07-12  Simon Josefsson  <jas@extundo.com>
80204
80205         * modules/gendocs (License): Fix license, approved by Karl.
80206
80207 2006-07-12  Eric Blake  <ebb9@byu.net>
80208
80209         * MODULES.html.sh: Add gendocs.
80210
80211 2006-07-11  Eric Blake  <ebb9@byu.net>
80212
80213         * modules/fdl: New module, to install doc/fdl.texi.
80214         * MODULES.html.sh: Add new section for documentation modules.
80215         * gnulib-tool: Avoid space-tab.
80216         (--doc-base): New option, to manage files from doc.
80217
80218 2006-07-11  Eric Blake  <ebb9@byu.net>
80219
80220         * m4/absolute-header.m4: Fix comments to match recent change.
80221
80222 2006-07-11  Eric Blake  <ebb9@byu.net>
80223
80224         * gnulib-tool: List --doc-base before --tests-base.
80225
80226 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80227
80228         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80229
80230 2006-07-11  Bruno Haible  <bruno@clisp.org>
80231
80232         * README: Mention where to put documentation.
80233
80234 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80235
80236         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80237
80238 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80239
80240         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80241         to stdint.m4.
80242
80243 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80244
80245         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80246         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80247         "no/such/file/stdint.h" when there is no such file, so that
80248         the resulting C code can be parsed by dodgy compilers.
80249         Problems reported by Bob Proulx.
80250
80251 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80252
80253         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80254         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80255         macros into the GNU _D_EXACT_NAMLEN.
80256         * lib/savedir.c:  Likewise.
80257         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80258
80259 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80260         and Paul Eggert  <eggert@cs.ucla.edu>
80261
80262         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80263         * m4/savedir.m4:
80264         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80265         macros into the GNU _D_EXACT_NAMLEN.
80266
80267 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80268
80269         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80270         around the absolute name, to work around a problem with the HP-UX
80271         11.23 native C compiler, reported by Bob Proulx.
80272
80273 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80274
80275         * doc/maintain.texi, make-stds.texi: Sync from
80276         <http://savannah.gnu.org/projects/gnustandards>.
80277
80278 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80279
80280         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80281
80282 2006-07-09  Jim Meyering  <jim@meyering.net>
80283
80284         * m4/glob.m4: Remove a doubled word in a comment.
80285
80286 2006-07-09  Jim Meyering  <jim@meyering.net>
80287
80288         * lib/argp-pv.c: Remove a doubled word in a comment.
80289         * lib/check-version.c (check_version): Likewise.
80290         * lib/javacomp.c (compile_java_class): Likewise.
80291
80292 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80293
80294         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80295         for the benefit of people using Autoconf 2.60.  If you want to
80296         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80297         (or m4/onceonly.m4, if pre-2.57) manually.
80298
80299 2006-07-08  Jim Meyering  <jim@meyering.net>
80300
80301         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80302         comment.
80303         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80304         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80305         comment.
80306
80307 2006-07-08  Jim Meyering  <jim@meyering.net>
80308
80309         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80310
80311 2006-07-07  Simon Josefsson  <jas@extundo.com>
80312
80313         * tests/test-crc.c: Change expected crc value, the test vector
80314         were probably computed using the old broken crc.c?
80315
80316 2006-07-06  Simon Josefsson  <jas@extundo.com>
80317
80318         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80319         now the canonical place for the M4 file).
80320
80321         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80322         from the sys_socket dependency now.
80323
80324         * modules/inet_pton (Files): Ditto.
80325
80326         * modules/inet_ntop (Files): Ditto.
80327
80328 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80329
80330         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80331         not gl_PREREQ_GETUSERSHELL.
80332
80333 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80334
80335         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80336         with only one argument, for Autoconf 2.60.
80337         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80338         expand to nothing, so add a shell command to avoid syntax error.
80339         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80340
80341 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80342
80343         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80344
80345 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80346
80347         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80348         no longer needed.  Check for isblank decl.
80349         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80350         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80351         of existence.
80352
80353 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80354
80355         * lib/getloadavg.c: Use __VMS, not VMS.
80356         * lib/getopt.c: Likewise.
80357         * lib/getpagesize.h: Likewise.
80358         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80359         and probably does not work.
80360
80361 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         * lib/.cppi-disable: Add wcwidth.
80364         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80365         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80366         (ISGRAPH): Remove.  All uses changed to isgraph.
80367         (FOLD) [!defined _LIBC]: Remove special case.
80368         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80369         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80370         HAVE_ISBLANK.
80371         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80372         case.
80373
80374 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80375
80376         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80377         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80378         brackets.  Other minor changes to suppress some compiler
80379         warnings.
80380
80381 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80382         and Paul Eggert  <eggert@cs.ucla.edu>
80383
80384         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80385         of invoking obsolescent AC_HEADER_DIRENT macro.
80386         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80387         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80388         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80389         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80390         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80391         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80392         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80393         * m4/readdir.m4: Remove; no longer needed.
80394
80395 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80396         and Paul Eggert  <eggert@cs.ucla.edu>
80397
80398         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80399         Don't worry about this obsolete case any more.
80400         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80401         directories.
80402         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80403         worry about this obsolete case any more.
80404         * lib/fts.c: Likewise.
80405         * lib/getcwd.c: Likewise.
80406         * lib/glob.h: Likewise.
80407         * lib/savedir.c: Likewise.
80408
80409 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80410
80411         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80412         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80413         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80414         needed.
80415         All uses removed.
80416         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80417         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80418         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80419         needed.
80420         * m4/getdate.m4 (gl_GETDATE): Likewise.
80421         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80422         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80423         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80424         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80425         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80426         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80427         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80428         needed.
80429
80430 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80431
80432         * lib/memcasecmp.c: Include <limits.h>.
80433         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80434         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80435         Don't assume isdigit succeeds only on '0' through '9'.
80436
80437 2006-07-05  Eric Blake  <ebb9@byu.net>
80438
80439         * modules/getaddrinfo (Depends-on): Add snprintf.
80440
80441 2006-07-05  Eric Blake  <ebb9@byu.net>
80442
80443         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80444         to avoid 'header present but could not be compiled' on cygwin.
80445
80446 2006-07-05  Eric Blake  <ebb9@byu.net>
80447
80448         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80449         missing from netdb.h.
80450         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80451
80452 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80453
80454         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80455         no longer needed.
80456         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80457         * m4/getdate.m4 (gl_GETDATE): Likewise.
80458         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80459         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80460         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80461         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80462         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80463
80464 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80465
80466         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80467         All uses of is_space replaced by isspace.
80468         * lib/exit.h: Don't talk about STDC_HEADERS.
80469         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80470         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80471         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80472         replaced by isprint etc.
80473         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80474         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80475         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80476         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80477         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80478         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80479
80480 2006-07-05  Bruno Haible  <bruno@clisp.org>
80481
80482         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80483         the function exists, before testing against AIX.
80484         Reported by Martin Lambers <marlam@marlam.de>.
80485
80486 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80487
80488         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80489         From Mark D. Baushke.
80490
80491 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80492
80493         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80494         to the absolute name, not just one, to bypass Sun C 5.8's
80495         "warning: #include of /usr/include/... may be non-portable".
80496
80497 2006-07-04  Eric Blake  <ebb9@byu.net>
80498
80499         * modules/dirname-tests: New test module.
80500         * tests/test-dirname.c: New file, replacing dirname.c
80501         TEST_DIRNAME section that was recently deleted.
80502
80503 2006-07-04  Bruno Haible  <bruno@clisp.org>
80504
80505         Assume ANSI C header files and <ctype.h> functions.
80506         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80507         (mbsnwidth): Use isprint, iscntrl instead.
80508
80509 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80510
80511         Merge from coreutils.
80512         * MODULES.html.sh: Add xstrtold.
80513         * modules/xstrtold: New file.
80514         * modules/cycle-check (Files): Add lib/same-inode.h.
80515         * modules/dirname (Files): Add m4/double-slash-root.m4.
80516         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80517         * modules/mkdir-p (Files): Add lib/same-inode.h.
80518         * modules/same (Files): Add lib/same-inode.h.
80519
80520 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80521
80522         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80523         This is to keep the terminology clean; POSIX talks about
80524         "absolute pathnames", not "full pathnames", but the GNU
80525         Coding Standards say to use "path" for something else;
80526         so use "absolute" to keep both sides happy.
80527         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80528         Set gl_absolute_header, not gl_full_header_path.
80529         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80530         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80531         All uses changed.
80532
80533         Merge from coreutils.
80534
80535         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80536
80537         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80538         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80539         want to require the building of c-strtod.o.
80540         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80541         needs -lm directly.
80542         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80543
80544         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80545
80546         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80547         --as-needed option if available.  Problem reported by Albert Chin in
80548         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80549         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80550         cc merely issues a bunch of annoying warnings for --as-needed
80551         (this problem was reported by Bob Proulx).  Also, try linking with
80552         -lm to detect a bug in binutils 2.16 (this problem was reported
80553         by Ralf Wildenhues).
80554
80555         2006-06-18  Jim Meyering  <jim@meyering.net>
80556
80557         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80558         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80559         macro.
80560         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80561         also check for glibc-2.4's abort-inducing bug.
80562
80563         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80564         Low-probability clean-up should be to use rmdir to get rid of
80565         the just-created directory, not unlink.
80566
80567         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80568         configure fail, and request a bug report to inform us about it.
80569         Add a comment that, barring reports to the contrary, in 2007 we'll
80570         assume ftruncate is universally available.
80571
80572         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80573
80574         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80575
80576         2006-03-12  Jim Meyering  <jim@meyering.net>
80577
80578         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80579         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80580         * m4/same.m4 (gl_SAME): Likewise.
80581         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80582
80583         2006-03-11  Eric Blake  <ebb9@byu.net>
80584
80585         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80586         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80587         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80588         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80589
80590 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80591
80592         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80593         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80594         reported by Mark D. Baushke, one in
80595         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80596
80597         Merge from coreutils.
80598
80599         * lib/.cppi-disable: Add stdint_.h.
80600         * lib/.cvsignore: Add stdint.h.
80601
80602         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80603
80604         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80605         both double and long double versions.
80606         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80607         * lib/xstrtold.c: New file.
80608         * lib/xstrtod.h (xstrtold): New decl.
80609
80610         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80611
80612         * lib/filemode.c (setst): Remove.
80613         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80614         (arguably) clearer, and the generated code is a bit smaller on my
80615         Debian GNU/Linux stable x86 host.
80616
80617         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80618
80619         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80620         Assume that filemode.h includes sys/types.h and sys/stat.h.
80621         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80622         (ftypelet): Reorder to put common cases first, for efficiency.
80623         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80624         to do 'M'.
80625         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80626         of 10, for compatibility with FreeBSD.  All callers changed.
80627         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80628         types that can't be deduced solely from st_mode.  First arg is now a
80629         const pointer.
80630         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80631         (strmode): Renamed from mode_string.
80632         (filemodestring): New decl.
80633         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80634         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80635         needed.
80636         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80637
80638         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80639
80640         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80641         fsusage.h now does that.  Include fsusage.h first, to test interface.
80642         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80643         at most one method (the old code could have generated decls that
80644         didn't conform to C89, not that this was ever exercised).
80645         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80646
80647         2006-03-19  Jim Meyering  <jim@meyering.net>
80648
80649         Work even in a chroot where d_ino values for entries in "/"
80650         don't match the stat.st_ino values for the same names.
80651         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80652         number, iterate through all entries again, using lstat instead.
80653         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80654         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80655
80656         * lib/getcwd.c (__getcwd): Clarify a comment.
80657         Use memcpy in place of a call to strcpy.
80658
80659         2006-03-12  Jim Meyering  <jim@meyering.net>
80660
80661         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80662         matches that of the current directory (which we're about to chdir ".."
80663         out of), then save the dev-ino of the parent, instead.
80664
80665         * lib/same-inode.h (SAME_INODE): New file/macro.
80666         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80667         Include "same-inode.h", instead.
80668         * lib/same.c: Likewise.
80669         * lib/cycle-check.h: Include "same-inode.h".
80670         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80671         * lib/cycle-check.c (SAME_INODE): Remove definition.
80672         * lib/root-dev-ino.h: Include "same-inode.h".
80673
80674         2006-03-11  Eric Blake  <ebb9@byu.net>
80675
80676         * lib/same.c (same_name): s/base_name/last_component/
80677         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80678         * lib/filenamecat.c (file_name_concat): Likewise.
80679
80680         2006-03-11  Eric Blake  <ebb9@byu.net>,
80681                     Paul Eggert  <eggert@cs.ucla.edu>
80682
80683         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80684         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80685         drive prefix.
80686         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80687         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80688         (last_component): New method.
80689         * lib/dirname.c (dir_len): Determine when drive letters need a
80690         subsequent slash.  Preserve // when it is special.
80691         (dir_name): Don't append dot when drive letter is absolute.
80692         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80693         * lib/basename.c (base_name): New semantics - malloc the result.
80694         Preserve // when it is special.  Preserve relative files that look
80695         like drive letters.
80696         (base_len): Preserve // when it is special.
80697         (last_component): New method, similar to old base_name semantics.
80698         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80699         base_name.  Strip redundant slashes from ///.
80700
80701 2006-07-03  Jim Meyering  <jim@meyering.net>
80702
80703         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80704         macro is used before the first cycle_check call.
80705
80706 2006-07-03  Eric Blake  <ebb9@byu.net>
80707
80708         * modules/dirname (Depends-on): Add xstrndup.
80709
80710 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80713         test cases, so that config.log is a bit easier to follow.
80714
80715 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80716
80717         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80718         both are 64 bits, since this seems to be the tradition, and this
80719         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80720         we ever run into a host that prefers long long to long in this
80721         case, we'll need another configure-time test.  Problem reported by
80722         Jim Meyering.
80723
80724 2006-07-02  Eric Blake  <ebb9@byu.net>
80725
80726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80727
80728 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80729
80730         * modules/inttypes (Depends-on): No longer depends on stdint.
80731         * modules/stdint (Description): Say more about assumptions.
80732         Say that the fast types might differ.  Say macros are used.
80733         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80734         (Makefile.am): Revise list of substituted symbols to match
80735         new stdint.m4.
80736         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80737         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80738         * tests/test-stdint.c (verify_same_types)
80739         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80740         the code conforms to C99/C89.
80741         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80742         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80743
80744 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80745
80746         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80747         but fix a bug, by requiring at least 64 bits.
80748         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80749         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80750         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80751         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80752
80753         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80754         changes.  Make 2.59 a prerequisite.  Check and substitute for
80755         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80756         inttypes.h.  Do not use special include files; just use the
80757         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80758         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80759         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80760         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80761         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80762         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80763         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80764         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80765         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
80766         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
80767         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
80768         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
80769         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
80770         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
80771         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
80772         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
80773         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
80774         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
80775         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
80776         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
80777         WINT_MAX.  Check for C99 conformance more strictly, by detecting
80778         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
80779         not check for things that C99 does not require, e.g., int8_t.  If
80780         a test isn't needed unless <stdint.h> isn't working, and is
80781         unlikely to be needed for any other reason, then don't do it
80782         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
80783         size_t, since we assume C89 freestanding at least.  Do not check
80784         for sig_atomic_t, wchar_t, or wint_t, since the code now does
80785         the right thing even if the types are not defined.  Instead use:
80786         (gl_STDINT_TYPE_PROPERTIES): New macro.
80787         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
80788         testing whether <sys/types.h> clashes, as Autoconf does this for
80789         us now.  All uses removed.
80790         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
80791         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
80792         (gl_CHECK_TYPE_SAME):
80793         Remove; no longer needed.
80794         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
80795         exists, since we'll return 0 anyway in that case.
80796         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
80797
80798 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80799
80800         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
80801         possible collision with system files.
80802         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
80803         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
80804         WCHAR_MIN and WCHAR_MAX in this case.
80805         (<stddef.h>): Do not include; no longer needed.
80806         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
80807         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
80808         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
80809         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
80810         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
80811         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
80812         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
80813         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
80814         !defined(__c99))]: Include in this case too, since it's harmless
80815         now.
80816         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
80817         dangerous to do so.
80818         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
80819         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
80820         (_STDINT_MIN, _STDINT_MAX): New macros.
80821         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
80822         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
80823         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
80824         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
80825         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
80826         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
80827         macros, not typedefs; this simplifies things quite a bit.
80828         Use long int for all types narrower than int64_t.
80829         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
80830         Define in terms of long long int or int64_t or long int,
80831         not int64_t or int32_t.  This saves some compile-time testing.
80832         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
80833         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
80834         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
80835         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
80836         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
80837         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
80838         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
80839         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
80840         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
80841         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
80842         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80843         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80844         undef any previous version and define our own version, for
80845         simplicity and consistency with the new macros for types.
80846         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80847         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80848         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
80849         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
80850         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
80851         @WINT_T_SUFFIX@ to keep things simple here.
80852         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
80853         Simplify by assuming typical 8/16/32/64 host, since we're
80854         already doing that elsewhere anyway.
80855         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
80856         and assume long long int is 64 bits if available.  This
80857         speeds up 'configure'.
80858
80859 2006-07-01  Eric Blake  <ebb9@byu.net>
80860
80861         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
80862         Reported by Andreas Buening.
80863
80864 2006-07-01  Eric Blake  <ebb9@byu.net>
80865
80866         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
80867
80868 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80869
80870         * lib/getaddrinfo.c: fixed typo
80871
80872 2006-06-29  Jim Meyering  <jim@meyering.net>
80873
80874         * modules/strftime (Maintainer): Add my name, since with the
80875         FPRINTFTIME changes strftime.c has forked from glibc.
80876
80877 2006-06-29  Eric Blake  <ebb9@byu.net>
80878
80879         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
80880
80881 2006-06-29  Eric Blake  <ebb9@byu.net>
80882
80883         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
80884
80885 2006-06-29  Eric Blake  <ebb9@byu.net>
80886
80887         * lib/stat_.h: New file.
80888
80889 2006-06-29  Eric Blake  <ebb9@byu.net>
80890
80891         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
80892         unused static function.
80893
80894 2006-06-29  Eric Blake  <ebb9@byu.net>
80895
80896         * doc/functions.texi (Function Portability): Document missing lstat
80897         on mingw.
80898
80899 2006-06-29  Eric Blake  <ebb9@byu.net>
80900
80901         * MODULES.html.sh: Add sys_stat.
80902         * modules/sys_stat: New module.
80903         * modules/mkstemp (Depends-on): Add sys_stat.
80904
80905 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80906
80907         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
80908
80909 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80910
80911         * m4/c-bs-a.m4: Removed.
80912
80913 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80914
80915         * lib/strftime.c: Assume strftime() exists.
80916
80917 2006-06-29  Derek Price  <derek@ximbiot.com>
80918
80919         * modules/c-bs-a: Removed - \a is C89.
80920         * MODULES.html.sh: Remove c-bs-a.
80921
80922 2006-06-29  Bruno Haible  <bruno@clisp.org>
80923
80924         * modules/wcwidth (License): Change to LGPL.
80925
80926 2006-06-28  Simon Josefsson  <jas@extundo.com>
80927
80928         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
80929         on _WIN32.
80930
80931         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80932         getnameinfo.
80933
80934 2006-06-28  Simon Josefsson  <jas@extundo.com>
80935
80936         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80937
80938 2006-06-28  Simon Josefsson  <jas@extundo.com>
80939
80940         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
80941         functions there.  It will succeed on Windows XP, but on Windows
80942         2000 and (presumably) earlier, it will fail, and use the internal
80943         re-implementation.
80944         (use_win32_p): New function.
80945         (getaddrinfo): Use strtoul on servname, to support numeric ports.
80946         Support AI_NUMERICSERV to disable getservbyname.
80947         (getnameinfo): New function, only supports
80948         NI_NUMERICHOST|NI_NUMERICSERV for now.
80949
80950         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
80951         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
80952         getnameinfo.
80953
80954 2006-06-28  Eric Blake  <ebb9@byu.net>
80955
80956         * modules/wcwidth: New file.
80957         * modules/mbchar (Depends-on): Add wcwidth.
80958         * modules/mbswidth (Depends-on): Add wcwidth.
80959         * MODULES.html.sh: Add wcwidth.
80960
80961 2006-06-28  Eric Blake  <ebb9@byu.net>
80962
80963         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
80964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
80965
80966 2006-06-28  Eric Blake  <ebb9@byu.net>
80967
80968         * lib/xvasprintf.h: Fix comments.
80969
80970 2006-06-28  Eric Blake  <ebb9@byu.net>
80971
80972         * lib/mbchar.h (wcwidth): Include wcwidth.h.
80973         * lib/mbswidth.c (wcwidth): Move from here...
80974         * lib/wcwidth.h: ...to this new file.
80975
80976 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80977
80978         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
80979
80980         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
80981         it's obsolete.
80982         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
80983
80984 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80985
80986         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
80987         Autoconf 2.60 says this stuff was obsolete.
80988
80989 2006-06-28  Bruno Haible  <bruno@clisp.org>
80990
80991         * modules/wcwidth (Files): Add m4/wchar_t.m4.
80992
80993 2006-06-28  Bruno Haible  <bruno@clisp.org>
80994
80995         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
80996         gt_TYPE_WCHAR_T.
80997
80998 2006-06-28  Bruno Haible  <bruno@clisp.org>
80999
81000         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81001         declaration for wcwidth.
81002         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81003
81004 2006-06-28  Bruno Haible  <bruno@clisp.org>
81005
81006         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81007         (mkdir): Define using _mkdir.
81008
81009 2006-06-28  Bruno Haible  <bruno@clisp.org>
81010
81011         * lib/getaddrinfo.h: Fix POSIX URL.
81012         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81013         _WIN32.
81014         (use_win32_p): Make static.
81015         (getaddrinfo): Reject service name if it is empty or does not consist
81016         solely of decimal digits, or if its value is > 65535.
81017         (getnameinfo): Remove useless casts.
81018
81019 2006-06-27  Simon Josefsson  <jas@extundo.com>
81020
81021         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81022         Eggert and Martin Lambers.
81023
81024 2006-06-27  Simon Josefsson  <jas@extundo.com>
81025
81026         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81027         Eggert and Martin Lambers.
81028
81029 2006-06-27  Bruno Haible  <bruno@clisp.org>
81030
81031         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81032         result to 0, not to empty.
81033         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81034
81035 2006-06-27  Bruno Haible  <bruno@clisp.org>
81036
81037         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81038
81039 2006-06-26  Simon Josefsson  <jas@extundo.com>
81040
81041         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81042         present.
81043
81044 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81045
81046         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81047         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81048         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81049
81050 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81051
81052         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81053
81054 2006-06-26  Bruno Haible  <bruno@clisp.org>
81055
81056         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81057
81058 2006-06-26  Bruno Haible  <bruno@clisp.org>
81059
81060         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81061
81062 2006-06-26  Bruno Haible  <bruno@clisp.org>
81063
81064         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81065         SGI C compiler in pre-C99 mode.
81066         Suggested by Mark D. Baushke and Larry Jones.
81067
81068 2006-06-26  Bruno Haible  <bruno@clisp.org>
81069
81070         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81071         WCHAR_MAX.
81072         Reported by Mark D. Baushke and Larry Jones.
81073
81074 2006-06-26  Bruno Haible  <bruno@clisp.org>
81075
81076         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81077         in pre-C99 mode.
81078         Suggested by Mark D. Baushke and Larry Jones.
81079
81080 2006-06-23  Simon Josefsson  <jas@extundo.com>
81081             Bruno Haible  <bruno@clisp.org>
81082
81083         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81084         Emit mostlyclean-local rule.
81085         (func_emit_tests_Makefile_am): Likewise.
81086         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81087
81088 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81089
81090         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81091
81092 2006-06-23  Bruno Haible  <bruno@clisp.org>
81093
81094         * tests/test-stdint.c: Update to match ISO C 99 Technical
81095         Corrigendum 1.
81096
81097 2006-06-23  Bruno Haible  <bruno@clisp.org>
81098
81099         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81100
81101 2006-06-23  Bruno Haible  <bruno@clisp.org>
81102
81103         * lib/stdint_.h: Treat IRIX like OpenBSD.
81104
81105 2006-06-23  Bruno Haible  <bruno@clisp.org>
81106
81107         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81108         ISO C 99 Technical Corrigendum 1.
81109
81110 2006-06-22  Simon Josefsson  <jas@extundo.com>
81111
81112         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81113         MinGW.
81114
81115 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81116
81117         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81118         needed.  Some compiler complained about some of them.  Problem reported
81119         by Larry Jones in
81120         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81121
81122 2006-06-21  Simon Josefsson  <jas@extundo.com>
81123
81124         * tests/test-getaddrinfo.c: New file.
81125
81126         * modules/getaddrinfo-tests: New file.
81127
81128         * MODULES.html.sh: Add inet_pton.
81129
81130         * modules/inet_pton: New file.
81131
81132 2006-06-21  Simon Josefsson  <jas@extundo.com>
81133
81134         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81135         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81136         of using the (limited) gnulib implementation on Windows XP.
81137
81138         * m4/inet_pton.m4: New file.
81139
81140 2006-06-21  Simon Josefsson  <jas@extundo.com>
81141
81142         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81143         variable.
81144
81145         * lib/socket_.h: Don't define WINVER.
81146
81147         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81148         slightly modified to work in gnulib.
81149
81150 2006-06-21  Simon Josefsson  <jas@extundo.com>
81151
81152         * doc/gnulib.texi (Windows sockets): Add.
81153
81154 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81155
81156         * lib/read-file.c (fread_file): Start with buffer allocation of
81157         0 bytes rather than 1 byte; this simplifies the code.
81158         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81159         code to free buffer and save/restore errno.
81160         (internal_read_file): Remove unused local.
81161
81162 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81163
81164         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81165         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81166         Problem reported by Denis Excoffier in
81167         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81168
81169 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81170
81171         * modules/sys_socket, modules/socklen: Include sys/types since
81172         FreeBSD 4.x's sys/socket.h needs it.
81173
81174 2006-06-19  Simon Josefsson  <jas@extundo.com>
81175
81176         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81177
81178 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81179
81180         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81181
81182 2006-06-19  Bruno Haible  <bruno@clisp.org>
81183
81184         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81185         and FULL_PATH_INTTYPES_H in angle brackets.
81186         Reported by Mark D. Baushke <mdb@gnu.org>.
81187
81188 2006-06-17  Eric Blake  <ebb9@byu.net>
81189
81190         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81191         errno.
81192
81193 2006-06-17  Bruno Haible  <bruno@clisp.org>
81194
81195         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81196         <sys/inttypes.h>.
81197
81198 2006-06-17  Bruno Haible  <bruno@clisp.org>
81199
81200         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81201         whether errno is declared. Assume <errno.h> declares errno.
81202
81203 2006-06-17  Bruno Haible  <bruno@clisp.org>
81204
81205         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81206
81207 2006-06-17  Bruno Haible  <bruno@clisp.org>
81208
81209         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81210         problem on Solaris 2.5.1.
81211
81212 2006-06-16  Eric Blake  <ebb9@byu.net>
81213
81214         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81215         * lib/unicodeio.c [!defined errno]: Likewise.
81216         * lib/strtol.c [!defined errno]: Likewise.
81217         * lib/strtod.c [!defined errno]: Likewise.
81218
81219 2006-06-15  Eric Blake  <ebb9@byu.net>
81220
81221         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81222
81223 2006-06-15  Eric Blake  <ebb9@byu.net>
81224
81225         * config/srclist.txt (ssize_t.m4): Lose sync.
81226
81227 2006-06-15  Bruno Haible  <bruno@clisp.org>
81228
81229         * modules/stdint (Files): Include m4/full-header-path.m4,
81230         m4/size_max.m4, m4/wchar_t.m4.
81231         (Makefile.am): Many more substitutions.
81232         * modules/stdint-tests: New file.
81233         * tests/test-stdint.c: New file.
81234
81235 2006-06-15  Bruno Haible  <bruno@clisp.org>
81236
81237         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81238         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81239         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81240         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81241         gl_CHECK_TYPE_SAME): New macros.
81242
81243 2006-06-15  Bruno Haible  <bruno@clisp.org>
81244
81245         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81246
81247 2006-06-15  Bruno Haible  <bruno@clisp.org>
81248
81249         * lib/stdint_.h: Rewritten to be fully auto-configured.
81250         Fixes bug on HP-UX/IA64.
81251
81252 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81253
81254         * lib/getdate.y (__attribute__): Don't define if already defined.
81255         Problem reported by Larry Jones.
81256         * lib/utimens.c (__attribute__): Likewise.
81257
81258 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81259
81260         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81261         reported by Andreas Schwab.
81262
81263 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81264             Bruno Haible  <bruno@clisp.org>
81265
81266         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81267         check for the declaration of strnlen and a run test that exposes the
81268         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81269         rpl_strndup.
81270
81271 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81272             Bruno Haible  <bruno@clisp.org>
81273
81274         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81275
81276 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81277
81278         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81279         compile test, for Tru64 4.0D.
81280
81281 2006-05-28  Karl Berry  <karl@gnu.org>
81282
81283         * config/srclist.txt (printf-args.c): lose sync.
81284
81285 2006-05-26  Martin Lambers  <marlam@marlam.de>
81286
81287         * lib/getpass.c: Updates the test for the native W32 API, and adds
81288         missing includes, thus fixing compilation warnings.
81289
81290 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81291
81292         * lib/exclude.c (exclude_fnmatch): New function.
81293         (excluded_file_name): Call exclude_fnmatch.
81294         * lib/exclude.h (excluded_file_name): New prototype
81295
81296 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81297
81298         * lib/tempname.c (small_open, large_open): New macros.
81299         (__open, __open64) [!_LIBC]: Remove.
81300         (__gen_tempname): Use small_open and large_open instead of __open
81301         and __open64.  This fixes a portability bug on HP-UX 11.11i
81302         reported by Simon Wing-Tang in
81303         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81304
81305 2006-05-24  Bruno Haible  <bruno@clisp.org>
81306
81307         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81308         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81309         Reported by Thorsten Maerz <torte@netztorte.de> via
81310         Aaron Stone <aaron@serendipity.cx>.
81311
81312 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81315         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81316         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81317         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81318         not really conditional on the cache.
81319         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81320
81321 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81322
81323         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81324         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81325         (my_usleep): Don't mishandle maximum value.
81326
81327 2006-05-19  Jim Meyering  <jim@meyering.net>
81328
81329         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81330
81331 2006-05-17  Bruno Haible  <bruno@clisp.org>
81332
81333         Cygwin portability.
81334         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81335
81336 2006-05-17  Bruno Haible  <bruno@clisp.org>
81337
81338         * lib/stdint_.h: Fix recognition of Cygwin.
81339
81340 2006-05-15  Bruno Haible  <bruno@clisp.org>
81341
81342         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81343         on libtool patch by Ralf Wildenhues.
81344
81345 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81346
81347         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81348         test for C99 conformance; (bool) 0.5 is an integer constant
81349         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81350         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81351
81352 2006-05-11  Simon Josefsson  <jas@extundo.com>
81353
81354         * m4/xvasprintf.m4: Fix obvious typo.
81355
81356 2006-05-11  Jim Meyering  <jim@meyering.net>
81357
81358         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81359         James Lemley.
81360
81361 2006-05-10  Simon Josefsson  <jas@extundo.com>
81362
81363         * lib/md4.c: Typo fix, update copyright years.
81364         (K1, K2): Don't use L because it turn computations into 64-bit on
81365         64-bit platforms.
81366
81367 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81368
81369         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81370         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81371         unwanted sign propagation, e.g., on hosts with 64-bit int.
81372         There still are some problems with reeelly weird theoretical hosts
81373         (e.g., 33-bit int) but it's not worth worrying about now.
81374         * lib/sha1.c (rol): Likewise.
81375         (K1, K2, K3, K4): Remove unnecessary L suffix.
81376
81377 2006-05-10  Bruno Haible  <bruno@clisp.org>
81378
81379         * lib/des.c: Cast to avoid warnings.
81380
81381 2006-05-09  Bruno Haible  <bruno@clisp.org>
81382
81383         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81384         (Depends-on): Depend also on xsize, stdarg.
81385         (configure.ac): Add gl_XVASPRINTF.
81386
81387 2006-05-09  Bruno Haible  <bruno@clisp.org>
81388
81389         * m4/xvasprintf.m4: New file.
81390
81391 2006-05-09  Bruno Haible  <bruno@clisp.org>
81392
81393         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81394         (EOVERFLOW): Define fallback value.
81395         (xstrcat): New function.
81396         (xvasprintf): Recognize the special case of a string concatenation.
81397
81398 2006-05-08  Eric Blake  <ebb9@byu.net>
81399
81400         * gnulib-tool (func_version): Base copyright year on CVS date.
81401         (func_emit_copyright_notice): New function.
81402         (func_emit_lib_Makefile_am): Use it.
81403         (func_emit_tests_Makefile_am): Likewise.
81404         (func_import): Likewise.
81405
81406 2006-05-08  Bruno Haible  <bruno@clisp.org>
81407
81408         * modules/stdarg: New file.
81409         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81410
81411 2006-05-08  Bruno Haible  <bruno@clisp.org>
81412
81413         * m4/stdarg.m4: New file, from GNU gettext.
81414
81415 2006-05-08  Bruno Haible  <bruno@clisp.org>
81416
81417         * config/srclist.txt (build-aux/config.rpath): different from latest
81418         release.
81419
81420 2006-05-08  Bruno Haible  <bruno@clisp.org>
81421
81422         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81423
81424 2006-05-05  Jim Meyering  <jim@meyering.net>
81425
81426         * m4/warning.m4: New file, derived from bison's file by the same name.
81427
81428 2006-05-03  Bruno Haible  <bruno@clisp.org>
81429
81430         * lib/stdint_.h: Shorter URL.
81431         * lib/inttypes.h: Likewise.
81432
81433 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81434
81435         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81436
81437 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81438
81439         * lib/verify.h: Document the internals better.  Most of this change
81440         was written by Bruno Haible.
81441
81442 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81443
81444         * doc/verify.texi: New file, partly based on a proposal by
81445         Bruno Haible.
81446
81447 2006-05-02  Bruno Haible  <bruno@clisp.org>
81448
81449         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81450         test from here...
81451         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81452
81453 2006-04-29  Bruno Haible  <bruno@clisp.org>
81454
81455         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81456         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81457
81458 2006-04-29  Bruno Haible  <bruno@clisp.org>
81459
81460         * gnulib-tool: Make --update option actually work.
81461
81462 2006-04-29  Bruno Haible  <bruno@clisp.org>
81463
81464         * doc/gcd.texi: New file.
81465         * doc/gnulib.texi: Include it.
81466
81467 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81468
81469         * lib/getdate.y (get_date): When adding relative date, start with the
81470         initial time, not with the result of the first mktime call.
81471
81472 2006-04-25  Bruno Haible  <bruno@clisp.org>
81473
81474         * gnulib-tool (func_import): Output the include directives in three
81475         blocks, sorted separately.
81476         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81477
81478 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81481         to define main with arguments, for C++.  Reported by Eric Blake.
81482         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81483         Prefer 'int main ()' to 'int main (void)', for C++.
81484         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81486         for 'main', for C99 and C++.
81487
81488 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81489
81490         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81491         Don't assume that exit status -1 is valid.
81492         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81493         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81494         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81495         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81496         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81497         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81498         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81499         functions can be used without declaring them, or that you can
81500         exit with status -1.
81501         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81502
81503 2006-04-24  Karl Berry  <karl@gnu.org>
81504
81505         * config/srclist.txt (longdouble.m4): sync lost.
81506
81507 2006-04-24  Eric Blake  <ebb9@byu.net>
81508
81509         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81510
81511 2006-04-24  Bruno Haible  <bruno@clisp.org>
81512
81513         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81514         poll() implementation in AIX.
81515         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81516
81517 2006-04-24  Bruno Haible  <bruno@clisp.org>
81518
81519         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81520         assigned exactly once.
81521
81522 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81523             Bruno Haible  <bruno@clisp.org>
81524
81525         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81526         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81527         for AM_CPPFLAGS.
81528
81529 2006-04-23  Bruno Haible  <bruno@clisp.org>
81530
81531         * modules/copy-file: Depend on unistd.
81532         * modules/execute: Likewise.
81533         * modules/fatal-signal: Likewise.
81534         * modules/findprog: Likewise.
81535         * modules/mkdtemp : Likewise.
81536         * modules/pipe: Likewise.
81537         * modules/wait-process: Likewise.
81538
81539 2006-04-23  Bruno Haible  <bruno@clisp.org>
81540
81541         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81542         condition was already detected.
81543         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81544
81545 2006-04-23  Bruno Haible  <bruno@clisp.org>
81546
81547         * lib/copy-file.c: Include <unistd.h> unconditionally.
81548         * lib/execute.c: Likewise.
81549         * lib/fatal-signal.c: Likewise.
81550         * lib/findprog.c: Likewise.
81551         * lib/mkdtemp.c: Likewise.
81552         * lib/pipe.h: Likewise.
81553         * lib/pipe.c: Likewise.
81554         * lib/wait-process.h: Likewise.
81555
81556 2006-04-23  Bruno Haible  <bruno@clisp.org>
81557
81558         * gnulib-tool (func_usage): Fix --import description. Document
81559         --update.
81560         (func_import): Create temporary file in a temporary directory, if
81561         --dry-run is specified. Silence errors from 'grep' when there are no
81562         m4 files in $m4dir.
81563         (func_create_testdir): Silence errors from 'grep' when there are no
81564         m4 files in $m4dir.
81565         Reported by Karl Berry <karl@freefriends.org>.
81566
81567 2006-04-20  Bruno Haible  <bruno@clisp.org>
81568
81569         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81570         one argument, so that the code will be portable to Autoconf 2.60.
81571         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81572         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81573         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81574
81575 2006-04-19  Derek Price  <derek@ximbiot.com>
81576             Eric Blake  <ebb9@byu.net>
81577
81578         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81579         rather than "/full/path.h".  Update comment to match.  Shorten &
81580         generalize m4_translit call via AS_TR_CPP.
81581
81582 2006-04-19  Derek Price  <derek@ximbiot.com>
81583             Eric Blake  <ebb9@byu.net>
81584
81585         * lib/inttypes.h: Correct grammar in comment.
81586
81587 2006-04-18  Derek Price  <derek@ximbiot.com>
81588             Paul Eggert  <eggert@cs.ucla.edu>
81589
81590         * modules/inttypes: New file.
81591         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81592
81593 2006-04-18  Derek Price  <derek@ximbiot.com>
81594             Paul Eggert  <eggert@cs.ucla.edu>
81595
81596         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81597         New files.
81598
81599 2006-04-18  Derek Price  <derek@ximbiot.com>
81600             Paul Eggert  <eggert@cs.ucla.edu>
81601
81602         * lib/inttypes.h: New file.
81603         * lib/strtoimax.c: Assume <inttypes.h>.
81604
81605 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81606
81607         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81608         isn't mounted.  Problem reported by Kir Kolyshkin.
81609
81610 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81611
81612         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81613         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81614         Derek R. Price.
81615         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81616         implementation.
81617
81618 2006-04-12  Eric Blake  <ebb9@byu.net>
81619
81620         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81621         is now done automatically by the corresponding Autoconf macro.
81622
81623 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81624
81625         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81626         time_r.h.
81627
81628 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81629
81630         Merge regex changes from libc, removing some of our
81631         POSIX-conformance changes that were rejected and redoing them in a
81632         less-intrusive way.
81633
81634         * lib/regcomp.c (re_compile_internal, init_dfa):
81635         Length arg is now size_t, not Idx.  All uses changed.
81636         (peek_token): Forward decl now says internal_function.
81637         (__re_error_msgid, __re_error_msgid_idx):
81638         Now static rather than extern with attribute_hidden.
81639         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81640         For some reason libc prefers K&R style defns for external functions.
81641         (regerror) [!defined _LIBC]: Likewise.
81642         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81643         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81644         (build_range_exp, build_collating_symbol):
81645         Use K&R-style defn.
81646         (re_compile_fastmap): Use '\0' to memset, not 0.
81647         (utf8_sb_map): Make the calculations more obvious.
81648         (init_dfa, parse_bracket_exp, build_charclass_op):
81649         Call calloc and cast result, as glibc does.
81650         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81651         (build_range_exp, build_collating_symbol):
81652         Now internal functions.
81653
81654         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81655
81656         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81657         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81658         Don't depend on VMS; depend on __VMS instead, for POSIX
81659         namespace cleanness.
81660         (regoff_t): Define to ssize_t, not long int.
81661
81662         Remove the REG_ macros named below.  Instead, make the old names
81663         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81664         __USE_GNU_REGEX.
81665         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81666         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81667         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81668         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81669         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81670         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81671         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81672         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81673         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81674         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81675         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81676         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81677         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81678         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81679         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81680         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81681         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81682         (REG_NREGS):
81683         Remove.  All uses replaced by the old RE_* names.
81684         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81685         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81686         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81687         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81688         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81689         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81690         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81691         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81692         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81693         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81694         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81695         Don't bother having these macros be independent of each others'
81696         values, since they no longer exist in the POSIX name space.
81697
81698         Rename the following member names back to their old names,
81699         unless !__USE_GNU_REGEX.  All uses changed back.
81700         (buffer): Renamed from re_buffer.
81701         (allocated): Renamed from re_allocated.
81702         (used): Renamed from re_used.
81703         (syntax): Renamed from re_syntax.
81704         (fastmap): Renamed from re_fastmap.
81705         (translate): Renamed from re_translate.
81706         (can_be_null): Renamed from re_can_be_null.
81707         (regs_allocated): Renamed from re_regs_allocated.
81708         (fastmap_accurate): Renamed from re_fastmap_accurate.
81709         (no_sub): Renamed from re_no_sub.
81710         (not_bol): Renamed from re_not_bol.
81711         (not_eol): Renamed from re_not_eol.
81712         (newline_anchor): Renamed from re_newline_anchor.
81713         (num_regs): Renamed from rm_num_regs.
81714         (start): Renamed from rm_start.
81715         (end): Renamed from rm_end.
81716
81717         (free_state): Move up a bit.
81718
81719         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81720         #define to be empty.
81721         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81722         when that is what is intended.
81723         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81724         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81725         (MAX): New macro.
81726         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81727         All uses changed back to re_malloc, etc.  It's now the caller's
81728         responsibility to check for overflow; all callers changed.
81729         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81730         (re_x2nrealloc): Remove.
81731         (free_state): Remove decl.
81732
81733         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81734         (re_set_registers, re_exec):
81735         Use K&R-style defn.
81736
81737         2006-01-31  Roland McGrath  <roland@redhat.com>
81738
81739         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81740         Reported by Mike Frysinger <vapier@gentoo.org>.
81741
81742         2006-01-15  Andreas Jaeger  <aj@suse.de>
81743
81744         [BZ #1950]
81745         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81746         build_wcs_upper_buffer change.
81747         (build_wcs_upper_buffer): Change return type.
81748
81749         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81750
81751         * lib/regex_internal.h: Include <stdint.h> if available.
81752
81753         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81754
81755         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81756
81757         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81758
81759         * lib/regcomp.c: Adjust for changed secondary hash function.
81760
81761         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81762
81763         * lib/regex.h: Pretty printing.
81764         Clean up namespace a bit.
81765
81766         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
81767
81768         * lib/regexec.c (update_cur_sifted_state, check_arrival,
81769         check_arrival_add_next_nodes): Avoid using uninitialized variable.
81770
81771         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81772                     Ulrich Drepper  <drepper@redhat.com>
81773
81774         [BZ #1302]
81775         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
81776         changed.
81777         (bitset_word_t): Renamed from bitset_word.  All uses changed.
81778
81779         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
81780
81781         [BZ #281]
81782         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
81783         * lib/regcomp.c: Remove unnecessary uses of
81784         unsigned RE_TRANSLATE_TYPE.
81785         * lib/regex_internal.h: Likewise.
81786         * lib/regex_internal.c: Likewise.
81787         * lib/regexec.c: Likewise.
81788         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
81789
81790         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
81791
81792         * lib/regexec.c (find_recover_state): Remove unnecessary
81793         initialization.
81794         (transit_state_bkref): Make DFA a const pointer.
81795         (get_subexp): Likewise.
81796         (check_arrival): Likewise.
81797         (update_cur_sifted_state): Likewise.
81798         (re_search_internal): Likewise.
81799         (prune_impossible_nodes): Likewise.
81800         (acquire_init_state_context): Likewise.
81801         (proceed_next_node): Likewise.
81802         (set_regs): Likewise.
81803         (free_fail_stack_return): Likewise.
81804         (check_arrival_expand_ecl): Mark DFA parameter as const.
81805         (check_arrival_expand_ecl_sub): Likewise.
81806         (check_subexp_limits): Likewise.
81807         (sub_epsilon_src_nodes):  Likewise.
81808         (add_epsilon_src_nodes):  Likewise.
81809         (merge_state_array): Likewise.
81810         (update_regs): Likewise.
81811         (build_trtable): Likewise.
81812         (sift_states_backward): Mark MCTX parameter as const.
81813         (build_sifted_states): Likewise.
81814         (update_cur_sifted_state): Likewise.
81815         (sift_states_mkref): Likewise.
81816         (check_arrival_expand_ecl): Mark eclosure as const.
81817         (check_dst_limits_calc_pos_1): Likewise.
81818         * lib/regex_internal.h (re_match_context_t): Make dfa a const
81819         pointer.
81820
81821         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
81822
81823         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
81824         (transit_state_sb): Likewise.
81825         (transit_state_mb): Likewise.
81826         (sift_states_iter_mb): Likewise.
81827         (check_arrival_add_next_nodes): Likewise.
81828         (check_node_accept_bytes): Change first parameter to pointer-to-const.
81829         [_LIBC] (re_search_2_stub): Use mempcpy.
81830
81831         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
81832         mbrtowc for very simple UTF-8 case.
81833
81834         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
81835         a pointer-to-const.
81836         (re_acquire_state_context): Likewise.
81837         * lib/regex_internal.h: Adjust prototypes.
81838
81839         * lib/regex.c: Prevent using C++ compilers.
81840
81841         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
81842         (re_acquire_state_context): Likewise.
81843
81844 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81845
81846         * modules/regex (Depends-on): Add ssize_t.
81847
81848 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81849
81850         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
81851         translation table.
81852
81853 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81854
81855         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
81856
81857 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
81858             Bruno Haible  <bruno@clisp.org>
81859
81860         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
81861         <sys/types.h> and <inttypes.h>.
81862
81863 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81864
81865         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
81866         `__error_t_defined', so argp.h will not typedef the former.
81867
81868 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
81869
81870         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
81871         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
81872         glibc names.  Even if glibc is changed to conform to POSIX, the
81873         traditional names will be available anyway, since regex depends on
81874         the extensions module.  Also, fix a longstanding typo in the
81875         implementation of Spencer ERE test #75 from grep 2.3.  Problems
81876         reported by Emanuele Giaquinta.  Also, change sense of cached
81877         variable, so that the message makes sense.
81878
81879 2006-03-24  Simon Josefsson  <jas@extundo.com>
81880
81881         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
81882         including some doc fixes.
81883         (base64_encode_alloc): Fix +1 bug on allocation failures.
81884
81885 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81886
81887         * lib/base64.c (base64_encode): Do not read past end of array with
81888         unsanitized input on systems with CHAR_BIT > 8.
81889
81890 2006-03-24  Eric Blake  <ebb9@byu.net>
81891
81892         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
81893
81894 2006-03-22  Karl Berry  <karl@gnu.org>
81895
81896         * config/srclist.txt (*setenv.[ch]): get from coreutils.
81897         * config/srclistvars.sh (COREUTILS): new var.
81898
81899 2006-03-17  Jim Meyering  <jim@meyering.net>
81900
81901         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
81902         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
81903
81904 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81905
81906         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
81907         no longer needs it.  Instead, check that regoff_t is as least
81908         as wide as ptrdiff_t.
81909
81910         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
81911         so that our regex.h stays compatible with the installed regex.
81912         This is helpful for installers who configure --without-included-regex.
81913         Problem reported by Emanuele Giaquinta.
81914
81915 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81916
81917         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
81918         Typedef to long int, not to off_, as POSIX will likely change
81919         in that direction.
81920
81921 2006-03-15  Eric Blake  <ebb9@byu.net>
81922
81923         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
81924
81925 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81926
81927         * lib/argp-help.c (validate_uparams): Fix typo
81928         * lib/argp-parse.c (argp_default_options): Consistently begin help
81929         messages with a lowercase letter.
81930
81931 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81934         overrun buffers and shouldn't be used (much as gets shouldn't be
81935         used).
81936         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81937
81938 2006-03-08  Simon Josefsson  <jas@extundo.com>
81939
81940         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
81941         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81942
81943 2006-03-08  Simon Josefsson  <jas@extundo.com>
81944
81945         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
81946         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81947
81948 2006-03-08  Simon Josefsson  <jas@extundo.com>
81949
81950         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
81951         signal that configure disabled the device.
81952
81953 2006-03-08  Simon Josefsson  <jas@extundo.com>
81954
81955         * build-aux/maint.mk: Fix refresh-po, to handle no translated
81956         languages.
81957
81958 2006-03-07  Simon Josefsson  <jas@extundo.com>
81959
81960         * modules/getopt (Depends-on): Add unistd.
81961
81962         * modules/unistd: New file.
81963
81964 2006-03-07  Simon Josefsson  <jas@extundo.com>
81965
81966         * modules/gc-random: New file.
81967
81968 2006-03-07  Simon Josefsson  <jas@extundo.com>
81969
81970         * m4/unistd_h.m4: New file.
81971
81972 2006-03-07  Simon Josefsson  <jas@extundo.com>
81973
81974         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
81975         test to be side-effect free by storing the result in the cache
81976         variable gl_cv_lib_readline, and moving the assignment of
81977         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
81978         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81979
81980 2006-03-07  Simon Josefsson  <jas@extundo.com>
81981
81982         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
81983         error on missing devices (the functions will return an error).
81984
81985         * m4/gc.m4: Move random stuff to gc-random.m4
81986
81987 2006-03-07  Simon Josefsson  <jas@extundo.com>
81988
81989         * lib/unistd_.h: New file.
81990
81991 2006-03-07  Simon Josefsson  <jas@extundo.com>
81992
81993         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
81994
81995 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81996
81997         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
81998         Problem reported by Juan Manuel Guerrero.
81999
82000 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82001
82002         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82003         the unistd module.
82004         * lib/getlogin_r.c: Likewise.
82005         * lib/getlogin_r.h: Likewise.
82006         * lib/glob.c: Likewise.
82007         * lib/pagealign_alloc.c: Likewise.
82008         * lib/unistd_.h: Remove; no longer needed.
82009
82010 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82011
82012         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82013         Add unistd.
82014         * modules/c-stack (Depends-on): Add unistd.
82015         * modules/getlogin_r: Likewise.
82016         * modules/glob: Likewise.
82017         * modules/pagealign_alloc: Likewise.
82018         * modules/unistd (Files): Remove lib/unistd_.h.
82019         (EXTRA_DIST): Remove.
82020         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82021         need unistd_.h.
82022         (MOSTLYCLEANFILES): Remove unistd.h-t.
82023
82024 2006-03-03  Simon Josefsson  <jas@extundo.com>
82025
82026         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82027
82028 2006-03-03  Simon Josefsson  <jas@extundo.com>
82029
82030         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82031         libidn and bison.
82032
82033 2006-03-03  Simon Josefsson  <jas@extundo.com>
82034
82035         * build-aux/maint.mk: Add indent target.
82036
82037 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82038
82039         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82040         our replacement poll.h in any case, to avoid a differing
82041         declaration from a system header.  Seen on AIX.
82042
82043 2006-03-01  Simon Josefsson  <jas@extundo.com>
82044
82045         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82046         <kasal@ucw.cz>.
82047
82048 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82049
82050         * modules/gettime (Depends-on): Add extensions module.
82051         * modules/nanosleep (Depends-on): Likewise.
82052         * modules/settime (Depends-on): Likewise.
82053
82054 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82055
82056         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82057         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82058         pedantically.
82059         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82060         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82061
82062         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82063         not "==".  Reported by Ralf Wildenhues.
82064
82065 2006-03-01  Karl Berry  <karl@gnu.org>
82066
82067         * doc/Copyright/request-*: new files, synced from gnuorg.
82068
82069 2006-03-01  Karl Berry  <karl@gnu.org>
82070
82071         * config/srclist.txt (Copyright/*): new entries.
82072
82073 2006-02-28  Simon Josefsson  <jas@extundo.com>
82074
82075         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82076
82077 2006-02-27  Simon Josefsson  <jas@extundo.com>
82078
82079         * lib/base64.h: Indent #define's.  From Jim Meyering
82080         <jim@meyering.net>.
82081
82082 2006-02-27  Jim Meyering  <jim@meyering.net>
82083
82084         Revert the change of 2006-02-24, so these files can continue
82085         to be sync'd from gettext.
82086         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82087         of `config.h'.
82088
82089 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82090
82091         * modules/intprops: New file.
82092         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82093         Add intprops.
82094         * modules/getloadavg (Files): Remove lib/intprops.h.
82095         (Depends-on): Add intprops.
82096         * modules/human: Likewise.
82097         * modules/inttostr: Likewise.
82098         * modules/openat: Likewise.
82099         * modules/sig2str: Likewise.
82100         * modules/userspec: Likewise.
82101         * modules/utimecmp: Likewise.
82102         * modules/xnanosleep: Likewise.
82103         * modules/xstrtol: Likewise.
82104
82105 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82106
82107         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82108         * modules/lock-tests (TESTS): Use $(EXEEXT).
82109         * modules/tls-tests: Likewise.
82110         * modules/argp-tests: Likewise.
82111         (check_PROGRAMS): New var, replacing...
82112         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82113
82114 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82115
82116         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82117         `config.h'.
82118
82119 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82120
82121         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82122
82123 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82124
82125         Sync from coreutils.
82126         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82127         gl_CHDIR_SAFER.
82128
82129 2006-02-22  Jim Meyering  <jim@meyering.net>
82130
82131         Sync from coreutils.
82132         * m4/chdir-safer.m4: New file.
82133
82134 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82135
82136         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82137         AT_FDCWD exceeds INT_MAX.
82138         * lib/openat.h (AT_FDCWD): Likewise.
82139
82140 2006-02-17  Eric Blake  <address@hidden>
82141
82142         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82143
82144 2006-02-16  Simon Josefsson  <jas@extundo.com>
82145
82146         * modules/getaddrinfo (Depends-on): Add sys_socket.
82147
82148 2006-02-15  Simon Josefsson  <jas@extundo.com>
82149
82150         * build-aux/maint.mk: Add dsyntax-check rule.
82151
82152 2006-02-15  Eric Blake  <ebb9@byu.net>
82153
82154         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82155         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82156         'present but cannot compile' warnings on cygwin.
82157         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82158         use ws2tcpip.h if sys/socket.h works.
82159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82160         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82161
82162 2006-02-14  Simon Josefsson  <jas@extundo.com>
82163
82164         * modules/maintainer-makefile (Files): Rename.
82165
82166         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82167         and (the local) Makefile.cfg to maint-cfg.mk.
82168
82169         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82170         to the latter.
82171
82172         * modules/maintainer-makefile: New module.
82173
82174         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82175         severaly stripped to make it possible to build it up from scratch
82176         with reliable tests.
82177
82178         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82179         fixes to permit overriding the default actions when configure and
82180         makefile are not available.
82181
82182 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82183
82184         Sync from coreutils.
82185         * modules/lstat (Depends-on): Don't depend on xalloc.
82186         (License): Change from GPL to LGPL, since this is now simply a
82187         replacement for a libc function.
82188
82189 2006-02-14  Jim Meyering  <jim@meyering.net>
82190
82191         Sync from coreutils.
82192
82193         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82194         failure on deficient systems, and simplify gnulib lgpl dependencies.
82195         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82196         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82197
82198         * lib/xalloc-die.c: Remove unused definition of N_.
82199
82200 2006-02-14  Jim Meyering  <jim@meyering.net>
82201
82202         Sync from coreutils.
82203         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82204         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82205         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82206         double-quote uses of that variable, to accommodate the rare case in
82207         which getmntent is available in none of the libraries checked.  This
82208         happens at least on FreeBSD 5.0.
82209
82210 2006-02-13  Simon Josefsson  <jas@extundo.com>
82211
82212         * gnulib-tool (Usage): Fix --import, from
82213         karl@freefriends.org (Karl Berry).
82214
82215 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82216
82217         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82218
82219 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82220
82221         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82222         "autoupdate" on 2005-12-12.
82223
82224 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82225
82226         * modules/closeout (Depends-on): Remove atexit.
82227
82228 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82229
82230         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82231         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82232
82233 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82234
82235         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82236         __EXTENSIONS__ if this causes compilation to fail.  Problem
82237         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82238         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82239
82240 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82241
82242         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82243         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82245         All uses changed.
82246
82247 2006-01-26  Simon Josefsson  <jas@extundo.com>
82248
82249         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82250         prototype is visible on mingw32.
82251
82252         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82253         for mingw32.
82254
82255         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82256         mingw32).
82257
82258 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82259
82260         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82261         attempt to open for write; this always fails, at least on POSIX
82262         hosts.  This reinstates the 2006-01-09 change, which was
82263         inadvertently removed.
82264
82265 2006-01-26  Bruno Haible  <bruno@clisp.org>
82266
82267         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82268         Reported by Paul Eggert.
82269
82270 2006-01-26  Bruno Haible  <bruno@clisp.org>
82271             Paul Eggert  <eggert@cs.ucla.edu>
82272
82273         * lib/stdbool_.h (_Bool)
82274         [(! (defined __cplusplus || defined __BEOS__)
82275           && !defined __GNUC__
82276           && !(defined __HP_cc || defined __xlc__
82277                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82278                || defined __sgi))]:
82279         #define to signed char in these cases too; this simplifies
82280         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82281         etc., separately) and makes it more conservative.
82282
82283 2006-01-25  Simon Josefsson  <jas@extundo.com>
82284
82285         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82286         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82287         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82288
82289 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82290
82291         * lib/argp-namefrob.h: Bugfix. Remove stray #
82292
82293 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82294
82295         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82296         so that we test the test.
82297         Check for yet another HP-UX cc bug involving *bool |= bool.
82298
82299 2006-01-25  Karl Berry  <karl@gnu.org>
82300
82301         * config/srclist.txt (vasnprintf.c): sync lost.
82302
82303 2006-01-25  Jim Meyering  <jim@meyering.net>
82304
82305         Sync from the stable (b5) branch of coreutils:
82306
82307         * lib/fts.c (fts_children): Don't let close() clobber errno from
82308         failed fchdir().
82309
82310         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82311         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82312         a dangling symlink.  That can also happen at least for ELOOP.
82313         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82314         FYI, this bug predates the inclusion of fts.c in coreutils.
82315
82316         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82317         in their own block, so pre-c99 compilers don't object.
82318
82319         Avoid the double-free (first in fts_read, second in fts_close) that
82320         would occur when an `active' directory is made inaccessible (e.g.,
82321         via chmod a-x) during a traversal.
82322         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82323         before returning.  Reproduce this failure by
82324         mkdir -p a/b; cd a; chmod a-x . b
82325         Reported by Stavros Passas.
82326
82327 2006-01-25  Jim Meyering  <jim@meyering.net>
82328
82329         * lib/fileblocks.c: Remove more useless parentheses.
82330         * lib/readutmp.h: Likewise.
82331
82332 2006-01-25  Bruno Haible  <bruno@clisp.org>
82333
82334         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82335         warnings.
82336         Reported by Paul Eggert.
82337
82338 2006-01-25  Bruno Haible  <bruno@clisp.org>
82339
82340         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82341         rid of a trap command. For Solaris sh.
82342         Reported by Mark D. Baushke <mdb@gnu.org>.
82343
82344 2006-01-24  Simon Josefsson  <jas@extundo.com>
82345
82346         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82347         Bruno.
82348
82349 2006-01-24  Karl Berry  <karl@gnu.org>
82350
82351         * config/srclist.txt (argp-namefrob.h): sync lost.
82352
82353 2006-01-24  Jim Meyering  <jim@meyering.net>
82354
82355         * modules/openat (Files): Add lib/intprops.h.
82356         From Mark D. Baushke.
82357
82358 2006-01-24  Jim Meyering  <jim@meyering.net>
82359
82360         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82361         Reported by Mark D. Baushke.
82362
82363 2006-01-24  Jim Meyering  <jim@meyering.net>
82364
82365         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82366
82367 2006-01-24  Bruno Haible  <bruno@clisp.org>
82368
82369         * modules/strnlen (Maintainer): Change from glibc to all.
82370
82371 2006-01-24  Bruno Haible  <bruno@clisp.org>
82372
82373         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82374         Patch by Paul Eggert.
82375
82376 2006-01-24  Bruno Haible  <bruno@clisp.org>
82377
82378         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82379         already has it.
82380         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82381         2005-11-26.
82382
82383         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82384         'signed char' to avoid problems with the built-in _Bool type.
82385         Reported by Paul Eggert on 2005-11-26.
82386
82387 2006-01-24  Bruno Haible  <bruno@clisp.org>
82388
82389         * gnulib-tool (func_import): Avoid constructing complicated sed
82390         expressions inside backquote.
82391         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82392
82393 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82394
82395         These changes imported from libc.
82396         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82397         test and two separate function calls.
82398         * lib/strndup.c (__strndup): Add libc_hidden_def.
82399
82400 2006-01-23  Simon Josefsson  <jas@extundo.com>
82401
82402         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82403         Remove the test_*_SOURCES variable: automake infers it by default.
82404         * modules/tls-tests: Likewise.
82405
82406 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82407
82408         Work around porting bugs reported by Dieter in
82409         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82410         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82411         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82412         Include "getopt.h" first, to check interface.
82413         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82414         !HAVE_DECL_GETENV.
82415         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82416         (__strndup): Revert to K&R-style function dfns, the glibc style.
82417         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82418         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82419         Include strnlen.h first, to get prototype properly.
82420         (strnlen): Renamed from __strnlen.
82421         Remove weak alias.
82422
82423 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82424
82425         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82426
82427 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82428
82429         * config/srclist.txt: Adjust to reflect glibc reorganization.
82430         This affects only comments.
82431
82432 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82433
82434          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82435          Reported by Bruce Korb <bkorb@gnu.org>.
82436
82437 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82438
82439         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82440         to pacify gcc -Wswitch-default.
82441
82442 2006-01-22  Bruno Haible  <bruno@clisp.org>
82443
82444         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82445         temporary buffer for sprintf, take into account the precision also
82446         for 'd', 'i', 'u', 'o', 'x', 'X'.
82447
82448 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82449
82450         * modules/argp-tests: New module
82451         * tests/test-argp.c: New file
82452         * tests/test-argp-2.sh: New file
82453
82454 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82455
82456         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82457         (__argp_base_name): Removed
82458         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82459         typo.
82460         (__argp_base_name): Provide macro definition or extern declaration
82461         depending on the configuration
82462
82463 2006-01-20  Simon Josefsson  <jas@extundo.com>
82464
82465         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82466
82467 2006-01-20  Simon Josefsson  <jas@extundo.com>
82468
82469         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82470
82471 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82472
82473         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82474         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82475         Suggested by Bruno Haible.
82476
82477 2006-01-20  Karl Berry  <karl@gnu.org>
82478
82479         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82480         until changes propagate, I guess.
82481
82482 2006-01-19  Simon Josefsson  <jas@extundo.com>
82483
82484         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82485
82486 2006-01-19  Simon Josefsson  <jas@extundo.com>
82487
82488         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82489
82490 2006-01-19  Simon Josefsson  <jas@extundo.com>
82491
82492         * gnulib-tool: Set check_PROGRAMS.
82493
82494         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82495         modules/des-tests, modules/gc-arcfour-tests,
82496         modules/gc-arctwo-tests, modules/gc-des-tests,
82497         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82498         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82499         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82500         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82501         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82502         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82503         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82504         test_*_SOURCES.
82505
82506 2006-01-18  Simon Josefsson  <jas@extundo.com>
82507
82508         * modules/socklen (Depends-on): Depend on sys_socket.
82509
82510 2006-01-18  Simon Josefsson  <jas@extundo.com>
82511
82512         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82513         modules/des-tests, modules/gc-arcfour-tests,
82514         modules/gc-arctwo-tests, modules/gc-des-tests,
82515         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82516         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82517         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82518         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82519         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82520         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82521         $(EXEEXT) to automake TESTS variable, for mingw32.
82522
82523 2006-01-17  Simon Josefsson  <jas@extundo.com>
82524
82525         * modules/socklen (Include): Need sys/socket.h.
82526
82527 2006-01-17  Bruno Haible  <bruno@clisp.org>
82528
82529         * modules/ssize_t (Include): Add <sys/types.h>.
82530
82531 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82532
82533         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82534         it's not portable and it doesn't work with cross-compiles.
82535         Problem reported by Bruno Haible.  Fix missing-$ typo in
82536         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82537         -zignore from being used with Sun's C compiler.
82538
82539 2006-01-12  Simon Josefsson  <jas@extundo.com>
82540
82541         * lib/base64.c: Fix warning, reported by Bruno Haible
82542         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82543
82544 2006-01-12  Bruno Haible  <bruno@clisp.org>
82545
82546         * modules/ldd: New file.
82547         * build-aux/ldd.sh.in: New file.
82548         * MODULES.html.sh (Support for building libraries and executables): Add
82549         ldd.
82550
82551 2006-01-12  Bruno Haible  <bruno@clisp.org>
82552
82553         * m4/ldd.m4: New file.
82554
82555 2006-01-12  Bruno Haible  <bruno@clisp.org>
82556
82557         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82558         endless loop while replacing $auxdir with build-aux.
82559
82560 2006-01-11  Simon Josefsson  <jas@extundo.com>
82561
82562         * lib/stdint_.h (SIZE_MAX): Add missing (.
82563
82564 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82565
82566         Sync from coreutils.
82567         * lib/md5.c: Fix commentary typos.
82568         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82569         * lib/md5.h (__attribute__): Remove; unused.
82570         * lib/sha1.c: Fix commentary to match md5 better.
82571         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82572         so that we don't need to worry about alignment.  All uses changed.
82573         This merges the 2005-10-28 md5 change into sha1.
82574
82575 2006-01-11  Jim Meyering  <jim@meyering.net>
82576
82577         Sync from coreutils.
82578         * lib/md5.c (OP): Fix spacing.
82579
82580 2006-01-11  Bruno Haible  <bruno@clisp.org>
82581
82582         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82583         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82584         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82585
82586 2006-01-11  Bruno Haible  <bruno@clisp.org>
82587
82588         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82589         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82590         the "early" section as well.
82591
82592 2006-01-11  Bruno Haible  <bruno@clisp.org>
82593
82594         Avoid "ar: no archive members specified" error on MacOS X.
82595         * gnulib-tool (func_modules_add_dummy): New function.
82596         (func_import, func_create_testdir): Invoke it.
82597
82598 2006-01-11  Bruno Haible  <bruno@clisp.org>
82599
82600         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82601         with $auxdir in AC_CONFIG_FILES statements.
82602
82603 2006-01-11  Bruno Haible  <bruno@clisp.org>
82604
82605         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82606         Initialize also noinst_HEADERS to empty.
82607
82608 2006-01-11  Bruno Haible  <bruno@clisp.org>
82609
82610         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82611         variables.
82612         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82613         autoreconf.
82614
82615 2006-01-11  Bruno Haible  <bruno@clisp.org>
82616
82617         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82618         overridable by the user.
82619         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82620
82621 2006-01-10  Simon Josefsson  <jas@extundo.com>
82622
82623         * modules/sys_socket: New file.
82624
82625 2006-01-10  Simon Josefsson  <jas@extundo.com>
82626
82627         * m4/sys_socket_h.m4: New file.
82628
82629 2006-01-10  Simon Josefsson  <jas@extundo.com>
82630
82631         * lib/socket_.h: New file.
82632
82633 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82634
82635         * modules/readutmp (Maintainer): Add myself.
82636
82637 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82638
82639         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82640         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82641         People who are still concerned with buggy memcmp implementations
82642         can invoke gl_FUNC_MEMCMP themselves.
82643
82644 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82645
82646         * lib/regex_internal.h (BITSET_WORD_BITS):
82647         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82648         preprocessor mishandles large unsigned values as if they were signed.
82649         Problem reported by Claudio Fontana in
82650         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82651
82652 2006-01-10  Jim Meyering  <jim@meyering.net>
82653
82654         Avoid the double-free (first in fts_read, second in fts_close) that
82655         would occur when an `active' directory is made inaccessible (e.g.,
82656         via chmod a-x) during a traversal.
82657         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82658         before returning.  Reproduce this failure by
82659         mkdir -p a/b; cd a; chmod a-x . b
82660         Reported by Stavros Passas.
82661
82662         Sync from coreutils.
82663         * lib/sha1.c: Tweak grammar in a comment.
82664
82665 2006-01-10  Jim Meyering  <jim@meyering.net>
82666
82667         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82668         Patch by Joerg Sonnenberger.
82669
82670 2006-01-10  Bruno Haible  <bruno@clisp.org>
82671
82672         * modules/readutmp: Depend on module free.
82673         * modules/strtok_r: Depend on module restrict.
82674
82675 2006-01-10  Bruno Haible  <bruno@clisp.org>
82676
82677         * modules/gettext (configure.ac): Add an invocation of
82678         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82679
82680 2006-01-10  Bruno Haible  <bruno@clisp.org>
82681
82682         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82683         Reported by Werner Lemberg <wl@gnu.org>.
82684
82685 2006-01-10  Bruno Haible  <bruno@clisp.org>
82686
82687         * lib/localcharset.c: Update from GNU gettext.
82688
82689 2006-01-10  Bruno Haible  <bruno@clisp.org>
82690
82691         * lib/argp.h (__const): Remove macro. Use const instead.
82692         * lib/argp-fmtstream.h (__const): Likewise.
82693         * lib/glob_.h (__const): Remove macro.
82694         * lib/glob-libc.h: Use const instead of __const.
82695
82696 2006-01-10  Bruno Haible  <bruno@clisp.org>
82697
82698         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82699         variable.
82700         Needed to avoid an automake error regarding the 'gettext' module.
82701
82702 2006-01-09  Simon Josefsson  <jas@extundo.com>
82703
82704         * modules/inet_ntop (Depends-on): Add restrict.
82705
82706 2006-01-09  Simon Josefsson  <jas@extundo.com>
82707
82708         * modules/gc-rijndael-tests (License): Put under LGPL.
82709
82710         * modules/gc-des-tests (License): Likewise.
82711
82712         * modules/gc-arcfour-tests (License): Likewise.
82713
82714         * modules/gc-arctwo-tests (License): Likewise.
82715
82716         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82717
82718         * modules/gc-hmac-sha1-tests (Files): Likewise.
82719
82720         * modules/gc-hmac-md5-tests (License): Likewise.
82721
82722         * modules/gc-sha1-tests (License): Likewise.
82723
82724         * modules/gc-md5-tests (License): Likewise.
82725
82726         * modules/gc-md4-tests (License): Likewise.
82727
82728         * modules/gc-md2-tests (License): Likewise.
82729
82730         * modules/gc-tests (License): Likewise.
82731
82732         * modules/des-tests (License): Likewise.
82733
82734         * modules/md4-tests (License): Likewise.
82735
82736         * modules/md2-tests (License): Likewise.
82737
82738 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         Sync from coreutils:
82741
82742         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82743         * modules/lib-ignore: New file.
82744         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82745         chdir-safer.m4, lchmod.m4.
82746         * modules/openat: Add mkdirat.c, openat-priv.h.
82747
82748 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82749
82750         Sync from coreutils.
82751         * m4/lib-ignore.m4: New file.
82752         * m4/lchmod.m4: New file.
82753
82754 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82755
82756         Sync from coreutils.
82757         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82758         for write access: POSIX says that must fail.
82759         * lib/fts.c (diropen): Likewise.
82760         * lib/save-cwd.c (save_cwd): Likewise.
82761         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82762         well, for minor improvements on hosts that lack O_DIRECTORY.
82763         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82764         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82765         Fall back on chown if open failed with EACCES.
82766
82767         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
82768         Report an error at compile-time if only a 1-second nominal clock
82769         resolution is found.
82770
82771         * lib/lchmod.h: New file.
82772         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
82773         (make_dir_parents): Use lchown rather than chown, and
82774         lchmod rather than chmod.
82775
82776         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
82777         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
82778         "proc" reported by n0dalus.
82779
82780         * lib/mountlist.c: Include <limits.h>.
82781         (dev_from_mount_options)
82782         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
82783         New function.  It no longer assumes "dev=" has the System V meaning
82784         on Linux (since it doesn't).  It also parses "dev=" more carefully.
82785         (read_file_system_list)
82786         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
82787         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
82788         dev= in that case.
82789
82790         * lib/posixtm.h (PDS_PRE_2000): New macro.
82791         * lib/posixtm.c (year): Arg is now syntax_bits rather than
82792         allow_century.  All usages changed.  Reject dates outside the range
82793         1969-1999 if PDS_PRE_2000 is used.
82794
82795 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82796
82797         Sync from coreutils.
82798         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
82799         (Time of day items): Mention the possibility of leap seconds.
82800         Problem reported by Dr. David Alan Gilbert.
82801
82802 2006-01-09  Jim Meyering  <jim@meyering.net>
82803
82804         Sync from coreutils.
82805
82806         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
82807
82808         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
82809
82810         * lib/modechange.c (mode_compile): Reject an invalid mode string
82811         that starts with an octal digit.  From Andreas Gruenbacher.
82812
82813         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
82814         and dup to open_safer and dup_safer, respectively.
82815         (openat_permissive): Fix typo in comment.
82816
82817         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
82818         "gettext.h"; either no longer needed or are guaranteed by openat.h.
82819         (_): Remove; no longer needed.
82820         (openat): Renamed from rpl_openat; no need for rpl_openat
82821         since openat.h renames openat for us.
82822         Replace most of the body with a call to openat_permissive,
82823         to avoid duplicate code.
82824         Port to (probably hypothetical) environments were mode_t is
82825         wider than int.
82826         (openat_permissive): Require mode arg, so that we can check
82827         types better.  Put it just after flags.  Change cwd failure
82828         indicator from pointer-to-bool to pointer-to-errno-value.
82829         All callers changed.
82830         Invoke openat_save_fail and/or openat_restore_fail if
82831         cwd_errno is null, so that openat can call us.
82832         (openat_permissive, fdopendir, fstatat, unlinkat):
82833         Simplify errno handling to avoid some duplicate code,
82834         as it's OK to set errno on success.
82835         * lib/openat.h: Revamp code so that function macros depend on
82836         __OPENAT_PREFIX only, not also on AT_FDCWD.
82837         (openat_ro): Remove.  Caller changed to use openat_permissive.
82838         (openat_permissive): Now a macro, if not a function.
82839         (openat_restore_fail, openat_save_fail): Now always functions,
82840         since mkdirat needs them even if __OPENAT_PREFIX is defined.
82841
82842         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
82843         and openat.c.
82844         * lib/mkdirat.c: Include openat-priv.h.
82845         Remove definitions of macros defined therein.
82846         * lib/openat.c: Likewise.
82847
82848         * lib/mkdirat.c (mkdirat): New file and function.
82849         * lib/openat.h (mkdirat): Declare.
82850
82851         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
82852
82853         * lib/openat.h (openat_permissive): Declare.
82854         (openat_ro): Define.
82855
82856         * lib/openat.c (EXPECTED_ERRNO): New macro.
82857         (openat_permissive): New function -- used in remove.c rewrite.
82858         (all functions): Set errno just before returning, only if there
82859         was an actual failure.
82860         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
82861
82862         Emulate openat-family functions using Linux's procfs, if possible.
82863         Idea and some code based on Ulrich Drepper's glibc changes.
82864
82865         * lib/openat.c: (BUILD_PROC_NAME): New macro.
82866         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
82867         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
82868         before falling back on save_cwd and restore_cwd.
82869         (fdopendir, fstatat, unlinkat): Likewise.
82870
82871         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
82872         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
82873
82874         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
82875         as second argument to va_arg.  Otherwise, some versions of gcc
82876         warn that `if this code is reached, the program will abort'.
82877
82878 2006-01-09  Jim Meyering  <jim@meyering.net>
82879
82880         Sync from coreutils.
82881         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
82882         Require openat-priv.h.
82883
82884 2006-01-09  Bruno Haible  <bruno@clisp.org>
82885
82886         * modules/strnlen (Include): Use strnlen.h.
82887
82888 2006-01-09  Bruno Haible  <bruno@clisp.org>
82889
82890         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
82891
82892 2006-01-09  Bruno Haible  <bruno@clisp.org>
82893
82894         * lib/sysexit_.h (EX_OK): New macro.
82895         Suggested by Martin Lambers <marlam@marlam.de>.
82896
82897 2006-01-09  Bruno Haible  <bruno@clisp.org>
82898
82899         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
82900         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
82901
82902 2006-01-09  Bruno Haible  <bruno@clisp.org>
82903
82904         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
82905         numbers.
82906
82907 2006-01-09  Bruno Haible  <bruno@clisp.org>
82908
82909         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
82910         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
82911         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
82912         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
82913
82914 2006-01-09  Bruno Haible  <bruno@clisp.org>
82915
82916         * build-aux/javacomp.sh.in: New file, moved from lib/.
82917         * modules/javacomp-script (Files): Update.
82918         (configure.ac): Add AC_CONFIG_FILES invocation.
82919         (EXTRA_DIST): Remove variable.
82920
82921         * build-aux/javaexec.sh.in: New file, moved from lib/.
82922         * modules/javaexec (Files): Update.
82923         (configure.ac): Add AC_CONFIG_FILES invocation.
82924         (EXTRA_DIST): Remove javaexec.sh.in.
82925
82926         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
82927         * modules/csharpcomp-script (Files): Update.
82928         (configure.ac): Add AC_CONFIG_FILES invocation.
82929         (EXTRA_DIST): Remove variable.
82930
82931         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82932         * modules/csharpexec (Files): Update.
82933         (configure.ac): Add AC_CONFIG_FILES invocation.
82934         (EXTRA_DIST): Remove csharpexec.sh.in.
82935
82936 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82937
82938         Sync from coreutils.
82939
82940         Add POSIX ACL support
82941         * lib/acl.h (copy_acl, set_acl): Add declarations.
82942         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
82943         systems other than Linux.
82944         (chmod_or_fchmod): New function: use fchmod when possible,
82945         and chmod otherwise.
82946         (file_has_acl): Add a POSIX ACL implementation, with a
82947         Linux-specific subcase.
82948         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
82949         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
82950         acls are unsupported.
82951         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
82952         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
82953         are unsupported.
82954
82955 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82956
82957         Sync from coreutils.
82958         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
82959
82960 2006-01-07  Bruno Haible  <bruno@clisp.org>
82961
82962         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
82963         gl_EARLY.
82964
82965 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82966
82967         * lib/strftime.c (tzname): Don't declare if it is already #defined.
82968         Problem reported for Mingw by Mark Junker.
82969
82970 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82971
82972         * README: Gnulib normally doesn't generate a tarball.
82973
82974 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
82975
82976         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
82977         long int, not int, for nanosecond counts, so that people who are
82978         used to POSIX struct timespec won't be surprised.  Reported by Jim
82979         Meyering.
82980
82981 2005-12-28  Bruno Haible  <bruno@clisp.org>
82982
82983         * build-aux/config.rpath: Update from GNU gettext.
82984
82985 2005-12-16  Jim Meyering  <jim@meyering.net>
82986
82987         * modules/fprintftime: New module.
82988         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
82989
82990 2005-12-16  Jim Meyering  <jim@meyering.net>
82991
82992         * m4/fprintftime.m4: New file.
82993
82994 2005-12-16  Jim Meyering  <jim@meyering.net>
82995
82996         * lib/fprintftime.c, lib/fprintftime.h: New files.
82997
82998 2005-12-15  Simon Josefsson  <jas@extundo.com>
82999
83000         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83001         new m4/socklen.m4.
83002
83003 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83004
83005         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83006         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83007
83008 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83009
83010         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83011         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83012         struct uparams is valid. Fall back to the default values if it is
83013         not.
83014
83015 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83016
83017         * modules/argp (Files): Add argp-pin.c
83018         (Depends-on): dirname
83019         (lib_SOURCES): Add argp-pin.c
83020
83021 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83022
83023         * m4/argp.m4:  Check if program_invocation_name and
83024         program_invocation_short_name are declared and define appropriate
83025         macros if they are not.
83026
83027 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83028
83029         * lib/argp-help.c (__argp_base_name): New function
83030         (__argp_short_program_name): Rewrite using __argp_base_name
83031         * lib/argp-namefrob.h: Define program_invocation_name and
83032         program_invocation_short_name if requested
83033         (__argp_base_name): Add prototype
83034         * lib/argp-parse.c (argp_def): Use gettext wrappers
83035         (argp_default_parser): Use __argp_base_name
83036         * lib/argp-pin.c: New file. Defines program_invocation_name and
83037         program_invocation_short_name on systems that lack them.
83038
83039 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83040
83041         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83042         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83043         porting problem reported by Georg Schwarz in
83044         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83045
83046 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83047
83048         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83049         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83050         porting problem reported by Georg Schwarz in
83051         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83052
83053 2005-12-05  Bruno Haible  <bruno@clisp.org>
83054
83055         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83056         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83057         Reported by Mark Junker <mjscod@gmx.de>.
83058
83059 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83060
83061         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83062         Use implementation from Albert Chin, with some
83063         comments/corrections by Stepan Kasal and myself.
83064
83065 2005-12-02  Bruno Haible  <bruno@clisp.org>
83066
83067         * gnulib-tool (func_import): Accept GPLed build tool modules when
83068         --lgpl is given.
83069         * modules/csharpcomp-script: New file.
83070         * modules/csharpcomp: Depend on it.
83071         * modules/javacomp-script: New file.
83072         * modules/javacomp: Depend on it.
83073         Suggested by Simon Josefsson.
83074
83075 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83076
83077         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83078         statement, to work around an HP-UX 10.20 compiler bug reported by
83079         Peter O'Gorman.
83080
83081 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83082
83083         * modules/savedir (Depends-on): Add openat.
83084
83085 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83086
83087         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83088         (uintmax_t) [defined uintmax_t]: Do not declare.
83089         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83090         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83091         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83092         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83093         sake of portability to weird hosts that C allows (though we don't
83094         know of any practical examples).
83095
83096         * lib/savedir.h (fdsavedir): New decl.
83097         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83098         contains most of the former guts of savedir.
83099         (savedir): Use savedirstream.
83100         Include "openat.h".
83101
83102 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83103
83104         * modules/obstack (Files): Add m4/ulonglong.m4.
83105         Problem reported by Davide Angelocola.
83106
83107 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83108
83109         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83110         coreutils no longer futzes with rounding modes.
83111
83112 2005-11-14  Jim Meyering  <jim@meyering.net>
83113
83114         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83115         replacement of mkstemp.
83116
83117 2005-11-10  Simon Josefsson  <jas@extundo.com>
83118
83119         * lib/readline.c: Remove EOL.
83120
83121 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83122
83123         * modules/gethrxtime (Depends-on): Add gettime.
83124
83125 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83126
83127         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83128         or gettimeofday; no longer needed.
83129
83130 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83131
83132         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83133         time business.
83134         (gethrxtime) [! (HAVE_NANOUPTIME
83135         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83136         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83137         our own approximation.
83138
83139 2005-11-08  Eric Blake  <ebb9@byu.net>
83140
83141         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83142
83143 2005-11-08  Eric Blake  <ebb9@byu.net>
83144
83145         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83146
83147 2005-11-04  Bruno Haible  <bruno@clisp.org>
83148
83149         * gnulib-tool: Implement --update mode.
83150
83151 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83152
83153         Fix porting problem reported by Theodoros V. Kalamatianos.
83154         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83155         Don't assume that futimes failing means we must fail.
83156
83157 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83158
83159         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83160         variables to suggest the intended function of the PATH_MAX check.
83161
83162 2005-10-30  Kean Johnston  <jkj@sco.com>
83163
83164         Trivial changes to support SCO systems.
83165         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83166         as PATH_MAX.
83167         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83168         where __ptr is null when no I/O is pending.
83169
83170 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83171
83172         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83173         leave errno alone.  Problem reported by Dmitry V. Levin.
83174
83175 2005-10-28  Simon Josefsson  <jas@extundo.com>
83176
83177         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83178         Test more.
83179
83180         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83181
83182         * modules/md2, modules/md2-tests: New files.
83183
83184 2005-10-28  Simon Josefsson  <jas@extundo.com>
83185
83186         * m4/inet_ntop.m4: More tests.
83187
83188         * m4/gc-md2.m4, md2.m4: New file.
83189
83190 2005-10-28  Simon Josefsson  <jas@extundo.com>
83191
83192         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83193         "restrict" keywords, as per POSIX.  Protect the function
83194         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83195         Don't use K&R prototypes.  Check the sprintf return values.
83196         Re-define EAFNOSUPPORT if not present.  Indent.
83197
83198         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83199         suggested by Bruno Haible <bruno@clisp.org>.
83200
83201         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83202
83203         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83204
83205         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83206         libgcrypt).
83207
83208         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83209
83210         * lib/md2.h, lib/md2.c: New files.
83211
83212 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83213
83214         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83215         errno alone.  Problem reported by Frederic Jolliton.
83216
83217 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83218
83219         * modules/verify (License): Change from GPL to LGPL.  This is a
83220         tiny module and there are apparently near-equivalents that are
83221         under the BSD license.
83222
83223 2005-10-24  Simon Josefsson  <jas@extundo.com>
83224
83225         * modules/sha1: Relicense to LGPL.
83226
83227 2005-10-24  Simon Josefsson  <jas@extundo.com>
83228
83229         * lib/md4.h: Shrink buffer size, now that we changed the type.
83230
83231 2005-10-23  Simon Josefsson  <jas@extundo.com>
83232
83233         * gnulib-tool (func_import): Fix --tests-base.
83234
83235 2005-10-22  Simon Josefsson  <jas@extundo.com>
83236
83237         * modules/arcfour (Depends-on): Need stdint.
83238
83239 2005-10-22  Simon Josefsson  <jas@extundo.com>
83240
83241         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83242         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83243
83244 2005-10-22  Simon Josefsson  <jas@extundo.com>
83245
83246         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83247         suggested by Bruno Haible <bruno@clisp.org>.
83248
83249 2005-10-22  Simon Josefsson  <jas@extundo.com>
83250
83251         * lib/crc.h: Include stddef.h, for size_t.
83252
83253 2005-10-22  Simon Josefsson  <jas@extundo.com>
83254
83255         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83256         arcfour_context struct (simplify test vector testing in GNU
83257         Shishi).
83258
83259 2005-10-21  Simon Josefsson  <jas@extundo.com>
83260
83261         * modules/des, modules/des-tests: New files.
83262
83263         * modules/gc-des, modules/gc-des-tests: New files.
83264
83265         * tests/test-des.c, tests/test-gc-des.c: New file.
83266
83267 2005-10-21  Simon Josefsson  <jas@extundo.com>
83268
83269         * modules/arctwo, modules/arctwo-tests: New files.
83270
83271         * tests/test-arctwo.c: New file.
83272
83273         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83274
83275         * tests/test-gc-arctwo.c: New file.
83276
83277 2005-10-21  Simon Josefsson  <jas@extundo.com>
83278
83279         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83280         Bruno Haible <bruno@clisp.org>.
83281
83282         * m4/gc-des.m4: New file.
83283
83284 2005-10-21  Simon Josefsson  <jas@extundo.com>
83285
83286         * m4/arctwo.m4: New file.
83287
83288         * m4/gc-arctwo.m4: New file.
83289
83290 2005-10-21  Simon Josefsson  <jas@extundo.com>
83291
83292         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83293         block.
83294
83295 2005-10-21  Simon Josefsson  <jas@extundo.com>
83296
83297         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83298         <bruno@clisp.org>.
83299
83300         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83301
83302         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83303         Bruno Haible <bruno@clisp.org>.
83304
83305         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83306         <bruno@clisp.org>.
83307
83308 2005-10-21  Simon Josefsson  <jas@extundo.com>
83309
83310         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83311
83312 2005-10-21  Simon Josefsson  <jas@extundo.com>
83313
83314         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83315
83316 2005-10-21  Simon Josefsson  <jas@extundo.com>
83317
83318         * lib/des.h, lib/des.c: New files.
83319
83320         * lib/gc-gnulib.c: Support DES.c
83321
83322 2005-10-21  Simon Josefsson  <jas@extundo.com>
83323
83324         * lib/arctwo.h, lib/arctwo.c: New files.
83325
83326         * lib/gc-gnulib.c: Support ARCTWO.
83327
83328 2005-10-21  Simon Josefsson  <jas@extundo.com>
83329
83330         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83331         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83332
83333 2005-10-21  Simon Josefsson  <jas@extundo.com>
83334
83335         * gnulib-tool (func_import, func_create_testdir): Define automake
83336         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83337         Makefile.am snippet),
83338         suggested by Bruno Haible <bruno@clisp.org>.
83339
83340         * modules/gc (Makefile.am): Use it.
83341
83342 2005-10-21  Bruno Haible  <bruno@clisp.org>
83343
83344         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83345         patch.
83346
83347 2005-10-19  Simon Josefsson  <jas@extundo.com>
83348
83349         * tests/test-gc-rijndael.c: New file.
83350
83351         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83352
83353 2005-10-19  Simon Josefsson  <jas@extundo.com>
83354
83355         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83356         interface too.
83357
83358 2005-10-19  Simon Josefsson  <jas@extundo.com>
83359
83360         * tests/test-gc-arcfour.c: New file.
83361
83362         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83363
83364 2005-10-19  Simon Josefsson  <jas@extundo.com>
83365
83366         * modules/gc-md4, modules/gc-md4-tests: New file.
83367
83368         * tests/test-gc-md4.c: New file.
83369
83370 2005-10-19  Simon Josefsson  <jas@extundo.com>
83371
83372         * m4/gc-md4.m4: New file.
83373
83374 2005-10-19  Simon Josefsson  <jas@extundo.com>
83375
83376         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83377         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83378         <kasal@ucw.cz>.
83379
83380 2005-10-19  Simon Josefsson  <jas@extundo.com>
83381
83382         * m4/gc-arcfour.m4: New file.
83383
83384         * m4/gc-rijndael.m4: New file.
83385
83386 2005-10-19  Simon Josefsson  <jas@extundo.com>
83387
83388         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83389
83390 2005-10-19  Simon Josefsson  <jas@extundo.com>
83391
83392         * lib/gc-gnulib.c: Support ARCFOUR.
83393
83394 2005-10-19  Simon Josefsson  <jas@extundo.com>
83395
83396         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83397         support.
83398
83399         * lib/gc.h: Add ECB enum type.
83400
83401         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83402
83403 2005-10-18  Simon Josefsson  <jas@extundo.com>
83404
83405         * tests/test-md5.c: New file.
83406
83407         * modules/md5-tests: New file.
83408
83409 2005-10-18  Simon Josefsson  <jas@extundo.com>
83410
83411         * tests/test-md4.c: New file.
83412
83413         * modules/md4, modules/md4-tests: New files.
83414
83415 2005-10-18  Simon Josefsson  <jas@extundo.com>
83416
83417         * m4/md4.m4: New file.
83418
83419 2005-10-18  Simon Josefsson  <jas@extundo.com>
83420
83421         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83422
83423 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83424
83425         * gnulib-tool (func_create_testdir): Omit the second check whether
83426         BUILT_SOURCES in nonempty.
83427
83428 2005-10-17  Simon Josefsson  <jas@extundo.com>
83429
83430         * tests/test-rijndael.c: New file.
83431
83432 2005-10-17  Simon Josefsson  <jas@extundo.com>
83433
83434         * modules/sha1: Depend on stdint instead of md5.
83435
83436         * modules/md5: Depend on stdint, remove uint32_t.
83437
83438 2005-10-17  Simon Josefsson  <jas@extundo.com>
83439
83440         * modules/gc-sha1-tests: New file.
83441
83442         * tests/test-gc-sha1.c: New file.
83443
83444 2005-10-17  Simon Josefsson  <jas@extundo.com>
83445
83446         * m4/md5.m4: Remove call to uint32_t.m4.
83447
83448 2005-10-17  Simon Josefsson  <jas@extundo.com>
83449
83450         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83451
83452         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83453         md5.h.
83454
83455         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83456
83457         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83458
83459 2005-10-17  Simon Josefsson  <jas@extundo.com>
83460
83461         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83462
83463 2005-10-17  Simon Josefsson  <jas@extundo.com>
83464
83465         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83466
83467 2005-10-17  Simon Josefsson  <jas@extundo.com>
83468
83469         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83470
83471         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83472
83473 2005-10-17  Bruno Haible  <bruno@clisp.org>
83474
83475         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83476         that it can also be used in a test.
83477
83478 2005-10-16  Bruno Haible  <bruno@clisp.org>
83479
83480         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83481         TESTS_ENVIRONMENT, so that individual tests can augment it.
83482
83483         * gnulib-tool (func_create_testdir): Use an intermediate target for
83484         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83485         macros, like $(ALLOCA_H), which cannot be passed through the command
83486         line.
83487
83488 2005-10-15  Simon Josefsson  <jas@extundo.com>
83489
83490         * modules/rijndael-tests: New file.
83491
83492         * modules/rijndael: New file.
83493
83494 2005-10-15  Simon Josefsson  <jas@extundo.com>
83495
83496         * m4/rijndael.m4: New file.
83497
83498 2005-10-15  Simon Josefsson  <jas@extundo.com>
83499
83500         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83501
83502         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83503
83504 2005-10-14  Simon Josefsson  <jas@extundo.com>
83505
83506         * tests/test-arcfour.c: New file.
83507
83508         * modules/arcfour, modules/arcfour-tests: New files.
83509
83510 2005-10-14  Simon Josefsson  <jas@extundo.com>
83511
83512         * m4/arcfour.m4: New file.
83513
83514 2005-10-14  Simon Josefsson  <jas@extundo.com>
83515
83516         * lib/arcfour.h, lib/arcfour.c: New files.
83517
83518 2005-10-14  Roland McGrath  <roland@redhat.com>
83519
83520         Import from libc.  [BZ #1331]
83521         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83522         macro argument.
83523         Reported by Matej Vela <vela@debian.org>.
83524
83525 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83526
83527         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83528         include <wchar.h>; no longer needed.
83529
83530 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83531
83532         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83533
83534 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83535         and  Ulrich Drepper  <drepper@redhat.com>
83536
83537         Import from libc.
83538         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83539         instead of inline stream orientation test and two separate
83540         function calls.  Pay no attention to USE_IN_LIBIO.
83541
83542 2005-10-13  Simon Josefsson  <jas@extundo.com>
83543
83544         * modules/gc-hmac-md5-tests: New file.
83545
83546         * tests/test-gc-hmac-sha1.c: New file.
83547
83548         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83549
83550         * modules/gc-hmac-md5-tests: New file.
83551
83552         * tests/test-gc-md5.c: New file.
83553
83554         * modules/gc-md5-tests: New file.
83555
83556 2005-10-13  Simon Josefsson  <jas@extundo.com>
83557
83558         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83559         Move memory allocation outside of loop.
83560
83561 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83562
83563         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83564         intermediate directory is in a read-only file system.  Problem
83565         reported by Eric Blake.
83566
83567 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83568
83569         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83570
83571 2005-10-12  Simon Josefsson  <jas@extundo.com>
83572
83573         * tests/test-hmac-sha1.c: New file.
83574
83575         * modules/hmac-sha1-tests: New file.
83576
83577         * modules/hmac-sha1: New file.
83578
83579 2005-10-12  Simon Josefsson  <jas@extundo.com>
83580
83581         * modules/gc-sha1: New file.
83582
83583 2005-10-12  Simon Josefsson  <jas@extundo.com>
83584
83585         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83586
83587         * tests/test-gc-pbkdf2-sha1.c: New file.
83588
83589 2005-10-12  Simon Josefsson  <jas@extundo.com>
83590
83591         * modules/gc-md5, modules/gc-hmac-md5: New files.
83592
83593         * modules/gc (Files): Remove md5, memxor and hmac files.
83594
83595 2005-10-12  Simon Josefsson  <jas@extundo.com>
83596
83597         * m4/gc-pbkdf2-sha1.m4: New file.
83598
83599         * m4/gc-hmac-sha1.m4: New file.
83600
83601         * m4/gc-sha1: New file.
83602
83603         * m4/hmac-sha1.m4: New file.
83604
83605 2005-10-12  Simon Josefsson  <jas@extundo.com>
83606
83607         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83608
83609         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83610
83611 2005-10-12  Simon Josefsson  <jas@extundo.com>
83612
83613         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83614         suggested by Bruno Haible <bruno@clisp.org>.
83615
83616 2005-10-12  Simon Josefsson  <jas@extundo.com>
83617
83618         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83619
83620 2005-10-12  Simon Josefsson  <jas@extundo.com>
83621
83622         * lib/gc-pbkdf2-sha1.c: New file.
83623
83624         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83625
83626 2005-10-12  Simon Josefsson  <jas@extundo.com>
83627
83628         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83629
83630         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83631
83632 2005-10-12  Simon Josefsson  <jas@extundo.com>
83633
83634         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83635         GC_USE_HMAC_MD5, respectively.
83636
83637         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83638         (gc_md5): Fix typo.
83639
83640         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83641
83642         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83643
83644         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83645
83646 2005-10-12  Bruno Haible  <bruno@clisp.org>
83647
83648         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83649         Reported by Stepan Kasal <kasal@ucw.cz>.
83650
83651 2005-10-11  Simon Josefsson  <jas@extundo.com>
83652
83653         * tests/test-crc.c: New file.
83654
83655         * modules/crc, modules/crc-tests: New files.
83656
83657 2005-10-11  Simon Josefsson  <jas@extundo.com>
83658
83659         * m4/crc.m4: New file.
83660
83661 2005-10-11  Simon Josefsson  <jas@extundo.com>
83662
83663         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83664
83665         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83666
83667         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83668
83669 2005-10-11  Simon Josefsson  <jas@extundo.com>
83670
83671         * lib/crc.h, lib/crc.c: New files.
83672
83673         * lib/gc.h (gc_hash_buffer): Add doc.
83674
83675 2005-10-11  Bruno Haible  <bruno@clisp.org>
83676
83677         * modules/c-strcasestr: New file.
83678         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83679
83680 2005-10-11  Bruno Haible  <bruno@clisp.org>
83681
83682         * modules/c-strcase: New file.
83683         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83684
83685 2005-10-11  Bruno Haible  <bruno@clisp.org>
83686
83687         * lib/strcasecmp.c: Include limits.h.
83688         (strcasecmp): Avoid integer overflow on exotic platforms.
83689         * lib/strncasecmp.c: Include limits.h.
83690         (strncasecmp): Avoid integer overflow on exotic platforms.
83691         Reported by Paul Eggert.
83692
83693 2005-10-11  Bruno Haible  <bruno@clisp.org>
83694
83695         * lib/c-strcasestr.h: New file, from GNU gettext.
83696         * lib/c-strcasestr.c: New file, from GNU gettext.
83697
83698 2005-10-11  Bruno Haible  <bruno@clisp.org>
83699
83700         * lib/c-strcase.h: New file, from GNU gettext.
83701         * lib/c-strcasecmp.c: New file, from GNU gettext.
83702         * lib/c-strncasecmp.c: New file, from GNU gettext.
83703
83704 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83705
83706         * modules/mempcpy (License): GPL -> LGPL.
83707         * modules/strchrnul (License): Likewise.
83708         * modules/sysexits (License): Likewise.
83709
83710 2005-10-08  Simon Josefsson  <jas@extundo.com>
83711
83712         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83713
83714 2005-10-07  Simon Josefsson  <jas@extundo.com>
83715
83716         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83717
83718 2005-10-06  Simon Josefsson  <jas@extundo.com>
83719
83720         * tests/test-hmac-md5.c: New file.
83721
83722         * modules/hmac-md5-tests: New file.
83723
83724         * modules/hmac-md5: New file.
83725
83726 2005-10-06  Simon Josefsson  <jas@extundo.com>
83727
83728         * m4/hmac-md5.m4: New file.
83729
83730         * m4/memxor.m4: Require gl_C_RESTRICT.
83731
83732 2005-10-06  Simon Josefsson  <jas@extundo.com>
83733
83734         * lib/memxor.c (memxor): Avoid casts and warnings.
83735
83736 2005-10-06  Simon Josefsson  <jas@extundo.com>
83737
83738         * lib/hmac-md5.c: New file.
83739
83740         * lib/hmac.h: New file.
83741
83742 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83743
83744         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83745         promotes to int, not unsigned int, to catch the AIX 5.3
83746         compiler bug.
83747
83748 2005-10-05  Simon Josefsson  <jas@extundo.com>
83749
83750         * modules/memxor: New file.
83751
83752         * modules/iconv (Files): Move config.rpath to havelib, it is used
83753         there.
83754
83755         * modules/havelib (Files): Add config.rpath.
83756
83757 2005-10-05  Simon Josefsson  <jas@extundo.com>
83758
83759         * m4/memxor.m4: New file.
83760
83761 2005-10-05  Simon Josefsson  <jas@extundo.com>
83762
83763         * lib/memxor.c (memxor): Fix compiler error.
83764
83765         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
83766         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
83767
83768         * lib/memxor.h, lib/memxor.c: New files.
83769
83770         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
83771         we assume all systems have it, suggested by Jim Meyering
83772         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
83773         any systems lack sys/socket.h; mingw32 is known to lack it, but we
83774         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
83775         same reasons.
83776
83777 2005-10-05  Simon Josefsson  <jas@extundo.com>
83778
83779         * config/srclist.txt: Add glibc bug 1423 for md5.h.
83780
83781 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
83782
83783         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
83784         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
83785         needed, since the source code now assumes these .h files.
83786
83787 2005-10-05  Derek Price  <derek@ximbiot.com>
83788
83789         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
83790
83791 2005-10-05  Bruno Haible  <bruno@clisp.org>
83792
83793         * modules/stdint (License): Change to LGPL.
83794
83795 2005-10-04  Simon Josefsson  <jas@extundo.com>
83796
83797         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
83798         D. Baushke" <mdb@gnu.org>.
83799
83800 2005-10-04  Bruno Haible  <bruno@clisp.org>
83801
83802         * lib/verify.h (verify_true): Provide alternative definition for C++.
83803
83804 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
83805
83806         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
83807         (SSIZE_MAX): New macro, if not already defined.
83808         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
83809         than 2 GiB.
83810
83811 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83812
83813         Sync from coreutils.
83814         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
83815         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
83816         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
83817         ULLONG_MAX doesn't work with 2.7.2.1.
83818
83819 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83820
83821         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
83822         From Ben Pfaff.
83823
83824         * modules/exclude (Depends-on): Depend on verify.
83825         * modules/strtoimax (Depends-on): Likewise.
83826         * modules/utimecmp (Depends-on): Likewise.
83827
83828 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83829
83830         * lib/exclude.c: Include verify.h.
83831         (verify): Remove.  All callers changed to use verify.h's version.
83832         * lib/strtoimax.c: Likewise.
83833         * lib/utimecmp.c: Likewis.e
83834
83835         Sync from coreutils.
83836         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
83837         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
83838         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
83839         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
83840         bother returning ENOSYS if settimeofday or stime fails; just let
83841         them return whatever errno they want to return.
83842         * lib/utimens.c: Include unistd.h, for dup2.
83843         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
83844         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
83845
83846 2005-10-02  Jim Meyering  <jim@meyering.net>
83847
83848         Sync from coreutils.
83849         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
83850         from glibc-2.2.5 that fails for read-only files.
83851
83852 2005-10-02  Jim Meyering  <jim@meyering.net>
83853
83854         Sync from coreutils.
83855         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
83856         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
83857         `#if HAVE_CONFIG_H'.
83858         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
83859         Remove AT_FDCWD test.
83860         Do not consume the fd unless successful.
83861         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
83862         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
83863         block, so that we don't even try to compile it if settimeofday is
83864         available.  This works around a compilation failure on OSF1 V5.1,
83865         due to stime requiring a `long int*' while tv_sec is `int'.
83866
83867 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
83868
83869         Sync from coreutils.
83870         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
83871         against `yes', rather than just testing for nonempty.
83872
83873 2005-10-01  Simon Josefsson  <jas@extundo.com>
83874
83875         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
83876         and Darwin.
83877
83878         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
83879         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
83880         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
83881         freeaddrinfo and gai_strerror are declared by the POSIX headers.
83882         Check if struct addrinfo is declared.
83883
83884 2005-10-01  Simon Josefsson  <jas@extundo.com>
83885
83886         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
83887         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
83888         AI_* and EAI_* definitions.  Protect function declarations.
83889
83890 2005-10-01  Jim Meyering  <jim@meyering.net>
83891
83892         Sync from coreutils.
83893
83894         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
83895         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
83896         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
83897         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83898         in the inet and nsl libraries.  Required on Solaris 5.7.
83899
83900 2005-10-01  Jim Meyering  <jim@meyering.net>
83901
83902         Sync from coreutils.
83903         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83904         in the inet and nsl libraries.  Required on Solaris 5.7.
83905
83906 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
83907
83908         * lib/getdelim.c (getdelim): Remove unused variables.
83909
83910 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
83911
83912         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
83913         so that the code works even with ancient cpp.  Portability problem
83914         with GCC 2.7.2.1 reported by Thomas M.Ott.
83915
83916 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
83917
83918         * modules/regex (Depends-on): Add strcase.
83919
83920         * modules/gethostname (Licence): Change from GPL to LGPL, since
83921         gethostname.c is a trivial implementation of a standard library
83922         function.
83923         * modules/poll (License): Change from GPL to LGPL, since it's
83924         derived from LGPL code.
83925
83926 2005-09-27  Jim Meyering  <jim@meyering.net>
83927
83928         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
83929         HAVE_CONFIG_H.
83930
83931         * lib/intprops.h (signed_type_or_expr__): Define.
83932         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83933         for unsigned types.
83934
83935 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83936
83937         * lib/verify.h (verify_expr): Remove, replacing with:
83938         (verify_true): New macro that returns true instead of void.
83939         (verify_type__): Remove.
83940         (verify): Use verify_true rather than verify_type__.
83941
83942 2005-09-26  Bruno Haible  <bruno@clisp.org>
83943
83944         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
83945         is necessary.
83946         (lib_SOURCES): Remove mbchar.c.
83947         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
83948         (Files): Add m4/mbrtowc.m4.
83949         * modules/mbiter: Likewise.
83950         * modules/mbuiter: Likewise.
83951
83952 2005-09-26  Bruno Haible  <bruno@clisp.org>
83953
83954         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
83955         compile mbchar.c if they are not both present.
83956         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
83957         * m4/mbiter.m4 (gl_MBITER): Likewise.
83958         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
83959         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
83960         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
83961
83962 2005-09-25  Jim Meyering  <jim@meyering.net>
83963
83964         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
83965         also uses socklen_t.
83966
83967 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
83968
83969         * lib/utimens.c (ENOSYS): Define if not already defined.
83970         (futimens): Support having a null PATH if the file descriptor
83971         is nonnegative.
83972
83973         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
83974         Remove.
83975         (__attribute): Define to empty unless GCC 3.1 or later.
83976         This works around a core dump on OpenBSD 3.4, which has GCC
83977         2.95.3, which dumps core when given __attribute__(()).  It also
83978         simplifies other tests, since we really don't want to bother with
83979         worrying about which ancient version of GCC supported what.
83980         Original problem reported by Yoann Vandoorselaere, with part of
83981         the fix suggested by Derek Price.
83982
83983 2005-09-24  Jim Meyering  <jim@meyering.net>
83984
83985         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
83986         so we can once again use a positive bitfield width of 1 -- now we
83987         don't have to explain why we were using a bitfield width of 2.
83988
83989 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83990
83991         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
83992         and similarly for the other external symbols.  Problem reported
83993         by James Gallager.
83994
83995         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
83996         bug reported by Jim Meyering.
83997
83998         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
83999         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84000         not needed, since socklen is a prerequisite module.
84001
84002 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84003
84004         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84005         Problem reported by Eric Blake.
84006         (getaddrinfo): Initialize se so that it's not garbage.
84007         Redo internal storage allocation so that it doesn't make unportable
84008         assumptions about alignment.
84009         Fix a memory leak.
84010
84011         * lib/utimens.c (futimens): Use futimesat if available.
84012         Prefer it to futimes since it doesn't have the futimes bug.
84013
84014         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84015         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84016         Instead, declare a function that returns a pointer to an array,
84017         and use verify_type__ to declare the size of the array.
84018         Problem and germ of a solution reported by Bruno Haible.
84019         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84020         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84021
84022 2005-09-23  Jim Meyering  <jim@meyering.net>
84023
84024         Sync from coreutils.
84025         Correct build failure (socklen_t not defined) on at least
84026         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84027         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84028
84029 2005-09-23  Jim Meyering  <jim@meyering.net>
84030
84031         * modules/getaddrinfo (Depends-on): Add socklen.
84032
84033 2005-09-23  Bruno Haible  <bruno@clisp.org>
84034
84035         * tests/test-verify.c: New file.
84036
84037 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84038
84039         Sync from coreutils.
84040
84041         * modules/argmatch (Depends-on): Add verify.
84042         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84043         unistd-safer.
84044         * modules/save-cwd (Depends-on): Likewise.
84045
84046         * modules/openat (Files): Add lib/openat-die.c.
84047         (Depends-on): Remove error, exitfail.
84048         Add dirname.
84049
84050         * modules/verify: New file.
84051         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84052         with "verify" module.
84053
84054 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84055
84056         Sync from coreutils.
84057
84058         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84059         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84060         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84061         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84062         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84063         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84064         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84065         Don't bother checking for string.h, stdlib.h, unistd.h.
84066         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84067         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84068         module's job.
84069         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84070         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84071
84072         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84073         (gl_GETDATE): Use it.
84074
84075         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84076
84077 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84078
84079         Sync from coreutils.
84080
84081         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84082         stat-time.h.
84083         * lib/argmatch.h: Include verify.h
84084         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84085         (ARGMATCH_ASSERT): Remove; unused.
84086         * lib/canonicalize.c: Assume STDC_HEADERS.
84087         * lib/exclude.c: Include "strcase.h".
84088         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84089         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84090         and stdio-safer.h.
84091         (getusershell): Call fopen, not fopen_safer.
84092         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84093         Do not include unistd-safer.h.
84094         (save_cwd): Don't call fd_safer; no longer needed
84095         now that we include fcntl--.h.
84096
84097         * lib/getdate.y (relative_time): New type.
84098         (RELATIVE_TIME_0): New constant.
84099         (parser_control): Use relative_time instead of doing it ourselves.
84100         (%union): Add new relative_time rel member.
84101         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84102         Now typeless.
84103         (relunit, relunit_snumber): Now of type rel.
84104         (zone, rel, relunit, get_date): Adjust to above changes.
84105
84106         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84107         Do not include unistd-safer.h.
84108         (getloadavg): Don't call fd_safer; no longer needed
84109         now that we include fcntl--.h.
84110
84111         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84112         (make_dir_parents): Treat ENOSYS like EEXIST.
84113
84114         Improve quality of diagnostics on restore_cwd failure.
84115         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84116         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84117         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84118         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84119         each time through the loop.  Do not diagnose restore_cwd failure;
84120         that is the caller's job (and perhaps the caller does not care).
84121
84122         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84123         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84124         If the file already exists but is not a directory, don't bother
84125         to try to make its parents.
84126         Close potential file descriptor leak if we can't chdir("/") (!).
84127         Don't always return true if chdir($PWD) fails; return true only
84128         if the requested action was done successfully (except for the
84129         chdir($PWD)).
84130         Don't log final directory unless we actually made it.
84131         Refactor to avoid duplicate code to fix up permissions.
84132         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84133
84134         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84135         to make it a bit faster and (I hope) clearer.
84136         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84137         Fix bug in formats like %2N.
84138
84139         * lib/verify.h: New file.
84140
84141 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84142
84143         Sync from coreutils.
84144         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84145
84146 2005-09-22  Jim Meyering  <jim@meyering.net>
84147
84148         Sync from coreutils.
84149
84150         * m4/lstat.m4 (gl_FUNC_LSTAT):
84151         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84152         Remove obsolete comment.
84153         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84154         * m4/xstrtod.m4: Likewise.
84155
84156         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84157
84158 2005-09-22  Jim Meyering  <jim@meyering.net>
84159
84160         Sync from coreutils.
84161
84162         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84163
84164         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84165         the .tm_year member, since otherwise gcc-4.0 would now warn about
84166         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84167
84168         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84169         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84170
84171         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84172         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84173         when run in a time zone for which daylight savings time is in effect
84174         for the starting date.
84175
84176         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84177         stop us from restricting permissions of just-created absolute-named
84178         directories.
84179         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84180         to restore initial working directory.
84181         * lib/mkdir-p.c (make_dir_parents): New parameter:
84182         different_working_dir, to tell caller if/when we change the working
84183         directory and are unable to return to the initial one.
84184         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84185         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84186         `return false'.  This fixes a bug introduced on 2004-07-30.
84187
84188         * lib/openat.c (fdopendir): Be sure to close the supplied
84189         file descriptor before returning.  This makes our replacement
84190         implementation a little closer to Solaris's, where fdopendir
84191         ties the file descriptor to the returned DIR* pointer.
84192         * lib/openat.c (unlinkat): New function.
84193         * lib/openat.h (unlinkat): Add prototype.
84194         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84195         (openat_restore_fail): Rename from openat_restore_die.
84196         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84197
84198         Provide an alternative to exiting immediately upon save_cwd or
84199         restore_cwd failure.  Now, an application can arrange e.g.,
84200         to perform a longjump in that case.
84201         * lib/openat.c: Include dirname.h.
84202         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84203         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84204         and openat_restore_die rather than calling error directly.
84205         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84206
84207         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84208         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84209         define.
84210
84211         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84212         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84213                             int utc, int nanoseconds);
84214         Background:
84215         date should not have to allocate a megabyte of virtual memory to
84216         handle a format argument like +%1048575T.  When implemented with
84217         strftime, it must allocate such a buffer, use strftime to fill it
84218         in, print it, then free it.
84219         With fprintftime, it simply prints everything and exits.
84220         With no need for memory allocation, that's one fewer way to fail.
84221         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84222         optional field width, not before, so we accept %9:z, not %:9z.
84223         (my_strftime): Be sure to use L_('x') for literals.
84224
84225         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84226         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84227         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84228         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84229         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84230         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84231         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84232         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84233         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84234         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84235         * lib/xgethostname.c, lib/xreadlink.c:
84236         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84237
84238         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84239         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84240         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84241         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84242         and don't include <sys/file.h>).
84243
84244 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84245
84246         Sync from coreutils.
84247
84248         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84249         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84250         [!LDAV_DONE]: Avoid unused variable warning.
84251
84252 2005-09-21  Bruno Haible  <bruno@clisp.org>
84253
84254         * lib/unicodeio.h (unicode_to_mb): New declaration.
84255
84256 2005-09-20  Derek Price  <derek@ximbiot.com>
84257
84258         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84259         getaddrinfo.h.
84260
84261 2005-09-20  Bruno Haible  <bruno@clisp.org>
84262
84263         * gnulib-tool: Remove trailing slashes from the values specified for
84264         --source-base, --m4-base, --tests-base, --aux-dir.
84265         Suggested by Simon Josefsson <jas@extundo.com>.
84266
84267 2005-09-20  Bruno Haible  <bruno@clisp.org>
84268
84269         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84270         func_modules_to_filelist, func_import, func_create_testdir): Make all
84271         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84272         change when gnulib-tool is invoked in a different locale.
84273
84274 2005-09-19  Simon Josefsson  <jas@extundo.com>
84275
84276         * m4/socklen.m4: Fix typo.
84277
84278 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84279
84280         Use a consistent style for including <config.h>.
84281         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84282         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84283         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84284         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84285         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84286         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84287         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84288         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84289         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84290         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84291         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84292         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84293         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84294         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84295         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84296         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84297         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84298         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84299         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84300         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84301         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84302         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84303         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84304         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84305         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84306         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84307         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84308         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84309         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84310         lib/xstrtoumax.c, lib/yesno.c:
84311         Standardize inclusion of config.h.
84312         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84313         lib/inttostr.h:  Removed inclusion of config.h from header files.
84314         * lib/inttostr.c:  Adjusted in-tree users.
84315         * lib/timespec.h: Remove superfluous warning to include config.h.
84316         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84317         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84318         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84319         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84320         config.h with HAVE_CONFIG_H.
84321
84322 2005-09-19  Jim Meyering  <jim@meyering.net>
84323
84324         * modules/pathmax (License): Change to LGPL.
84325
84326 2005-09-19  Derek Price  <derek@ximbiot.com>
84327
84328         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84329
84330 2005-09-19  Bruno Haible  <bruno@clisp.org>
84331
84332         * gnulib-tool (import): Provide default for --tests-base.
84333
84334 2005-09-19  Bruno Haible  <bruno@clisp.org>
84335
84336         * doc/quote.texi: New file, extracted from gnulib.texi.
84337         * doc/ctime.texi: New file, extracted from gnulib.texi.
84338         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84339         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84340         * doc/gnulib.texi: Include them.
84341
84342 2005-09-18  Bruno Haible  <bruno@clisp.org>
84343
84344         Portability fix.
84345         * gnulib-tool (func_readlink): New function.
84346         (func_ln_if_changed): Use it.
84347
84348 2005-09-18  Bruno Haible  <bruno@clisp.org>
84349
84350         * gnulib-tool: Support --with-tests also with --import.
84351         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84352         (func_import): Use variables $testsbase and $inctests. Emit a
84353         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84354         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84355         SUBDIRS += $testsdir.
84356         (func_create_testdir): Update.
84357
84358 2005-09-18  Bruno Haible  <bruno@clisp.org>
84359
84360         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84361         instead of $dry_run.
84362         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84363         (func_ln_if_changed): Don't handle dry-run here.
84364         (func_import): In dry-run mode, detect more precisely which actions
84365         would be performed, and don't use "...ing" verbs.
84366
84367 2005-09-18  Bruno Haible  <bruno@clisp.org>
84368
84369         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84370         (func_import): Use join on two temporary files instead of three nested
84371         loops, in order to determine which files are new or old.
84372
84373 2005-09-18  Bruno Haible  <bruno@clisp.org>
84374
84375         * gnulib-tool (func_import): Comment out code that spits out the
84376         new files with --dry-run.
84377
84378 2005-09-18  Bruno Haible  <bruno@clisp.org>
84379
84380         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84381
84382 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84383
84384         * lib/stat-time.h: New file.
84385         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84386         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84387         in a different way.
84388         (timespec_cmp): New function.
84389         * lib/utimecmp.c: Include stat-time.h.
84390         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84391         members exist, not on the obsolescent ST_MTIM_NSEC.
84392         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84393
84394 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84395
84396         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84397
84398 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84399
84400         * MODULES.html.sh (File system functions): Add stat-time.
84401         * modules/stat-time: New file.
84402         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84403         is now done in a different way, by the stat-time module.
84404         * modules/utimecmp (Depends-on): Add stat-time.
84405
84406 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84407
84408         * m4/st_mtim.m4: Remove.  Superseded by...
84409         * m4/stat-time.m4: New file.
84410         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84411         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84412
84413 2005-09-15  Derek Price  <derek@ximbiot.com>
84414
84415         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84416
84417 2005-09-15  Derek Price  <derek@ximbiot.com>
84418
84419         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84420         * lib/regex_internal.c: Ditto, using this...
84421         (__GNUC_PREREQ): ...new macro.
84422         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84423         using...
84424         (__GNUC_PREREQ): ...this new macro.
84425
84426         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84427
84428 2005-09-15  Derek Price  <derek@ximbiot.com>
84429             Paul Eggert  <eggert@cs.ucla.edu>
84430
84431         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84432         changes, consolidating in...
84433         * lib/regex_internal.h: ...this file.
84434
84435 2005-09-13  Jim Meyering  <jim@meyering.net>
84436
84437         * lib/canon-host.c: Filter through gnu indent and reword comments
84438         slightly.
84439         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84440
84441 2005-09-13  Derek Price  <derek@ximbiot.com>
84442
84443         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84444         failure.
84445         Reported by Jim Meyering  <jim@meyering.net>.
84446
84447 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84448
84449         * lib/base64.c: Typo.
84450         (base64_encode): Put b64str in initialized data section.
84451
84452 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84453
84454         Merge glibc and coreutils changes into gnulib, plus a few
84455         extra fixes.
84456         * lib/md5.c: Use #error rather than a string.
84457         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84458         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84459         (__attribute__): Define to empty for non recent-GCC.
84460         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84461         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84462         Renamed from their non-__ counterparts, with new macros replacing
84463         them if not _LIBC.  Add __THROW attribute.
84464         (rol): Remove.
84465         (struct md5_ctx): Align buffer if using GCC.
84466         * lib/sha1.h (struct sha1_ctx): Likewise.
84467         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84468         The old name was backwards.
84469         (NOTSWAP): Remove; not used.
84470         (rol): New macro, moved here from md5.h.
84471         (sha1_process_block): Remove a FIXME that doesn't make sense.
84472
84473 2005-09-12  Derek Price  <derek@ximbiot.com>
84474
84475         Return usable errors from canon-host.
84476         * lib/canon-host.h: New file.
84477         * lib/canon-host.c (canon_host): Wrap...
84478         (canon_host_r): ...this new function, which now relies exclusively on
84479         getaddrinfo.
84480         (ch_strerror): New function.
84481         (last_cherror): New global.
84482         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84483         interface.
84484         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84485         void *.
84486         (freeaddrinfo): Free ai->ai_canonname when set.
84487
84488 2005-09-12  Derek Price  <derek@ximbiot.com>
84489
84490         Make canon-host require getaddrinfo.
84491         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84492         AC_LIBSOURCE canon-host.h.  Call...
84493         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84494         gl_GETADDRINFO.
84495         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84496
84497 2005-09-12  Derek Price  <derek@ximbiot.com>
84498
84499         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84500         LGPL.
84501         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84502
84503 2005-09-12  Derek Price  <derek@ximbiot.com>
84504
84505         * lib/gai_strerror.c: Include config.h when available.  Include
84506         getaddrinfo.h before other headers to test interface.
84507         Reported by Larry Jones <lawrence.jones@ugs.com>.
84508
84509 2005-09-12  Derek Price  <derek@ximbiot.com>
84510             Paul Eggert  <eggert@cs.ucla.edu>
84511
84512         * modules/glob (Files): Add glob-libc.h.
84513
84514 2005-09-12  Derek Price  <derek@ximbiot.com>
84515             Paul Eggert  <eggert@cs.ucla.edu>
84516
84517         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84518         glob_.h, glob-libc.h.
84519         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84520
84521 2005-09-12  Derek Price  <derek@ximbiot.com>
84522             Paul Eggert  <eggert@cs.ucla.edu>
84523
84524         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84525         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84526         protecting things that should be done only in gnulib contexts.
84527         * lib/glob_.h: New file, containing only the glob things needed for
84528         gnulib.
84529         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84530         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84531         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84532         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84533         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84534         and to respect the namespace rules better.
84535
84536 2005-09-08  Simon Josefsson  <jas@extundo.com>
84537
84538         * modules/socklen: New file.
84539
84540 2005-09-08  Simon Josefsson  <jas@extundo.com>
84541
84542         * m4/socklen.m4: New file.
84543
84544 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84545
84546         * modules/utimens (Files): Add m4/utimbuf.m4, since
84547         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84548         Reported by Sergey Poznyakoff.
84549
84550 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84551
84552         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84553         definitions, since that's the preferred style in glibc.
84554         Fix a minor spacing issue, and update copyright notice to match
84555         glibc's.
84556
84557 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84560
84561 2005-09-06  Simon Josefsson  <jas@extundo.com>
84562
84563         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84564         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84565
84566 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84567
84568         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84569         warning.
84570
84571 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84572
84573         * config/srclist.txt: Add glibc bug 1302.
84574
84575 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84576
84577         Change bitset word type from unsigned int to unsigned long int,
84578         as this has better performance on typical 64-bit hosts.
84579         Port bitset code to hosts with unusual word sizes.
84580         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84581         (build_collating_symbol):
84582         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84583         argument is a bitset.  This is merely a style issue, but it makes
84584         it clearer that an entire array is expected.
84585         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84586         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84587         Port to the case where bitset_word is not the same as unsigned int.
84588         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84589         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84590         Likewise.
84591         * lib/regexec.c (check_dst_limits_calc_pos_1,
84592         check_subexp_matching_top):
84593         (build_trtable, group_nodes_into_DFAstates):
84594         Likewise.
84595         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84596         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84597         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84598         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84599         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84600         * lib/regcomp.c (optimize_subexps, lower_subexp):
84601         Work even if bitset_word has holes in its bitwise representation.
84602         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84603         * lib/regexec.c (check_dst_limits_calc_pos_1,
84604         check_subexp_matching_top):
84605         Likewise.
84606         * lib/regex_internal.c (re_string_reconstruct):
84607         Don't assume UCHAR_MAX == 255.
84608         * lib/regex_internal.h (bitset_set_all): Likewise.
84609         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84610         All uses changed.
84611         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84612         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84613         All uses changed.
84614         (BITSET_WORD_MAX): New macro.
84615         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84616         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84617         (bitset_empty, bitset_copy):
84618         Prefer sizeof (bitset) to multiplying it out ourselves.
84619         (bitset_not_merge): Remove; unused.
84620         (bitset_contain): Return bool, not unsigned int with one bit on.
84621         All callers changed.
84622         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84623         alignment than re_node_set; do this by defining a new internal
84624         type struct dests_alloc and using it to allocate memory.
84625
84626 2005-09-05  Bruno Haible  <bruno@clisp.org>
84627
84628         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84629         links.
84630
84631 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84632
84633         * modules/size_max (Makefile.am): Add size_max.h
84634
84635 2005-09-04  Derek Price  <derek@ximbiot.com>
84636
84637         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84638
84639 2005-09-03  Simon Josefsson  <jas@extundo.com>
84640
84641         * gnulib-tool: Fix typo.
84642
84643 2005-09-03  Simon Josefsson  <jas@extundo.com>
84644
84645         * config/srclist.txt: Add glibc bug 1293.
84646
84647 2005-09-03  Derek Price  <derek@ximbiot.com>
84648
84649         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84650         From Larry Jones <lawrence.jones@ugs.com>.
84651
84652 2005-09-02  Simon Josefsson  <jas@extundo.com>
84653
84654         * modules/socklen: New file.
84655
84656 2005-09-02  Simon Josefsson  <jas@extundo.com>
84657
84658         * modules/havelib: New module.
84659
84660         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84661         Use havelib.
84662
84663 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         Check for arithmetic overflow when calculating sizes, to prevent
84666         some buffer-overflow issues.  These patches are conservative, in the
84667         sense that when I couldn't determine whether an overflow was possible,
84668         I inserted a run-time check.
84669         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84670         macros.
84671         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84672         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84673         (re_xnrealloc, re_x2nrealloc): New inline functions.
84674         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84675         parse_bracket_exp):
84676         (build_equiv_class, build_charclass): Check for arithmetic overflow
84677         in size expression calculations.
84678         * lib/regex_internal.c (re_string_realloc_buffers):
84679         (build_wcs_upper_buffer, re_node_set_add_intersect):
84680         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84681         (re_dfa_add_node, register_state): Likewise.
84682         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84683         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84684         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84685         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84686
84687 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84688
84689         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84690         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84691
84692 2005-09-02  Bruno Haible  <bruno@clisp.org>
84693
84694         Support for lib vs. lib64 distinction on biarch platforms.
84695         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84696         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84697         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84698
84699 2005-09-02  Bruno Haible  <bruno@clisp.org>
84700
84701         * gnulib-tool (import): In the other first-use case, provide defaults
84702         as well.
84703
84704 2005-09-02  Bruno Haible  <bruno@clisp.org>
84705
84706         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84707         patches not yet found in the latest gettext release.
84708
84709 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84710
84711         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84712         to avoid a collision with bits/local_lim.h in glibc.
84713         All uses changed.  Problem reported by Dmitry V. Levin in
84714         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84715
84716         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84717         bugs in int versus size_t comparisons.
84718         (re_string_context_at): Fix bug where the code assumed that
84719         Idx is signed.
84720
84721         Use bool where appropriate.
84722         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84723         All callers changed.
84724         (calc_eclosure_iter): Likewise, for ROOT arg.
84725         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84726         (build_charclass_op): Likewise, for NON_MATCH arg.
84727         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84728         (re_string_construct_common): Likewise, for ICASE arg.
84729         * lib/regexec.c (re_search_2_stub, re_search_stub):
84730         Likewise, for RET_LEN arg.
84731         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84732         (set_regs): Likewise, for FL_BACKTRACK arg.
84733         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84734         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84735         (calc_eclosure_iter, parse_bracket_exp):
84736         Use bool for internal variables that are booleans.
84737         * lib/regexec.c (re_search_internal, check_matching,
84738         proceed_next_node):
84739         (set_regs, build_sifted_states, sift_states_bkref):
84740         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84741         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84742         (find_collation_sequence_value):
84743         Likewise.
84744         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84745         (re_node_set_compare):
84746         Return bool, not int. All callers changed.
84747         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84748         (build_trtable, check_node_accept): Likewise.
84749         * lib/regex_internal.h: Include stdbool.h.
84750
84751         Fix bugs uncovered when converting to bool.
84752         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84753         failure instead of charging ahead blindly.
84754         * lib/regex_internal.c (register_state): Likewise.
84755         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84756         for freeing internal storage.
84757         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84758         bitset pieces used as boolean, to avoid undefined behavior
84759         on hosts that do int overflow checking.
84760
84761 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84762
84763         * config/srclist.txt: Add glibc bugs 1285-1287.
84764
84765 2005-09-01  Jim Meyering  <jim@meyering.net>
84766
84767         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
84768         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
84769         Require gl_STAT_MACROS, too.
84770
84771 2005-09-01  Bruno Haible  <bruno@clisp.org>
84772
84773         * gnulib-tool (import): In the first-use case, provide defaults.
84774
84775 2005-09-01  Bruno Haible  <bruno@clisp.org>
84776
84777         * gnulib-tool (func_import): Remove the .tmp files.
84778
84779 2005-09-01  Bruno Haible  <bruno@clisp.org>
84780
84781         * gnulib-tool (func_import): Fix handling of symbolic links.
84782
84783 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84784
84785         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
84786         old glibc regex code mishandles strings longer than 2**31 bytes.
84787         This patch fixes this when the regex code is used in gnulib
84788         (i.e., outside glibc).
84789
84790         This patch should not affect the use of the regex code inside
84791         glibc.  No doubt this problem also needs to be handled for glibc
84792         as well, but the result will be an incompatible change to the
84793         glibc ABI, and the old ABI will have to be supported too.  That
84794         can be the the subject for another patch.
84795
84796         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
84797         governing whether the rest of this patch is active.  By default,
84798         the macro is disabled and the patch has no effect.
84799         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
84800         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
84801         (struct re_pattern_buffer, re_search, re_search_2, re_match):
84802         (re_match_2, re_set_registers): Use the new types.
84803         * lib/regex_internal.h (Idx, re_hashval_t): New types.
84804         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
84805         New macros.
84806         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
84807         (re_string_context_at, bin_tree_t, re_dfastate_t):
84808         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
84809         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
84810         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
84811         (re_string_char_size_at, re_string_wchar_at):
84812         (re_string_elem_size_at):
84813         Use the new types and macros to port to 64-bit hosts.
84814         Use unsigned types for internal values, so that the code
84815         mostly works even for arrays larger than SSIZE_MAX.
84816         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
84817         (search_duplicated_node, calc_eclosure_iter, fetch_number):
84818         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
84819         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
84820         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
84821         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
84822         (calc_inveclosure, parse_dup_op, build_range_exp):
84823         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
84824         (fetch_number, create_token_tree, mark_opt_subexp):
84825         Likewise.
84826         * lib/regex_internal.c (re_string_construct_common,
84827         create_ci_newstate):
84828         (create_cd_newstate, re_string_allocate, re_string_construct):
84829         (re_string_realloc_buffers, build_wcs_upper_buffer):
84830         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84831         (re_string_reconstruct, re_string_peek_byte_case):
84832         (re_string_fetch_byte_case, re_string_context_at):
84833         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84834         (re_node_set_init_copy, re_node_set_add_intersect):
84835         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84836         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84837         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84838         (re_acquire_state, re_acquire_state_context, register_state):
84839         Likewise.
84840         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
84841         search_cur_bkref_entry):
84842         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
84843         (re_search_internal, re_search_2_stub, re_search_stub)
84844         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
84845         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
84846         (update_cur_sifted_state, check_dst_limits):
84847         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84848         (check_subexp_limits, sift_states_bkref, merge_state_array):
84849         (check_subexp_matching_top, get_subexp, get_subexp_sub):
84850         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
84851         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84852         (expand_bkref_cache, check_node_accept_bytes):
84853         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
84854         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
84855         (acquire_init_state_context, check_halt_node_context):
84856         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
84857         (sift_states_backward, clean_state_log_if_needed):
84858         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
84859         (find_recover_state, transit_state_sb, transit_state_mb):
84860         (transit_state_bkref, build_trtable, match_ctx_clean):
84861         Likewise.
84862         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
84863         to work around an assumption that REG_MISSING is negative.
84864
84865         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
84866         (seek_collating_symbol_entry) [defined _LIBC]:
84867         (lookup_collation_sequence_value) [defined _LIBC]:
84868         (build_range_exp, build_collating_symbol) [defined _LIBC]:
84869         Use prototypes rather than old-style function definitions.
84870         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
84871         (transit_state_sb) [0]:
84872         (find_collation_sequence_value) [defined _LIBC]: Likewise.
84873
84874         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
84875         rm_eo.
84876
84877         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
84878         (optimize_subexps, lower_subexp):
84879         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
84880         since the signed shift might overflow.  Use 1u<<31 instead.
84881         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84882         Likewise.
84883         * lib/regexec.c (check_dst_limits_calc_pos_1,
84884         check_subexp_matching_top): Likewise.
84885
84886         * lib/regcomp.c (optimize_subexps, lower_subexp):
84887         Use CHAR_BIT rather than 8, for clarity.
84888         * lib/regexec.c (check_dst_limits_calc_pos_1):
84889         (check_subexp_matching_top): Likewise.
84890         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
84891         have to worry about portability issues when shifting it left.
84892         Remove no-longer-needed test for table_size > 0.
84893         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
84894         in a word, as the resulting behavior is undefined.
84895         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
84896         in one case, a <= should have been an <, and in another case the
84897         whole test was missing.
84898         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
84899         the standard name CHAR_BIT.
84900         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
84901         this is not true on one's complement and signed-magnitude hosts.
84902
84903         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
84904         next_last_offset.
84905         (struct re_dfa_t): Remove unused member states_alloc.
84906         * lib/regcomp.c (init_dfa): Don't initialize unused members.
84907
84908 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84909
84910         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
84911         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
84912         and large-file glibc and in 32-bit large-file Solaris.
84913
84914 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84915
84916         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
84917         lengths fit in regoff_t; this isn't true if regoff_t is the same
84918         width as size_t.
84919         * lib/regex.c (re_search_internal): 5th arg is LAST_START
84920         (= START + RANGE) instead of RANGE.  This avoids overflow
84921         problems when regoff_t is the same width as size_t.
84922         All callers changed.
84923         (re_search_2_stub): Check for overflow when adding the
84924         sizes of the two strings.
84925         (re_search_stub): Check for overflow when adding START
84926         to RANGE; if it occurs, substitute the extreme value.
84927
84928 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84929
84930         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84931
84932 2005-08-31  Jim Meyering  <jim@meyering.net>
84933
84934         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84935         a pointer-to-const.
84936         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84937         (register_state): Likewise.
84938         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84939         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84940         (group_nodes_into_DFAstates): Likewise.
84941
84942 2005-08-31  Jim Meyering  <jim@meyering.net>
84943
84944         * check-module: Add a FIXME comment.
84945
84946 2005-08-31  Eric Blake  <ebb9@byu.net>
84947
84948         * modules/unistd-safer (Files): Add unistd--.h.
84949         * modules/stdio-safer (Files): Add stdio--.h.
84950
84951 2005-08-31  Derek Price  <derek@ximbiot.com>
84952
84953         * lib/getdelim.c (getdelim): Return EOF on EOF.
84954         Reported by Larry Jones <lawrence.jones@ugs.com>.
84955
84956 2005-08-31  Bruno Haible  <bruno@clisp.org>
84957
84958         Avoid unnecessary diffs in the generated lib/Makefile.am.
84959         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
84960         the generated files.
84961         (func_import): Don't set cmd.
84962
84963 2005-08-31  Bruno Haible  <bruno@clisp.org>
84964
84965         * lib/strstr.c: Include <stddef.h>, for NULL.
84966         * lib/strcasestr.c: Likewise.
84967         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84968
84969 2005-08-31  Bruno Haible  <bruno@clisp.org>
84970
84971         * gnulib-tool: New option --macro-prefix.
84972         (func_import): Use macro_prefix.
84973         (import): Handle option --macro-prefix.
84974
84975 2005-08-31  Bruno Haible  <bruno@clisp.org>
84976
84977         * gnulib-tool (import): Rename most ac_* variables to cached_*.
84978         Also use new variables cached_lgpl, cached_libtool.
84979
84980 2005-08-31  Bruno Haible  <bruno@clisp.org>
84981
84982         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
84983         always instantiating them.
84984
84985 2005-08-31  Bruno Haible  <bruno@clisp.org>
84986
84987         * gnulib-tool (func_import): Read the previous cached settings
84988         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
84989         earlier added by gnulib but are now dropped. Warn when a gnulib file
84990         overwrites a non-gnulib file.
84991
84992 2005-08-31  Bruno Haible  <bruno@clisp.org>
84993
84994         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
84995         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
84996         projects that don't keep autogenerated files in CVS. Put into
84997         actioncmd only the specified modules, not the transitive closure.
84998
84999 2005-08-31  Bruno Haible  <bruno@clisp.org>
85000
85001         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85002         Create directories that shall be filled.
85003         (import): Don't look for gl_* macros in configure.ac. Recurse across
85004         all directories containing a gnulib-cache.m4 files, if meaningful.
85005
85006 2005-08-31  Bruno Haible  <bruno@clisp.org>
85007
85008         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85009         (import): Set seen_libtool when we see gl_LIBTOOL.
85010
85011 2005-08-31  Bruno Haible  <bruno@clisp.org>
85012
85013         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85014         declaration macro definitions from generated gnulib.m4.
85015
85016 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85017
85018         * lib/iconvme.h: Add prototype for iconv_alloc.
85019
85020 2005-08-29  Simon Josefsson  <jas@extundo.com>
85021
85022         * lib/iconvme.c: Fix errno.
85023
85024 2005-08-29  Bruno Haible  <bruno@clisp.org>
85025
85026         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85027         that it works when the directory contains spaces.
85028
85029 2005-08-29  Bruno Haible  <bruno@clisp.org>
85030
85031         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85032
85033 2005-08-29  Bruno Haible  <bruno@clisp.org>
85034
85035         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85036         Emit more advice.
85037
85038 2005-08-29  Bruno Haible  <bruno@clisp.org>
85039         and Stepan Kasal  <kasal@ucw.cz>
85040
85041         * check-module: If more parameters are given, check each of them
85042         separately; add more exceptions, as noted by Jim Meyering.
85043         (check_module): New procedure.
85044         (%exempt_header): Now contains all exceptions.
85045
85046 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85047
85048         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85049
85050 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85051
85052         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85053
85054 2005-08-28  Bruno Haible  <bruno@clisp.org>
85055
85056         * m4/gnulib-tool.m4: New file.
85057
85058 2005-08-27  Jim Meyering  <jim@meyering.net>
85059
85060         * modules/unistd-safer (Files): Add pipe-safer.c.
85061         * modules/fcntl-safer (Files): Add creat-safer.c.
85062
85063 2005-08-27  Jim Meyering  <jim@meyering.net>
85064
85065         * m4/stdlib-safer.m4: New file.  From coreutils.
85066         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85067         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85068         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85069         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85070         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85071
85072 2005-08-27  Jim Meyering  <jim@meyering.net>
85073
85074         * lib/fopen-safer.c: Merge minor changes from coreutils.
85075         * lib/dup-safer.c: Likewise.
85076         * lib/fd-safer.c: Likewise.
85077
85078         Merge from coreutils.
85079         * lib/stdio--.h: New file.
85080         * lib/stdlib--.h: New file.
85081         * lib/mkstemp-safer.c: New file.
85082
85083         GNU tar needs these.
85084         * lib/pipe-safer.c: New file.
85085         * lib/creat-safer.c: New file.
85086         * lib/fcntl--.h (creat): Define to creat_safer.
85087         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85088         * lib/unistd--.h (pipe): Define to pipe_safer.
85089         * lib/unistd-safer.h: Declare pipe_safer.
85090
85091 2005-08-26  Simon Josefsson  <jas@extundo.com>
85092
85093         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85094         Haible <bruno@clisp.org>.
85095
85096 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85097
85098         * lib/regex_internal.h: Remove all references to
85099         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85100         or better.
85101         (bitset_not, bitset_merge, bitset_not_merge):
85102         (bitset_mask, re_string_allocate, re_string_construct):
85103         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85104         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85105         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85106         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85107         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85108         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85109         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85110         (re_acquire_state_context):
85111         Remove unnecessary forward decls.
85112         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85113         Put __attribute at function definition,
85114         now that the function decl has been removed.
85115         * lib/regex_internal.c (re_string_peek_byte_case):
85116         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85117         Likewise.
85118
85119 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85120
85121         * m4/regex.m4: Add AC_PREREQ(2.50).
85122         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85123
85124 2005-08-25  Simon Josefsson  <jas@extundo.com>
85125
85126         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85127         __fsetlocking.
85128
85129 2005-08-25  Simon Josefsson  <jas@extundo.com>
85130
85131         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85132         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85133         GLIBC specific code.
85134
85135 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85136
85137         Make regex safe for g++.  This fixes one real bug (an "err"
85138         that should have been "*err").  g++ problem reported by
85139         Sam Steingold.
85140         * lib/regex_internal.h (re_calloc): New macro, consistent with
85141         re_malloc etc.  All callers of calloc changed to use re_calloc.
85142         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85143         not int.  All callers changed.
85144         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85145         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85146         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85147         (find_recover_state): Change "err" to "*err"; this fixes what
85148         appears to be a real bug.
85149         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85150         versus int.
85151
85152 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85153
85154         * modules/regex (Depends-on): Add malloc, since the code
85155         assumes that !malloc(0) means failure.
85156
85157 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85160
85161         alloca modernization/simplification for regex.
85162         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85163         needs to be at the start of the file, and can be moved into
85164         regex_internal.h and simplified.
85165         * lib/regex_internal.h: Include <alloca.h>.
85166         (__libc_use_alloca) [!defined _LIBC]: New macro.
85167         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85168         now works outside glibc.
85169
85170 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85171
85172         * config/srclist.txt: Add glibc bugs 1241, 1245.
85173
85174 2005-08-25  Jim Meyering  <jim@meyering.net>
85175
85176         * lib/open-safer.c: Include <config.h>.
85177         Otherwise, we'd lose LARGEFILE support in any file using
85178         e.g. "fcntl--.h"
85179
85180 2005-08-25  Bruno Haible  <bruno@clisp.org>
85181
85182         * m4/minmax.m4: Require autoconf 2.52.
85183         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85184         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85185         alternatives of translit over the alphabet.
85186         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85187
85188 2005-08-24  Simon Josefsson  <jas@extundo.com>
85189
85190         * tests/test-getpass.c: New file.
85191
85192 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85193
85194         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85195         for GNU regex features.
85196
85197 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85198
85199         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85200         * lib/regex.h (regerror): Likewise.
85201
85202         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85203         requires this.  (The code never needed it.)
85204
85205         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85206         All uses of recently-renamed identifiers changed to use the new,
85207         POSIX-compliant names.  The code will build and run just fine
85208         without these changes, but it's better to eat our own dog food
85209         and use the standard-conforming names.
85210
85211         * lib/regex.h: Fix a multitude of POSIX name space violations.
85212         These changes have an effect only for programs that define
85213         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85214         do not change anything for programs compiled in the normal way.
85215         Also, there is no effect on the ABI.
85216
85217         (_REGEX_SOURCE): New macro.
85218         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85219         defined and _GNU_SOURCE is not; this fixes a name space violation.
85220
85221         Rename the following macros to obey POSIX requirements.
85222         The old names are still visible as macros if _REGEX_SOURCE is defined.
85223         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85224         RE_BACKSLASH_ESCAPE_IN_LISTS.
85225         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85226         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85227         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85228         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85229         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85230         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85231         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85232         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85233         (REG_INTERVALS): renamed from RE_INTERVALS.
85234         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85235         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85236         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85237         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85238         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85239         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85240         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85241         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85242         RE_UNMATCHED_RIGHT_PAREN_ORD.
85243         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85244         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85245         (REG_DEBUG): renamed from RE_DEBUG.
85246         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85247         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85248         unusual, since we can't clash with the POSIX REG_ICASE.
85249         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85250         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85251         (REG_NO_SUB): renamed from RE_NO_SUB.
85252         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85253         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85254         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85255         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85256         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85257         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85258         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85259         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85260         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85261         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85262         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85263         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85264         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85265         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85266         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85267         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85268         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85269         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85270         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85271         (REG_FIXED): Renamed from REGS_FIXED.
85272         (REG_NREGS): Renamed from RE_NREGS.
85273
85274         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85275         of other REG_* macros, since POSIX says the user is allowed to
85276         #undef these macros selectively.
85277
85278         (reg_errcode_t): Update comment stating what other tables need
85279         to be consistent.
85280
85281         Rename the following enum values to obey POSIX requirements.
85282         The old names are still visible as macros.
85283         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85284         is not defined, since GNU is supposed to be a superset of POSIX as
85285         much as possible, and since we want reg_errcode_t to be a signed
85286         type for implementation consistency.
85287         (_REG_NOERROR): Renamed from REG_NOERROR.
85288         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85289         (_REG_BADPAT): Renamed from REG_BADPAT.
85290         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85291         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85292         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85293         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85294         (_REG_EBRACK): Renamed from REG_EBRACK.
85295         (_REG_EPAREN): Renamed from REG_EPAREN.
85296         (_REG_EBRACE): Renamed from REG_EBRACE.
85297         (_REG_BADBR): Renamed from REG_BADBR.
85298         (_REG_ERANGE): Renamed from REG_ERANGE.
85299         (_REG_ESPACE): Renamed from REG_ESPACE.
85300         (_REG_BADRPT): Renamed from REG_BADRPT.
85301         (_REG_EEND): Renamed from REG_EEND.
85302         (_REG_ESIZE): Renamed from REG_ESIZE.
85303         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85304         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85305         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85306         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85307         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85308
85309         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85310         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85311         changed.  But support the old name if the new one is not defined
85312         and if _REGEX_SOURCE.
85313
85314         Change the following member names in struct re_pattern_buffer.
85315         The old names are still supported if !_REGEX_SOURCE.
85316         The new names are always supported, regardless of _REGEX_SOURCE.
85317         (re_buffer): Renamed from buffer.
85318         (re_allocated): Renamed from allocated.
85319         (re_used): Renamed from used.
85320         (re_syntax): Renamed from syntax.
85321         (re_fastmap): Renamed from fastmap.
85322         (re_translate): Renamed from translate.
85323         (re_can_be_null): Renamed from can_be_null.
85324         (re_regs_allocated): Renamed from regs_allocated.
85325         (re_fastmap_accurate): Renamed from fastmap_accurate.
85326         (re_no_sub): Renamed from no_sub.
85327         (re_not_bol): Renamed from not_bol.
85328         (re_not_eol): Renamed from not_eol.
85329         (re_newline_anchor): Renamed from newline_anchor.
85330
85331         Change the following member names in struct re_registers.
85332         The old names are still supported if !_REGEX_SOURCE.
85333         The new names are always supported, regardless of _REGEX_SOURCE.
85334         (rm_num_regs): Renamed from num_regs.
85335         (rm_start): Renamed from start.
85336         (rm_end): Renamed from end.
85337
85338         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85339         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85340         Prepend __ to parameter names.
85341
85342         Undo yesterday's changes.
85343
85344 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85345
85346         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85347         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85348         lib/regex.c.
85349
85350 2005-08-24  Jim Meyering  <jim@meyering.net>
85351
85352         Sync from coreutils.
85353         * m4/fcntl-safer.m4: New file.
85354
85355         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85356         and object files for this module.
85357
85358 2005-08-24  Jim Meyering  <jim@meyering.net>
85359
85360         Sync from coreutils.
85361         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85362
85363 2005-08-24  Jim Meyering  <jim@meyering.net>
85364
85365         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85366         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85367
85368 2005-08-24  Jim Meyering  <jim@meyering.net>
85369
85370         * modules/fcntl-safer: New module.
85371         * modules/fts (Depends-on): Add fcntl-safer.
85372         * MODULES.html.sh (File descriptor based Input/Output):
85373         Add fcntl-safer.
85374
85375 2005-08-24  Bruno Haible  <bruno@clisp.org>
85376
85377         Support for unit test modules.
85378         * modules/README: Mention tests modules.
85379         * modules/TEMPLATE-TESTS: New file.
85380         * gnulib-tool: New options --extract-tests-module, --with-tests and
85381         --tests-base (unused for the moment).
85382         (testsbase, inctests): New variables.
85383         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85384         (func_verify_module): Exclude TEMPLATE-TESTS.
85385         (func_verify_nontests_module, func_verify_tests_module): New functions.
85386         (func_get_dependencies): Add implicit dependency for tests modules.
85387         (func_get_tests_module): New function.
85388         (func_modules_transitive_closure): When --with-tests was specified,
85389         include the unit tests as well, unless explicitly avoided.
85390         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85391         (func_emit_tests_Makefile_am): New function.
85392         (func_create_testdir): When --with-tests was specified, emit a
85393         tests/ directory.
85394         * MODULES.html.sh (Future developments): Update.
85395
85396 2005-08-24  Bruno Haible  <bruno@clisp.org>
85397
85398         * modules/tls-tests: New file.
85399         * tests/test-tls.c: New file, from GNU gettext.
85400
85401 2005-08-24  Bruno Haible  <bruno@clisp.org>
85402
85403         * modules/lock-tests: New file.
85404         * tests/test-lock.c: New file, from GNU gettext.
85405
85406 2005-08-24  Bruno Haible  <bruno@clisp.org>
85407
85408         * lib/lock.h: Add multiple inclusion guard.
85409         * lib/tls.h: Add multiple inclusion guard.
85410
85411 2005-08-24  Bruno Haible  <bruno@clisp.org>
85412
85413         * gnulib-tool: Add support for the --aux-dir option to
85414         --create-testdir, --create-megatestdir, --test, --megatest.
85415         (func_create_testdir, func_create_megatestdir): Optionally emit a
85416         AC_CONFIG_AUX_DIR directive.
85417         (create-testdir, create-megatestdir, test, megatest): Provide a
85418         default value for $auxdir.
85419
85420 2005-08-24  Bruno Haible  <bruno@clisp.org>
85421
85422         * gnulib-tool (import): Use compound statement instead of subshell
85423         where possible.
85424
85425 2005-08-24  Bruno Haible  <bruno@clisp.org>
85426
85427         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85428
85429 2005-08-24  Bruno Haible  <bruno@clisp.org>
85430
85431         * gnulib-tool (func_version): Update.
85432
85433 2005-08-24  Bruno Haible  <bruno@clisp.org>
85434
85435         * gnulib-tool (func_import, func_create_testdir,
85436         func_create_megatestdir): Quote all autoconf macro arguments.
85437
85438 2005-08-24  Bruno Haible  <bruno@clisp.org>
85439
85440         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85441         option --force, because --force causes the aclocal.m4 of each
85442         subdirectory to be newer than the corresponding config.h.in.
85443
85444 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85445
85446         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85447         All contents moved to gl_REGEX.
85448         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85449         assume that it does.
85450
85451 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85452
85453         * lib/regex.h (REG_NOSYS)
85454         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85455         Define, since POSIX requires it as of 2001.
85456         (_REG_ENOSYS)
85457         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85458         New private symbol, used to keep the enum signed in all cases.
85459         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85460         Youngman in
85461         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85462
85463         * lib/regex_internal.c (re_string_skip_chars, register_state):
85464         (calc_state_hash):
85465         Remove forward decls; no longer needed now that we use prototypes.
85466         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85467         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85468         (clean_state_log_if_needed): Likewise.
85469
85470 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85471
85472         * config/srclist.txt: Add glibc bugs 1231-1233.
85473
85474 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85475
85476         Fix problems reported by Sam Steingold in
85477         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85478         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85479         assumed that reg_errcode_t is a signed type, which is not
85480         necessarily true if _XOPEN_SOURCE is not defined.
85481         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85482         since some compilers warn about it otherwise.
85483
85484 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85485
85486         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85487         (init_word_char, create_initial_state, duplicate_node_closure):
85488         (fetch_token, peek_token_bracket, build_range_exp):
85489         (build_collating_symbol): Remove forward decls; no longer needed
85490         now that we use prototypes.
85491
85492         * lib/regcomp.c:
85493         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85494         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85495         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85496         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85497         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85498         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85499         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85500         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85501         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85502         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85503         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85504         (build_charclass, build_charclass_op, fetch_number, create_tree):
85505         (create_token_tree, mark_opt_subexp, duplicate_tree):
85506         Use prototypes rather than old-style definitions.
85507
85508         * lib/regex_internal.c:
85509         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85510         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85511         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85512         (re_string_reconstruct, re_string_peek_byte_case):
85513         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85514         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85515         (re_node_set_init_copy, re_node_set_add_intersect):
85516         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85517         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85518         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85519         (re_acquire_state, re_acquire_state_context, register_state):
85520         (create_ci_newstate, create_cd_newstate, free_state):
85521         Likewise.
85522         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85523         re_search_2):
85524         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85525         (re_search_internal, prune_impossible_nodes):
85526         (acquire_init_state_context, check_matching, static):
85527         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85528         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85529         (update_regs, sift_states_backward, build_sifted_states):
85530         (clean_state_log_if_needed, merge_state_array):
85531         (update_cur_sifted_state, add_epsilon_src_nodes):
85532         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85533         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85534         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85535         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85536         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85537         (check_arrival, check_arrival_add_next_nodes):
85538         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85539         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85540         (check_node_accept_bytes, check_node_accept, extend_buffers):
85541         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85542         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85543         (sift_ctx_init):
85544         Likewise.
85545
85546         * lib/regex_internal.h:
85547         (re_string_allocate, re_string_construct, re_string_reconstruct):
85548         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85549         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85550         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85551         (re_string_context_at, re_string_peek_byte_case):
85552         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85553         is defined, since we now use prototypes always.
85554
85555         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85556         C89 or better.  All uses removed.
85557
85558 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85559
85560         * config/srclist.txt: Add glibc bugs 1220-1227.
85561
85562 2005-08-20  Jim Meyering  <jim@meyering.net>
85563
85564         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85565         of unused local, dfa.
85566
85567 2005-08-20  Bruno Haible  <bruno@clisp.org>
85568
85569         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85570
85571 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85572
85573         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85574         (re_node_set_insert_last, re_dfa_add_node):
85575         Rename local variables to avoid GCC shadowing warnings.
85576
85577 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85578
85579         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85580         [defined lint]: Suppress bogus uninitialized-variable warnings.
85581
85582         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85583         and let the caller return REG_ESPACE if out of space.  This
85584         removes an uninitialied-variable warning with GCC 4.0.1, and also
85585         avoids taking the address of a local variable.  All callers
85586         changed.
85587
85588 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85589
85590         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85591         $LIBCSRC/posix/regexec.c.
85592         Add glibc bug 1217 for regcomp.c.
85593
85594 2005-08-19  Jim Meyering  <jim@meyering.net>
85595
85596         * lib/regexec.c (proceed_next_node): Redo local variables to
85597         avoid GCC shadowing warnings.
85598
85599 2005-08-18  Bruno Haible  <bruno@clisp.org>
85600
85601         * lib/strstr.c (strstr): Fix return value in multibyte case.
85602         * lib/strcasestr.c (strcasestr): Likewise.
85603
85604 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85605
85606         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85607
85608 2005-08-17  Jim Meyering  <jim@meyering.net>
85609
85610         Make the %s format (seconds since the epoch) work for a negative
85611         number and when used with a zero-padded field width, e.g. %015s.
85612
85613         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85614         label so that it precedes the code to set `digits'.  Otherwise,
85615         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85616         print `00-22'.  Now, it prints `-0022', as it should.
85617
85618 2005-08-17  Bruno Haible  <bruno@clisp.org>
85619
85620         * modules/strstr (Files): Add m4/mbrtowc.m4.
85621         (Depends-on): Add mbuiter.
85622
85623 2005-08-17  Bruno Haible  <bruno@clisp.org>
85624
85625         * modules/strcasestr: New file.
85626         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85627         strcasestr.
85628
85629 2005-08-17  Bruno Haible  <bruno@clisp.org>
85630
85631         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85632
85633 2005-08-17  Bruno Haible  <bruno@clisp.org>
85634
85635         * modules/mbuiter: New file.
85636         * MODULES.html.sh (Extended multibyte and wide character utilities):
85637         Add mbuiter.
85638
85639 2005-08-17  Bruno Haible  <bruno@clisp.org>
85640
85641         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85642         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85643
85644 2005-08-17  Bruno Haible  <bruno@clisp.org>
85645
85646         * m4/strcasestr.m4: New file.
85647
85648 2005-08-17  Bruno Haible  <bruno@clisp.org>
85649
85650         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85651         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85652
85653 2005-08-17  Bruno Haible  <bruno@clisp.org>
85654
85655         * lib/strcasestr.h: New file.
85656         * lib/strcasestr.c: New file.
85657
85658 2005-08-17  Bruno Haible  <bruno@clisp.org>
85659
85660         * lib/strcasecmp.c: Use mbuiter.h.
85661
85662 2005-08-17  Bruno Haible  <bruno@clisp.org>
85663
85664         * lib/mbuiter.h: New file.
85665
85666 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85667
85668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85669         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85670         and gl_GETOPT are both invoked via different paths (as happens
85671         with GNU tar CVS because it uses both argp and getopt), the former
85672         wins.
85673
85674 2005-08-16  Bruno Haible  <bruno@clisp.org>
85675
85676         * modules/tls: New file.
85677         * MODULES.html.sh (Multithreading): Add tls.
85678
85679 2005-08-16  Bruno Haible  <bruno@clisp.org>
85680
85681         * modules/strnlen1: New file.
85682         * MODULES.html.sh (String handling): Add strnlen1.
85683
85684 2005-08-16  Bruno Haible  <bruno@clisp.org>
85685
85686         * modules/strcase (Files): Add m4/mbrtowc.m4.
85687         (Depends-on): Add strnlen1, mbchar.
85688
85689 2005-08-16  Bruno Haible  <bruno@clisp.org>
85690
85691         * modules/mbiter: New file.
85692         * MODULES.html.sh (Extended multibyte and wide character utilities):
85693         Add mbiter.
85694
85695 2005-08-16  Bruno Haible  <bruno@clisp.org>
85696
85697         * modules/mbfile: New file.
85698         * MODULES.html.sh (Extended multibyte and wide character utilities):
85699         Add mbfile.
85700
85701 2005-08-16  Bruno Haible  <bruno@clisp.org>
85702
85703         * modules/mbchar: New file.
85704         * MODULES.html.sh (Extended multibyte and wide character utilities):
85705         New section.
85706
85707 2005-08-16  Bruno Haible  <bruno@clisp.org>
85708
85709         * m4/tls.m4: New file, from GNU gettext.
85710
85711 2005-08-16  Bruno Haible  <bruno@clisp.org>
85712
85713         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85714         always.
85715         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85716
85717 2005-08-16  Bruno Haible  <bruno@clisp.org>
85718
85719         * m4/mbiter.m4: New file.
85720
85721 2005-08-16  Bruno Haible  <bruno@clisp.org>
85722
85723         * m4/mbfile.m4: New file.
85724
85725 2005-08-16  Bruno Haible  <bruno@clisp.org>
85726
85727         * m4/mbchar.m4: New file.
85728
85729 2005-08-16  Bruno Haible  <bruno@clisp.org>
85730
85731         * lib/tls.h: New file, from GNU gettext.
85732         * lib/tls.c: New file, from GNU gettext.
85733
85734 2005-08-16  Bruno Haible  <bruno@clisp.org>
85735
85736         * lib/strnlen1.h: New file.
85737         * lib/strnlen1.c: New file.
85738
85739 2005-08-16  Bruno Haible  <bruno@clisp.org>
85740
85741         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85742         (mbi_init): Update.
85743         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85744         NUL byte, not after it.
85745
85746 2005-08-16  Bruno Haible  <bruno@clisp.org>
85747
85748         * lib/strcase.h (strcasecmp): Add note in comments.
85749         * lib/strncasecmp.c: Use code from strcasecmp.c.
85750         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85751         (strcasecmp): Work correctly in multibyte locales.
85752
85753 2005-08-16  Bruno Haible  <bruno@clisp.org>
85754
85755         * lib/mbiter.h: New file.
85756
85757 2005-08-16  Bruno Haible  <bruno@clisp.org>
85758
85759         * lib/mbfile.h: New file.
85760
85761 2005-08-16  Bruno Haible  <bruno@clisp.org>
85762
85763         * lib/mbchar.h: New file.
85764         * lib/mbchar.c: New file.
85765
85766 2005-08-16  Bruno Haible  <bruno@clisp.org>
85767
85768         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
85769         the valid ones. Makes the comparison operations transitive:
85770         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
85771         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
85772
85773 2005-08-15  Simon Josefsson  <jas@extundo.com>
85774
85775         * modules/ssize_t (License): Change to 'unlimited'.
85776
85777         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
85778
85779 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85780
85781         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
85782         Add comments for each pending glibc patch.
85783
85784 2005-08-15  Bruno Haible  <bruno@clisp.org>
85785
85786         * lib/regex.h (__restrict_arr): Don't define to __restrict if
85787         __cplusplus is defined.
85788
85789 2005-08-14  Jim Meyering  <jim@meyering.net>
85790
85791         Sync from coreutils.
85792
85793         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
85794         Use the hash-table-based cycle-detection code not just when
85795         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
85796         Reported by James Youngman in
85797         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
85798         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
85799         FTS_TIGHT_CYCLE_CHECK.
85800         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
85801         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
85802         once again.
85803         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
85804         * lib/fts.c (fd_safer): Remove decl.
85805         Include fcntl--.h rather than unistd-safer.h
85806         (fts_safe_changedir): Don't call fd_safer; no longer needed
85807         now that we include fcntl--.h.
85808
85809 2005-08-12  Simon Josefsson  <jas@extundo.com>
85810
85811         * modules/getndelim2: Use ssize_t module.
85812         * modules/getnline: Likewise.
85813         * modules/safe-read: Likewise.
85814         * modules/xreadlink: Likewise.
85815
85816         * modules/ssize_t: New file.
85817
85818 2005-08-12  Simon Josefsson  <jas@extundo.com>
85819
85820         * m4/readline.m4: Look for termcap, curses or ncurses if required.
85821
85822 2005-08-12  Simon Josefsson  <jas@extundo.com>
85823
85824         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85825         ssize_t.
85826
85827 2005-08-12  Simon Josefsson  <jas@extundo.com>
85828
85829         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
85830         readline, getdelim and check_version.
85831         (Support for systems lacking ISO C 99: Sizes of integer types):
85832         Add size_max.
85833
85834 2005-08-12  Bruno Haible  <bruno@clisp.org>
85835
85836         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
85837
85838 2005-08-11  Simon Josefsson  <jas@extundo.com>
85839
85840         * modules/readline: New file.
85841
85842         * modules/strnlen (Files): Add strnlen.h.
85843
85844 2005-08-11  Simon Josefsson  <jas@extundo.com>
85845
85846         * m4/readline.m4: New file.
85847
85848 2005-08-11  Simon Josefsson  <jas@extundo.com>
85849
85850         * lib/readline.h, readline.c: New file.
85851
85852 2005-08-11  Simon Josefsson  <jas@extundo.com>
85853
85854         * doc/gnulib.texi (Initial import, Finishing touches): Mention
85855         gl_AVOID.
85856
85857 2005-08-11  Bruno Haible  <bruno@clisp.org>
85858
85859         * lib/strnlen.h (strnlen): Change parameter name to match comment.
85860
85861 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
85862
85863         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
85864
85865 2005-08-10  Simon Josefsson  <jas@extundo.com>
85866
85867         * tests/test-iconvme.c: New file.
85868
85869 2005-08-10  Simon Josefsson  <jas@extundo.com>
85870
85871         * m4/strnlen.m4: New file.
85872
85873         * m4/strndup.m4: Don't check for strnlen declaration, done in
85874         strnlen.m4.
85875
85876 2005-08-10  Simon Josefsson  <jas@extundo.com>
85877
85878         * lib/strndup.c: Use strnlen.h.
85879
85880         * lib/strnlen.h: New file.
85881
85882 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85883
85884         * README: Typos.
85885
85886 2005-08-02  Simon Josefsson  <jas@extundo.com>
85887
85888         * modules/readline: New file.
85889
85890 2005-08-02  Simon Josefsson  <jas@extundo.com>
85891
85892         * modules/getdelim: New file.
85893
85894         * modules/getline: Rewrite, don't use getndelim2.
85895
85896 2005-08-02  Simon Josefsson  <jas@extundo.com>
85897
85898         * m4/getline.m4: Separate out getdelim stuff into separate module.
85899
85900         * m4/getdelim.m4: New file.
85901
85902 2005-08-02  Simon Josefsson  <jas@extundo.com>
85903
85904         * lib/getline.h, getline.c: Rewrite.
85905
85906         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
85907
85908 2005-07-31  Bruno Haible  <bruno@clisp.org>
85909
85910         * lib/lock.h (gl_lock_initializer): New macro.
85911         (gl_lock_define_initialized): Use it.
85912         (gl_rwlock_initializer): New macro.
85913         (gl_rwlock_define_initialized): Use it.
85914         (gl_recursive_lock_initializer): New macro.
85915         (gl_recursive_lock_define_initialized): Use it.
85916
85917 2005-07-30  Karl Berry  <karl@gnu.org>
85918
85919         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
85920         Report from Ben Pfaff, regarding getopt.
85921
85922 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
85923
85924         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
85925         normal way.
85926         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
85927         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
85928         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
85929         (gl_GETOPT): Use the new macros.  Most of the implementation
85930         is moved to the new macros.  This is for programs like Emacs
85931         that don't want all the functionality of gl_GETOPT.
85932
85933 2005-07-26  Bruno Haible  <bruno@clisp.org>
85934
85935         * m4/lock.m4: Update from GNU gettext.
85936
85937 2005-07-26  Bruno Haible  <bruno@clisp.org>
85938
85939         * lib/lock.h: Update from GNU gettext.
85940         * lib/lock.c: Update from GNU gettext.
85941
85942 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
85943
85944         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
85945         obsolescent AC_TRY_RUN.  Include the default includes files, for
85946         'exit'.
85947
85948 2005-07-24  Bruno Haible  <bruno@clisp.org>
85949
85950         * modules/visibility: New file.
85951         * MODULES.html.sh (Misc): Add visibility.
85952
85953 2005-07-24  Bruno Haible  <bruno@clisp.org>
85954
85955         * m4/visibility.m4: New file.
85956
85957 2005-07-24  Bruno Haible  <bruno@clisp.org>
85958
85959         * doc/visibility.texi: New file.
85960
85961 2005-07-22  Bruno Haible  <bruno@clisp.org>
85962
85963         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
85964         $(ALLOCA_H), redundant through BUILT_SOURCES.
85965         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
85966         redundant through BUILT_SOURCES.
85967         * modules/byteswap (Makefile.am): Remove explicit dependency on
85968         $(BYTESWAP_H), redundant through BUILT_SOURCES.
85969         * modules/fnmatch (Makefile.am): Remove explicit dependency on
85970         $(FNMATCH_H), redundant through BUILT_SOURCES.
85971         * modules/getopt (Makefile.am): Remove explicit dependency on
85972         $(GETOPT_H), redundant through BUILT_SOURCES.
85973         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
85974         redundant through BUILT_SOURCES.
85975         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
85976         redundant through BUILT_SOURCES.
85977         * modules/stdbool (Makefile.am): Remove explicit dependency on
85978         $(STDBOOL_H), redundant through BUILT_SOURCES.
85979         * modules/stdint (Makefile.am): Remove explicit dependency on
85980         $(STDINT_H), redundant through BUILT_SOURCES.
85981         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
85982         Remove explicit dependency on $(SYSEXITS_H).
85983         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
85984
85985 2005-07-18  Simon Josefsson  <jas@extundo.com>
85986
85987         * lib/check-version.c (check_version): Accept identical versions too.
85988
85989 2005-07-18  Bruno Haible  <bruno@clisp.org>
85990
85991         * modules/lock: New file.
85992         * MODULES.html.sh (Multithreading): New section.
85993
85994 2005-07-18  Bruno Haible  <bruno@clisp.org>
85995
85996         * m4/lock.m4: New file, from GNU gettext.
85997
85998 2005-07-18  Bruno Haible  <bruno@clisp.org>
85999
86000         * lib/lock.h: New file, from GNU gettext.
86001         * lib/lock.c: New file, from GNU gettext.
86002
86003 2005-07-18  Bruno Haible  <bruno@clisp.org>
86004
86005         * lib/lock.h (gl_once_t): New type.
86006         (gl_once_define, gl_once): New macros.
86007         * lib/lock.c (fresh_once): New variable.
86008         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86009         functions.
86010
86011 2005-07-16  Simon Josefsson  <jas@extundo.com>
86012
86013         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86014         workaround, suggested by Bruno.
86015
86016 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86017
86018         * modules/xalloc (Depends-on): Add xalloc-die.
86019         * modules/xvasprintf (Depends-on): Add xalloc-die.
86020
86021 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86022
86023         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86024         with a minor change.
86025
86026 2005-07-15  Bruno Haible  <bruno@clisp.org>
86027
86028         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86029         When using lib/poll.c, define poll as rpl_poll.
86030
86031 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86032
86033         * modules/argp (Depends-on): Remove unlocked-io.
86034
86035 2005-07-14  Derek Price  <derek@ximbiot.com>
86036
86037         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86038         for glob symlink bug.
86039
86040 2005-07-14  Bruno Haible  <bruno@clisp.org>
86041
86042         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86043         Instead, test for *_unlocked function declarations directly.
86044
86045 2005-07-11  Simon Josefsson  <jas@extundo.com>
86046
86047         * modules/size_max: New file.
86048
86049         * modules/xsize: Depend on size_max module for size_max.m4.
86050
86051 2005-07-11  Simon Josefsson  <jas@extundo.com>
86052
86053         * lib/size_max.h: New file.
86054
86055 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86056
86057         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86058         copyright symbol and the year.
86059         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86060         (version_etc_va): Use parameterized copyright notice.
86061         Reword to conform to the current GNU coding standards.
86062
86063 2005-07-11  Karl Berry  <karl@gnu.org>
86064
86065         * doc/gnulib.texi (Quoting): new node.
86066         (Initial import): more info, from Patrice.
86067
86068 2005-07-11  Bruno Haible  <bruno@clisp.org>
86069
86070         * gnulib-tool (func_usage): Document option --avoid.
86071         (Command line options): Handle --avoid.
86072         (func_acceptable): New function.
86073         (func_modules_transitive_closure): Use it.
86074
86075 2005-07-11  Bruno Haible  <bruno@clisp.org>
86076
86077         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86078         Reported by Jim Meyering.
86079
86080 2005-07-10  Bruno Haible  <bruno@clisp.org>
86081
86082         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86083         Needed when size_t is smaller than 'unsigned int'.
86084         Reported by Paul Eggert.
86085
86086 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86087
86088         * modules/argp (Depends-on): Add unlocked-io
86089
86090 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86091
86092         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86093         block of defines.
86094
86095 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86096
86097         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86098         fix now.
86099
86100 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86101         and Paul Eggert  <eggert@cs.ucla.edu>
86102
86103         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86104         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86105
86106 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86107
86108         * modules/regex (Files): Add lib/regex_internal.c,
86109         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86110         (Depends-on): Add extensions.
86111         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86112
86113 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86114
86115         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86116         pathconf.
86117         * m4/same.m4 (gl_SAME): Likewise.
86118         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86119
86120         * m4/regex.m4: Adjust to new libc regex implementation.
86121         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86122         all the .c and .h parts of (the new) regex.
86123         Quote the m4 stuff better.
86124         Check for RE_ICASE bug of old gnulib.
86125         Check for REG_STARTEND of recent libc.
86126         Rename local variables from jm_* to gl_*.
86127         Quote operand of "test -f".
86128         Say "recent enough" version of libc, not "version 2".
86129         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86130         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86131         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86132         Remove check for btowc, isascii.
86133         Require AM_LANGINFO_CODESET.
86134
86135 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86136
86137         * lib/regex.c, regex.h: Sync from libc.
86138         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86139         * lib/regexec.c:
86140         New files, synced from libc, except that regex_internal.h
86141         currently has a small porting fix.
86142
86143 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86144
86145         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86146         regex_internal.c, regexec.c.
86147         Add regex_internal.h too, but as a comment, since the libc version
86148         is currently broken in gnulib mode.
86149
86150 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86151
86152         Support programs like Emacs that use gnulib but not gettext.
86153         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86154         * modules/gettext-h: New file.
86155         * modules/gettext (Files): Remove lib/gettext.h.
86156         (Depends-on): Add gettext-h.
86157         (Makefile.am): Remove lib_SOURCES.
86158         * modules/argmatch, modules/c-stack, modules/closeout:
86159         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86160         * modules/execute, modules/file-type, modules/getaddrinfo:
86161         * modules/getopt, modules/human, modules/javacomp:
86162         * modules/javaexec, modules/mkdir-p, modules/obstack:
86163         * modules/openat, modules/pagealign_alloc, modules/pipe:
86164         * modules/quotearg, modules/regex, modules/rpmatch:
86165         * modules/unicodeio, modules/userspec, modules/version-etc:
86166         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86167         * modules/xsetenv:
86168         Depend on gettext-h, not gettext.
86169
86170 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86171
86172         * gnulib-tool (func_import): Add support for 'public domain' license.
86173         * modules/alloca, modules/atexit, modules/memmove:
86174         Now public domain, not GPL.
86175         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86176         * modules/realloc, modules/strerror, modules/strtod:
86177         Now LGPL, not GPL.
86178
86179 2005-07-05  Bruno Haible  <bruno@clisp.org>
86180
86181         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86182         autoconf CVS. Needed for mingw.
86183
86184 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86185
86186         Remove the dependency of the strftime module on the tzset module.
86187         * modules/strftime (Depends-on): Remove dependency on tzset.
86188
86189 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86190
86191         Remove the dependency of the strftime module on the tzset module.
86192         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86193         gl_FUNC_TZSET_CLOBBER.
86194
86195 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86196
86197         Remove the dependency of the strftime module on the tzset module.
86198         * lib/strftime.c (my_strftime)
86199         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86200         Copy the input structure, to work around some of the bug with
86201         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86202         Solaris releases, you should also use the tzset module, but we won't
86203         require it as a dependency any more since we don't want LGPLed code
86204         to depend on GPLed code.
86205
86206 2005-07-02  Jim Meyering  <jim@meyering.net>
86207
86208         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86209         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86210         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86211         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86212
86213 2005-07-02  Jim Meyering  <jim@meyering.net>
86214
86215         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86216
86217 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86218
86219         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86220         declares only 'struct timespec;' (!).
86221
86222 2005-07-01  Jim Meyering  <jim@meyering.net>
86223
86224         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86225         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86226         * lib/save-cwd.c, tempname.c:
86227         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86228         and don't include <sys/file.h>).
86229
86230 2005-06-29  Jim Meyering  <jim@meyering.net>
86231
86232         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86233         type name.  Use the variable name instead.
86234         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86235         Likewise.
86236
86237 2005-06-28  Simon Josefsson  <jas@extundo.com>
86238
86239         * modules/check-version (Files): Add check-version.m4.
86240
86241 2005-06-28  Simon Josefsson  <jas@extundo.com>
86242
86243         * m4/check-version.m4: New file, suggested by Jim Meyering
86244         <jim@meyering.net>.
86245
86246 2005-06-28  Simon Josefsson  <jas@extundo.com>
86247
86248         * lib/check-version.h, lib/check-version.c: New files.
86249
86250 2005-06-28  Simon Josefsson  <jas@extundo.com>
86251
86252         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86253         collision with global variable.  Better indentation.  Don't
86254         increment buffer pointer beyond buffer end.  Based on comments
86255         from Paul Eggert <eggert@cs.ucla.edu>.
86256
86257         * lib/base64.h: Indent.
86258
86259 2005-06-28  Simon Josefsson  <jas@extundo.com>
86260
86261         * doc/gnulib.texi (Library version handling): New section.
86262
86263 2005-06-28  Jim Meyering  <jim@meyering.net>
86264
86265         * check-module (find_included_lib_files): Hard-code another
86266         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86267         but modules/fts-lgpl (correctly) does not list those files.
86268
86269         * modules/canonicalize (Files): Add lib/pathmax.h.
86270
86271 2005-06-25  Simon Josefsson  <jas@extundo.com>
86272
86273         * modules/check-version: New file.
86274
86275 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86276
86277         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86278         initializer of struct addrinfo, as an indication that we don't
86279         care how many members the structure has.
86280
86281 2005-06-24  Derek Price  <derek@ximbiot.com>
86282         and Bruno Haible  <bruno@clisp.org>
86283
86284         Remove stat module & update lstat.
86285         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86286         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86287         * m4/stat.m4: Remove this file.
86288
86289 2005-06-24  Derek Price  <derek@ximbiot.com>
86290         and Bruno Haible  <bruno@clisp.org>
86291
86292         Remove stat module & update lstat.
86293         * lib/stat.c: Remove this file...
86294         (slash_aware_lstat): ...moving this content and its support...
86295         * lib/lstat.c (rpl_lstat): ...into here.
86296         * lib/lstat.h: New file.
86297
86298 2005-06-24  Derek Price  <derek@ximbiot.com>
86299         and Bruno Haible  <bruno@clisp.org>
86300
86301         Remove stat module & update lstat.
86302         * config/srclist.txt (libc sources): Remove stat.
86303
86304 2005-06-24  Derek Price  <derek@ximbiot.com>
86305         and Bruno Haible  <bruno@clisp.org>
86306
86307         Remove stat module & update lstat.
86308         * MODULES.html.sh (stat): Remove.
86309         * MODULES.html: Regenerated.
86310         * modules/lstat (Description): Correct function name.
86311         (Files): Add "lstat.h".
86312         (Depends-on): Remove stat, add xalloc, stat-macros.
86313         * modules/stat: Remove this file.
86314         (Include): Add "lstat.h", remove <sys/stat.h>.
86315
86316 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86317
86318         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86319         (ranged_convert): Don't save conversion in a temporary struct.
86320         This causes a warning with GCC 4.0.0, and anyway in the typical
86321         case it's not worth the extra 100 bytes or so of code.
86322         (ranged_convert, __mktime_internal): When calling a function via a
86323         pointer P, use P () rather than (*P) (), as we now assume C89 or
86324         better.
86325
86326 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86327
86328         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86329         "who -r" failed to give output.  Problem reported by Tim Waugh.
86330
86331         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86332         (xcalloc): Use it to avoid needless tests.
86333         Problem reported by Jim Meyering.
86334
86335 2005-06-20  Derek Price  <derek@ximbiot.com>
86336
86337         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86338         unnecessary for Autoconfs > 2.59c.
86339
86340 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86341
86342         * lib/argp.h (__option_is_short): Check upper limit of
86343         __key. Isprint() requires its argument to have the value
86344         of an unsigned char or EOF.
86345
86346 2005-06-16  Jim Meyering  <jim@meyering.net>
86347
86348         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86349         when either N or S is zero.
86350
86351 2005-06-16  Derek Price  <derek@ximbiot.com>
86352
86353         * m4/bison.m4: Declare YACC & YFLAGS precious.
86354
86355 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86356
86357         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86358         multibyte string or pattern, fall back on unibyte matching.
86359         Problem reported by James Youngman.
86360
86361 2005-06-08  Bruno Haible  <bruno@clisp.org>
86362
86363         * modules/csharpcomp: New file.
86364         * MODULES.html.sh (C#): Add csharpcomp.
86365
86366 2005-06-08  Bruno Haible  <bruno@clisp.org>
86367
86368         * m4/csharpcomp.m4: New file, from GNU gettext.
86369
86370 2005-06-08  Bruno Haible  <bruno@clisp.org>
86371
86372         * lib/csharpcomp.h: New file, from GNU gettext.
86373         * lib/csharpcomp.c: New file, from GNU gettext.
86374         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86375
86376 2005-06-08  Bruno Haible  <bruno@clisp.org>
86377
86378         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86379         warning on mingw.
86380
86381 2005-06-07  Derek Price  <derek@ximbiot.com>
86382
86383         Sync from CVS.
86384         * lib/glob_.h: Indent nested #ifdef.
86385
86386 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86387
86388         Sync from coreutils.
86389         Use "file name" when talking about file names, instead of "filename"
86390         or "path", as per the GNU coding standards.
86391         * lib/mkdir-p.c: Renamed from makepath.c.
86392         (make_dir_parents): Renamed from make_path.  All callers changed.
86393         * lib/mkdir-p.h: Likewise.  All includers changed.
86394         * lib/filenamecat.c: Renamed from path-concat.c.
86395         (file_name_concat): Renamed from path_concat.  All callers changed.
86396         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86397         * lib/filenamecat.h: Likewise.  All includers changed.
86398         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86399         in comments or local variable names.
86400         * lib/basename.c: Likewise.
86401         * lib/canonicalize.c, canonicalize.h: Likewise.
86402         * lib/dirname.c, dirname.h: Likewise.
86403         * lib/euidaccess.c: Likewise.
86404         * lib/exclude.c: Likewise
86405         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86406         * lib/fsusage.c, fsuage.h: Likewise.
86407         * lib/fts.c, fts_.h: Likewise.
86408         * lib/getcwd.c: Likewise.
86409         * lib/getloadavg.c: Likewise.
86410         * lib/mkstemp.c: Likewise.
86411         * lib/mountlist.c, mountlist.h: Likewise.
86412         * lib/openat.c, openat.h: Likewise.
86413         * lib/readlink-stub.c: Likewise.
86414         * lib/readutmp.c, readutmp.h: Likewise.
86415         * lib/rename.c: Likewise.
86416         * lib/rmdir.c: Likewise.
86417         * lib/same.c: Likewise.
86418         * lib/savedir.c: Likewise.
86419         * lib/stripslash.c: Likewise.
86420         * lib/tempname.c: Likewise.
86421         * lib/xreadlink.c: Likewise.
86422         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86423         All uses changed.
86424         * lib/exclude.h: Likewise.
86425
86426         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86427         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86428         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86429         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86430         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86431         files have been getting away with it for years (MORE/BSD 4.3
86432         is extinct now).
86433         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86434         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86435
86436         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86437         Define to 256, not 255, as per modern POSIX.
86438
86439 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86440
86441         Sync from coreutils.
86442         Use "file name" when talking about file names, instead of "filename"
86443         or "path", as per the GNU coding standards.
86444         * MODULES.html.sh: mkdir-p renamed from makepath.
86445         filenamecat renamed from path-concat.
86446         * modules/filenamecat: Renamed from modules/path-concat.
86447         (Files): filenamecat.h and filenamecat.c renamed from
86448         path-concat.h and path-concat.c.
86449         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86450         (Include): filenamecat.h, not path-concat.h.
86451         * modules/mkdir-p: Renamed from modules/makepath.
86452         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86453         makepath.c.
86454         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86455         (Include): mkdir-p.h, not makepath.h.
86456
86457 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86458
86459         Sync from coreutils.
86460         * m4/mkdir-p.m4: Renamed from makepath.m4.
86461         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86462         Rename files from makepath.c to mkdir-p.c, and from
86463         makepath.h to mkdir-p.h.
86464         * m4/filenamecat.m4: Renamed from path-concat.m4.
86465         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86466         Rename files from path-concat.c to filenamecat.c,
86467         and from path-concat.h to filenamecat.h.
86468         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86469         "file name" in local variables or comments.
86470         * m4/rename.m4: Likewise.
86471
86472 2005-06-01  Bruno Haible  <bruno@clisp.org>
86473
86474         * modules/csharpexec: New file.
86475         * MODULES.html.sh (C#): New section.
86476
86477 2005-06-01  Bruno Haible  <bruno@clisp.org>
86478
86479         * m4/csharp.m4: New file, from GNU gettext.
86480         * m4/csharpexec.m4: New file, from GNU gettext.
86481
86482 2005-06-01  Bruno Haible  <bruno@clisp.org>
86483
86484         * lib/csharpexec.h: New file, from GNU gettext.
86485         * lib/csharpexec.c: New file, from GNU gettext.
86486         * lib/csharpexec.sh.in: New file, from GNU gettext.
86487
86488 2005-05-31  Derek Price  <derek@ximbiot.com>
86489             Paul Eggert  <eggert@cs.ucla.edu>
86490
86491         Sync from cvs.
86492         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86493
86494 2005-05-31  Derek Price  <derek@ximbiot.com>
86495             Paul Eggert  <eggert@cs.ucla.edu>
86496
86497         Sync from cvs.
86498         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86499
86500 2005-05-29  Derek Price  <derek@ximbiot.com>
86501
86502         * config/srclist.txt (glob_.h, glob.c): Add these files.
86503
86504 2005-05-29  Derek Price  <derek@ximbiot.com>
86505
86506         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86507         * modules/glob: New file.
86508         * modules/getlogin_r: Add link to POSIX spec in description.
86509
86510 2005-05-29  Derek Price  <derek@ximbiot.com>
86511             Paul Eggert  <eggert@cs.ucla.edu>
86512
86513         * m4/glob.m4: New file.
86514
86515 2005-05-29  Derek Price  <derek@ximbiot.com>
86516             Paul Eggert  <eggert@cs.ucla.edu>
86517
86518         * lib/glob_.h, lib/glob.c: New files.
86519
86520 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86521
86522         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86523         * modules/fts-lgpl (Depends-on): Remove gettext.
86524
86525 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86526
86527         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86528         and don't require gt_INTTYPES_PRI.
86529
86530 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86531
86532         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86533
86534         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86535         the configuration hassle isn't worth it.
86536         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86537         (LONGEST_MODIFIER, PRIuMAX): Remove.
86538
86539 2005-05-27  Bruno Haible  <bruno@clisp.org>
86540
86541         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86542
86543 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86544
86545         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86546         _POSIX_PTHREAD_SEMANTICS for Solaris.
86547
86548 2005-05-25  Derek Price  <derek@ximbiot.com>
86549
86550         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86551
86552 2005-05-25  Derek Price  <derek@ximbiot.com>
86553             Paul Eggert  <eggert@cs.ucla.edu>
86554
86555         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86556         * lib/getlogin_r.c, getlogin_r.h: New files.
86557
86558 2005-05-25  Bruno Haible  <bruno@clisp.org>
86559             Derek Price  <derek@ximbiot.com>
86560
86561         * lib/getlogin_r.h: Simplify API documentation.
86562
86563 2005-05-23  Derek Price  <derek@ximbiot.com>
86564
86565         * modules/minmax (Files): Add m4/minmax.m4.
86566         (configure.ac): Add gl_MINMAX.
86567
86568 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86569
86570         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86571         so that unistd-safer.h (GPL'ed code) need not be included.
86572
86573 2005-05-22  Bruno Haible  <bruno@clisp.org>
86574
86575         * m4/minmax.m4: New file.
86576         Based on a patch by Derek Price <derek@ximbiot.com>.
86577
86578 2005-05-22  Bruno Haible  <bruno@clisp.org>
86579
86580         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86581         (INT64_MIN): Fix definition.
86582         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86583
86584         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86585         NEED_SIGNED_INT_TYPES.
86586
86587         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86588         HAVE_SYSTEM_INTTYPES.
86589
86590 2005-05-22  Bruno Haible  <bruno@clisp.org>
86591
86592         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86593         Also include <sys/param.h> if it defines MIN, MAX.
86594         Based on a patch by Derek Price <derek@ximbiot.com>.
86595
86596 2005-05-21  Jim Meyering  <jim@meyering.net>
86597
86598         * modules/fts (Files): Add m4/inttypes-pri.m4.
86599         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86600
86601 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86602
86603         New fts module.
86604         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86605         (setup_dir, free_dir): New functions.
86606         (enter_dir, leave_dir): Define trivial
86607         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86608         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86609         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86610         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86611         Move to fts-cycle.c.
86612         (fts_open): Use setup_dir.
86613         (fts_close): Use free_dir.
86614         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86615         This adds a label and some gotos, but the alternatives were messier.
86616         Check for memory allocation failure when entering a dir.
86617         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86618         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86619         (FTS): New member fts_cycle, that is a union that contains the
86620         old active_dir_ht and cycle_state.  All uses changed to mention
86621         fts_cycle.ht and fts_cycle.state.
86622         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86623         fts.c, with the following changes:
86624         (setup_dir, free_dir): New functions.
86625         (enter_dir): Now returns bool.  Return true if successful, false
86626         if memory exhausted.  All callers changed.
86627         Do not bother partly cleaning up on
86628         memory allocation failure; that is free_dir's job.
86629         However, free ad if hash_insert fails, to avoid memory leak.
86630         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86631         fts->fts_options to see which union member to use.
86632
86633 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86634
86635         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86636         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86637
86638 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86639
86640         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86641
86642 2005-05-20  Jim Meyering  <jim@meyering.net>
86643
86644         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86645         Now a macro, to pacify GCC.
86646
86647 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86648
86649         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86650         of -1.
86651
86652 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86653
86654         * lib/chown.c (rpl_chown): Return -1 on failure.
86655
86656 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86657
86658         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86659         Don't check for stddef.h.
86660         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86661         don't use its results.
86662         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86663         since we include them unconditionally.  Don't require
86664         AM_STDBOOL_H, since stdbool is a prerequisite.
86665         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86666         since we assume C89 or better.
86667         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86668         as we don't use their results.
86669         Don't check for fchdir, memmove, memset, strrchr, as we use
86670         them unconditionally.
86671         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86672         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86673
86674 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86675
86676         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86677         Include <stddef.h> unconditionally, since we assume C89 now.
86678         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86679         * lib/fts.c: Include fts_.h first, to check interface.
86680         Do not include intprops.h; no longer needed.
86681         Include cycle-check.h and hash.h, since fts_.h no longer does.
86682         Remove unnecessary casts of closedir to void.
86683         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86684         decide whether to decrement nlinks.
86685         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86686         (FTS): Use struct hash_table * instead of Hash_table, so that
86687         we no longer need to include hash.h here.
86688
86689 2005-05-18  Jim Meyering  <jim@meyering.net>
86690
86691         * modules/dirfd (License): Change to LGPL.  Most of the code
86692         is already in the public domain.
86693
86694 2005-05-18  Jim Meyering  <jim@meyering.net>
86695
86696         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86697         Reported by Yoann Vandoorselaere.
86698
86699 2005-05-17  Jim Meyering  <jim@meyering.net>
86700
86701         * m4/fts.m4: New file, from coreutils.
86702
86703 2005-05-17  Jim Meyering  <jim@meyering.net>
86704
86705         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86706
86707 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86708
86709         Sync from coreutils.
86710         * m4/unlinkdir.m4: New file.
86711
86712 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86713
86714         Sync from coreutils.
86715         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86716         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86717         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86718         White space changes only.
86719         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86720         special.
86721         * lib/yesno.c: Include getline.h, not ctype.h.
86722         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86723         Use getline to remove arbitrary restriction on response length.
86724
86725 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86726
86727         * config/srclist-update: Spell out "Street" in FSF postal
86728         mail address; this is the style the FSF seems to prefer.
86729
86730         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86731         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86732         this updates FSF postal mail address.
86733
86734         Sync from coreutils.
86735         * modules/unlinkdir: New file.
86736         * modules/yesno (Depends-on): Add getline.
86737         * MODULES.html.sh (File system functions): Add unlinkdir.
86738
86739 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86740
86741         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86742         lib/strsep.h:
86743         Change the initial comment to refer to GPL, not LGPL.
86744         gnulib-tool will change it to LGPL as needed.
86745
86746         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86747         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86748         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86749         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86750         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86751         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86752         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86753         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86754         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86755         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86756         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86757         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86758         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86759         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86760         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86761         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86762         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86763         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86764         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86765         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
86766         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
86767         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
86768         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
86769         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
86770         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
86771         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
86772         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
86773         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
86774         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
86775         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
86776         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
86777         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
86778         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
86779         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
86780         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
86781         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
86782         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
86783         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
86784         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
86785         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
86786         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
86787         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
86788         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
86789         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
86790         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
86791         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
86792         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
86793         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
86794         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
86795         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
86796         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86797         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
86798         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
86799         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
86800         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
86801         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
86802         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
86803         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
86804         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
86805         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
86806         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
86807         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
86808         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
86809         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
86810         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
86811         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
86812         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
86813         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
86814         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
86815         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
86816         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
86817         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
86818         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
86819         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
86820         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
86821         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
86822         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
86823         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
86824         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
86825         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
86826         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
86827         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
86828         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
86829         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
86830         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
86831         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
86832         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
86833         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
86834         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
86835         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
86836         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
86837         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
86838         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
86839         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
86840         lib/yesno.c, lib/yesno.h:
86841         Update FSF postal mail address.
86842
86843 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86844
86845         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
86846         tests/test-memmem.c, tests/test-stpncpy.c:
86847         Update FSF postal mail address.
86848
86849 2005-05-13  Bruno Haible  <bruno@clisp.org>
86850
86851         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
86852         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
86853         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
86854         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
86855         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
86856         Add support for 64-bit integers in the MSVC compiler.
86857
86858 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86859
86860         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
86861
86862 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
86863
86864         * gnulib-tool (func_import): Sort and uniquify recommended includes.
86865
86866 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
86867
86868         * doc/getdate.texi (General date syntax): Don't say that date
86869         date --iso-8601=ns generates acceptable dates; it doesn't yet.
86870         Problem reported by Nic Ferrier.
86871
86872 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86873
86874         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
86875         specified in ai_socktype. Fix invalid ai_protocol
86876         check. ai_protocol is usually set to 0 or depending on
86877         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
86878         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
86879         ai_socktype / ai_protocol in the returned addrinfo structure.
86880
86881 2005-05-10  Simon Josefsson  <jas@extundo.com>
86882
86883         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
86884         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86885
86886 2005-05-10  Karl Berry  <karl@gnu.org>
86887
86888         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
86889         (from http://www.gnu.org/licenses).
86890         * doc/COPYING.LIB: also rename to COPYING.LESSER.
86891         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
86892         fdl.texi suffices.
86893
86894 2005-05-10  Karl Berry  <karl@gnu.org>
86895
86896         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
86897         (COPYING.DOC): remove.
86898
86899         * config/srclist-update: new FSF address.
86900
86901 2005-05-10  Derek Price  <derek@ximbiot.com>
86902
86903         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
86904         possible.
86905
86906 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86907             Bruno Haible  <bruno@clisp.org>
86908
86909         * modules/inet_ntop: New file.
86910         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86911         inet_ntop.
86912
86913 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86914             Bruno Haible  <bruno@clisp.org>
86915
86916         * m4/inet_ntop.m4: New file.
86917
86918 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86919             Bruno Haible  <bruno@clisp.org>
86920
86921         * lib/inet_ntop.h: New file.
86922         * lib/inet_ntop.c: New file, from glibc with modifications.
86923
86924 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
86925
86926         * modules/time_r (License): Change to LGPL.
86927         * modules/extensions (License): Change to LGPL.  Actually,
86928         the license is more permissive than that, but currently gnulib-tool
86929         doesn't know how to handle more-permissive licenses.
86930
86931         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86932         Problem reported by Dave Love.
86933
86934 2005-05-08  Jim Meyering  <jim@meyering.net>
86935
86936         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86937         blank.
86938
86939 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86940
86941         * modules/argmatch (Depends-on): Add stdbool.
86942         * modules/backupfile (Depends-on): Likewise.
86943         * modules/chdir-long (Depends-on): Likewise.
86944         * modules/closeout (Depends-on): Likewise.
86945         * modules/cycle-check (Depends-on): Likewise.
86946         * modules/dirname (Depends-on): Likewise.
86947         * modules/fnmatch (Depends-on): Likewise.
86948         * modules/fsusage (Depends-on): Likewise.
86949         * modules/fwriteerror (Depends-on): Likewise.
86950         * modules/getcwd (Depends-on): Likewise.
86951         * modules/getloadavg (Depends-on): Likewise.
86952         * modules/hard-locale (Depends-on): Likewise.
86953         * modules/makepath (Depends-on): Likewise.
86954         * modules/mountlist (Depends-on): Likewise.
86955         * modules/nanosleep (Depends-on): Likewise.
86956         * modules/posixtm (Depends-on): Likewise.
86957         * modules/quotearg (Depends-on): Likewise.
86958         * modules/readtokens (Depends-on): Likewise.
86959         * modules/readtokens0 (Depends-on): Likewise.
86960         * modules/readutmp (Depends-on): Likewise.
86961         * modules/save-cwd (Depends-on): Likewise.
86962         * modules/strftime (Depends-on): Likewise.
86963         * modules/userspec (Depends-on): Likewise.
86964         * modules/utimecmp (Depends-on): Likewise.
86965         * modules/xgetcwd (Depends-on): Likewise.
86966         * modules/xnanosleep (Depends-on): Likewise.
86967         * modules/xstrtod (Depends-on): Likewise.
86968         * modules/yesno (Depends-on): Likewise.
86969
86970 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
86971
86972         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
86973         needless checks.
86974
86975 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86976
86977         Merge from coreutils.  Among other things,
86978         add bulletproofing for cases where stdin, stdout, or stderr are closed.
86979         * lib/fd-safer.c: New file.
86980         * lib/fcntl-safer.h, open-safer.c: Remove.
86981         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
86982         * lib/dup-safer.c: Include unistd-safer.h first.
86983         Don't include errno.h.
86984         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
86985         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
86986         * lib/file-type.c: Rely on file-type.h change.
86987         * lib/getloadavg.c: Include unistd-safer.h.
86988         (getloadavg): Use safer open.
86989         * lib/getusershell.c: Include "stdio-safer.h".
86990         (getusershell): Use safer fopen.
86991         * lib/long-options.c (long_options): Use NULL rather than 0.
86992         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
86993         'free'.
86994         * lib/modechange.c: Likewise.
86995         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
86996         (MODE_DONE): New constant.
86997         (struct mode_change): Remove 'next' member.
86998         (make_node_op_equals): New function; like the old one of the
86999         same name, except it allocates an array.
87000         (mode_compile, mode_create_from_ref): Use it.
87001         (mode_compile): Allocate result as an array, not a linked list.
87002         Parse octal string ourself, so that we catch mistakes like "+0".
87003         (mode_adjust): Arg is an array, not a linked list.
87004         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87005         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87006         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87007         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87008         Remove.  This is now stat-macros.h's job.
87009         (talloc): Remove.  All callers replaced by xalloc, so that
87010         our invokers don't have to worry about reporting memory failures.
87011         (make_node_op_equals): Remove.
87012         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87013         New constants.
87014         (struct mode_change): Moved here from modechange.h.
87015         (mode_append_entry): Remove.
87016         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87017         apps to have incorrect behavior.  Use simpler algorithm for head
87018         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87019         Detect more invalid usages rather than having somewhat-random behavior.
87020         Don't insert an "a=" action, as that leads to incorrect behavior.
87021         (mode_compile, mode_create_from_ref): Return NULL on error instead
87022         of an enum, since now there's only one way to have an error.  All
87023         callers changed.
87024         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87025         at the correct time.  Simplify calculation of "+u" and its ilk.
87026         Don't mishandle "+X".
87027         (mode_free): Remove "register" and localize decls.
87028         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87029         (struct mode_change): Move to modechange.c; callers don't
87030         need to see this stuff.
87031         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87032         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87033         (mode_change, mode_adjust): Reflect the new signatures noted above.
87034         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87035         that might redefine system include files.
87036         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87037         (my_usleep): Use NULL rather than (void *) 0.
87038         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87039         Use siginterrupt to specify that system calls should be interrupted.
87040         (rpl_nanosleep): Move initialization of suspended closer to call of
87041         my_usleep.
87042         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87043         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87044         (desirable_utmp_entry): New function.
87045         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87046         using x2nrealloc, to simplify logic.
87047         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87048         size calculation.  Do not assume utmp file is a regular file.
87049         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87050         (READ_UTMP_CHECK_PIDS): New constant.
87051         * lib/save-cwd.c: Include unistd-safer.h.
87052         (save_cwd): Use fd_safer.
87053         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87054         [!_LIBC] Include "stat-macros.h" instead.
87055         * lib/unistd-safer.h (fd_safer): New decl.
87056
87057 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87058
87059         * modules/getloadavg (Depends-on): Add unistd-safer.
87060         * modules/getusershell (Depends-on): Add stdio-safer.
87061         * modules/lstat (Depends-on): Remove xalloc.
87062         * modules/mkstemp (Depends-on): Add stat-macros.
87063         * modules/modechange (Depends-on): Remove xstrtol.
87064         Add stat-macros, xalloc.
87065         * modules/save-cwd (Depends-on): Add unistd-safer.
87066         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87067         * modules/unistd-safer (Files): Add lib/fd-safer.c
87068         (Makefile.am): Remove lib_SOURCES.
87069
87070         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87071         Remove fcntl-safer; unistd-safer supersedes it.
87072
87073 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87074
87075         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87076         AC_HEADER_STAT.
87077         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87078         (gl_PREREQ_CHOWN): Remove.
87079         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87080         it.  Don't require AC_HEADER_STAT.
87081         (gl_PREREQ_LSTAT): Remove.
87082         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87083         Don't require AC_HEADER_STAT.
87084         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87085         (gl_PREREQ_RMDIR): Remove.
87086         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87087         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87088         the stat-macros module a prerequisite.
87089         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87090         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87091         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87092         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87093         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87094         variable names.
87095         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87096         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87097         variable prefixes.
87098         * m4/fcntl-safer.m4: Remove.
87099         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87100         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87101         Invoke gl_PREREQ_FD_SAFER.
87102         (gl_PREREQ_FD_SAFER): New macro.
87103         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87104         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87105         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87106         Remove duplicate call to AC_LIBOBJ(readutmp).
87107         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87108
87109         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87110         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87111
87112 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87113
87114         * MODULES.html.sh (Misc): Add byteswap.
87115
87116 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87117
87118         * modules/getcwd (Depends-on): Add extensions.
87119         * modules/openat (Depends-on): Likewise.
87120
87121 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87122
87123         * modules/byteswap: New file.
87124
87125 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87126
87127         * m4/byteswap.m4: New file.
87128
87129 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87130
87131         * lib/byteswap_.h: New file.
87132
87133 2005-04-25  Karl Berry  <karl@gnu.org>
87134
87135         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87136
87137 2005-04-25  Albert Chin  <china@thewrittenword.com>
87138
87139         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87140         Toolkit C bug.
87141
87142 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87143
87144         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87145         (func_ln_if_changed): Remove forcibly for no error message
87146         in case file does not exist.
87147
87148 2005-04-19  Simon Josefsson  <jas@extundo.com>
87149
87150         * gnulib-tool (Options): Make --symlink mean --symbolic.
87151
87152 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87153
87154         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87155
87156 2005-04-16  Simon Josefsson  <jas@extundo.com>
87157
87158         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87159
87160 2005-04-15  Simon Josefsson  <jas@extundo.com>
87161
87162         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87163
87164 2005-04-15  Simon Josefsson  <jas@extundo.com>
87165
87166         * gnulib-tool: Rename --symlink to --symbolic.
87167
87168 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87169
87170         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87171         symbolic links to files instead of copying/moving.  Add --aux-dir,
87172         specifying directory relative --dir where auxiliary build tools
87173         are placed.
87174
87175 2005-04-14  Bruno Haible  <bruno@clisp.org>
87176
87177         * modules/allocsa (License): Change to LGPL.
87178         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87179
87180 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87181
87182         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87183         that "UTC +1 second" continues to work.  Problem reported
87184         by Dmitry V. Levin.
87185         (relunit_snumber): New rule.
87186         (relunit): Use it.
87187
87188 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87189
87190         * lib/getdate.y (universal_time_zone_table): New constant.
87191         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87192         universal_time_zone_table.
87193         (lookup_zone): Prefer universal_time_zone_table to
87194         local_time_zone_table, so that "GMT" time stamps are allowed in
87195         London during the summer.  Problem reported by Ian Abbott.
87196
87197 2005-04-12  Jim Meyering  <jim@meyering.net>
87198
87199         * lib/human.c (humblock): Set *options even when returning due to
87200         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87201         warning from gcc-4.
87202
87203 2005-04-09  Jim Meyering  <jim@meyering.net>
87204
87205         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87206         -Wuninitialized: initialize tm0.tm_year.
87207
87208 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87209
87210         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87211         count, since there's no maximum.  All uses changed.
87212         Add member dsts_seen.
87213         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87214         not being INT_MAX.
87215         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87216         Use pc_rels_seen to decide whether a date is absolute.
87217
87218         * lib/getdate.y (number): Don't overwrite year.
87219         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87220         check.
87221
87222 2005-04-02  Simon Josefsson  <jas@extundo.com>
87223
87224         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87225         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87226
87227 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87228
87229         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87230         where no absolute path name can be longer than PATH_MAX.
87231
87232 2005-03-27  Jim Meyering  <jim@meyering.net>
87233
87234         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87235
87236 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87237
87238         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87239         "one's complement" -> "ones' complement" in comment, as per Knuth.
87240         "value of type" -> "type or expression" in comment.
87241         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87242
87243 2005-03-26  Jim Meyering  <jim@meyering.net>
87244
87245         Comment nits.
87246         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87247         Correct typos: s/or/of/.
87248
87249 2005-03-26  Jim Meyering  <jim@meyering.net>
87250
87251         * modules/check-include-files: Move to ../ and rename to...
87252         * check-module: ...this.
87253
87254 2005-03-25  Jim Meyering  <jim@meyering.net>
87255
87256         * modules/xvasprintf (Files): Add xalloc.h.
87257
87258 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87259
87260         * modules/gettext (Files): config/config.rpath ->
87261         build-aux/config.rpath
87262         * modules/iconv (Files): Likewise.
87263         Problem reported by Oskar Liljeblad.
87264
87265 2005-03-23  Jim Meyering  <jim@meyering.net>
87266
87267         * modules/check-include-files: New script to check for
87268         missing dependencies, multiple includes, etc.
87269
87270         * modules/c-strtold (Depends-on): Add xalloc.
87271         * modules/c-strtod (Depends-on): Add xalloc.
87272         * modules/hash (Depends-on): Add xalloc.
87273         (Files): Remove lib/xalloc.h.
87274
87275         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87276         * modules/userspec (Files): Add lib/inttostr.h.
87277
87278 2005-03-23  Jim Meyering  <jim@meyering.net>
87279
87280         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87281
87282 2005-03-22  Jim Meyering  <jim@meyering.net>
87283
87284         * modules/stat-macros: New module.
87285         * modules/canonicalize, modules/euidaccess, modules/file-type,
87286         * modules/filemode, modules/lchown, modules/makepath,
87287         * modules/rmdir, modules/stat: Depend on new stat-macros module
87288         rather than listing lib/stat-macros.h manually.
87289         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87290
87291 2005-03-22  Jim Meyering  <jim@meyering.net>
87292
87293         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87294
87295 2005-03-22  Bruno Haible  <bruno@clisp.org>
87296
87297         * config/srclist.txt: Replace target directory 'config' with
87298         'build-aux'.
87299         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87300         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87301         ../build-aux/.
87302
87303 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87304
87305         * modules/chdir-long (Depends-on): Add mempcpy.
87306
87307         * modules/acl, modules/backupfile, modules/c-strtod,
87308         modules/c-strtold, modules/canon-host, modules/canonicalize,
87309         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87310         modules/exclude, modules/exitfail, modules/file-type,
87311         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87312         modules/getdate, modules/getline, modules/getpagesize,
87313         modules/getpass, modules/getugroups, modules/group-member,
87314         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87315         modules/inttostr, modules/long-options, modules/makepath,
87316         modules/md5, modules/memcasecmp, modules/memcoll,
87317         modules/modechange, modules/mountlist, modules/path-concat,
87318         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87319         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87320         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87321         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87322         modules/strftime, modules/strndup, modules/strverscmp,
87323         modules/timespec, modules/unlocked-io, modules/userspec,
87324         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87325         modules/yesno:
87326         Remove lib_SOURCES line from Makefile.am section, as this is now
87327         done automatically by the corresponding Autoconf macro.
87328
87329 2005-03-21  Jim Meyering  <jim@meyering.net>
87330
87331         Changes imported from coreutils.
87332
87333         * lib/cycle-check.c: Don't include xalloc.h.
87334
87335         * lib/path-concat.c: Don't include assert.h.
87336         (path_concat): Remove assertion that would have triggered
87337         for ABASE starting with more than one slash.
87338         Reported by Andreas Schwab.
87339
87340         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87341         properly when ABASE is an absolute file name.
87342         Correct the description of this function.
87343         Include <assert.h>.
87344         Add an assertion and a test driver.
87345         This fixes a bug introduced on 2004-07-02.
87346         Andreas Schwab reported the resulting failure of cp --parents:
87347         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87348
87349 2005-03-21  Jim Meyering  <jim@meyering.net>
87350
87351         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87352         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87353
87354 2005-03-21  Jim Meyering  <jim@meyering.net>
87355         and  Paul Eggert  <eggert@cs.ucla.edu>
87356
87357         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87358         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87359         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87360         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87361         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87362         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87363         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87364         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87365         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87366         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87367         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87368         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87369         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87370         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87371         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87372         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87373         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87374         for these modules.
87375
87376 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87377
87378         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87379         (which shouldn't happen), generate nothing instead of returning 0
87380         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87381
87382 2005-03-16  Bruno Haible  <bruno@clisp.org>
87383
87384         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87385         HAVE_LONGLONG_64BIT.
87386
87387 2005-03-16  Bruno Haible  <bruno@clisp.org>
87388
87389         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87390         HAVE_LONGLONG_64BIT.
87391
87392 2005-03-16  Bruno Haible  <bruno@clisp.org>
87393
87394         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87395         HAVE_LONGLONG_64BIT.
87396
87397 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87398
87399         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87400         reliably distinguish strftime failure from empty output on POSIX
87401         hosts.
87402
87403 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87404
87405         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87406         (iconv_string): Don't guess a size-zero buffer, as that might cause
87407         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87408         result would be 'too large', where 'too large' is (heuristically)
87409         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87410         overflow concerns.  This will prevent some unwanted malloc failures
87411         when the inputs are very large.
87412
87413 2005-03-15  Karl Berry  <karl@gnu.org>
87414
87415         * config/srclist.txt (config.rpath): from gettext.
87416         * config/config.rpath: update.
87417
87418 2005-03-15  Bruno Haible  <bruno@clisp.org>
87419
87420         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87421         to 'negate'.
87422
87423         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87424         variable.
87425
87426         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87427         results.
87428
87429 2005-03-14  Simon Josefsson  <jas@extundo.com>
87430
87431         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87432         <fx@gnu.org>.
87433
87434 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87435
87436         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87437         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87438         intprops.h.
87439         * lib/strtol.c: Likewise.
87440
87441 2005-03-14  Jim Meyering  <jim@meyering.net>
87442
87443         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87444         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87445         to be nonzero so that we (and caller) can detect the difference
87446         between a valid zero-length expansion and an error return, even
87447         when the underlying strftime fails before writing anything into
87448         that location.
87449
87450 2005-03-14  Bruno Haible  <bruno@clisp.org>
87451
87452         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87453         Update from GNU gettext 0.14.3.
87454
87455 2005-03-10  Jim Meyering  <jim@meyering.net>
87456
87457         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87458
87459 2005-03-10  Jim Meyering  <jim@meyering.net>
87460
87461         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87462         so that this module works on systems without fchdir.
87463
87464 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87465
87466         Factor int-properties macros into a single file, except for
87467         glibc-related files.
87468         * lib/intprops.h: New file.
87469         * lib/getloadavg.c: Include it instead of limits.h.
87470         (INT_STRLEN_BOUND): Remove.
87471         * lib/human.c: Include intprops.h.
87472         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87473         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87474         302/1000.
87475         * lib/inttostr.h: Include intprops.h instead of limits.h.
87476         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87477         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87478         for consistency with intprops.h.
87479         (time_t_is_integer, twos_complement_arithmetic): Use them.
87480         * lib/sig2str.h: Include <signal.h>, intprops.h.
87481         (INT_STRLEN_BOUND): Remove.
87482         * lib/strftime.c (TYPE_SIGNED): Remove.
87483         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87484         * lib/strtol.c: Adjust comments to match intprops.h.
87485         * lib/userspec.c: Include intprops.h.
87486         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87487         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87488         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87489         instead of rolling our own expressions.
87490         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87491
87492         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87493         instead of int.
87494         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87495         the right thing even if adding 1900 would overflow.  Similarly
87496         for tm_mon + 1 and tm_yday + 1.
87497         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87498         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87499         (DO_SIGNED_NUMBER): New macro.
87500         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87501
87502 2005-03-07  Bruno Haible  <bruno@clisp.org>
87503
87504         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87505
87506 2005-03-07  Bruno Haible  <bruno@clisp.org>
87507
87508         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87509
87510 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87511
87512         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87513         (func_import): Only replace files via --import when they have actually
87514         changed.
87515
87516 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87517
87518         * m4/mmap-anon.m4: New file.
87519         * m4/pagealign_alloc.m4: New file.
87520
87521 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87522             Bruno Haible  <bruno@clisp.org>
87523
87524         * modules/pagealign_alloc: New file.
87525         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87526
87527 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87528             Bruno Haible  <bruno@clisp.org>
87529
87530         * lib/pagealign_alloc.h: New file.
87531         * lib/pagealign_alloc.c: New file.
87532
87533 2005-03-03  Bruno Haible  <bruno@clisp.org>
87534
87535         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87536         Use an all-permissive copyright notice, recommended by RMS.
87537
87538 2005-03-02  Bruno Haible  <bruno@clisp.org>
87539
87540         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87541         of AIX, the replacement has to be done only after <string.h> is
87542         included, therefore not in config.h. stpncpy.h does the replacement,
87543         and stpncpy.c uses it.
87544
87545 2005-03-02  Bruno Haible  <bruno@clisp.org>
87546
87547         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87548         stpncpy.c uses it.
87549
87550 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87551
87552         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87553         The workaround isn't strictly needed for POSIX conformance, and
87554         it's too much of a pain to configure and maintain.  We'll ask
87555         people to fix their kernels instead.
87556         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87557         (NANOSLEEP_BUG_WORKAROUND): Remove.
87558         (xnanosleep): Remove the workaround.
87559
87560 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87561
87562         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87563         Reported by Derek Price.
87564         (Include): Add "timespec.h".
87565
87566         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87567
87568 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87569
87570         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87571         to detect nanosleep bug.
87572
87573 2005-03-01  Bruno Haible  <bruno@clisp.org>
87574
87575         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87576
87577 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87578
87579         * modules/gethrxtime: New file.
87580         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87581         (Depends-on): Add gethrxtime.
87582         (configure.ac): Add gl_XNANOSLEEP.
87583         (Makefile.am): Remove lib_SOURCES line.
87584
87585 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87586
87587         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87588         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87589
87590 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87591
87592         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87593         * lib/timespec.h (gettime): Return void, since it always
87594         succeeds now.  All uses changed.
87595         * lib/gettime.c (gettime): Likewise.
87596         [HAVE_NANOTIME]: Prefer nanotime.
87597         Assume gettimeofday succeeds, as POSIX requires.
87598         Assime time () succeeds, since other code already does.
87599         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87600         (timespec_subtract): Remove.
87601         (NANOSLEEP_BUG_WORKAROUND): New constant.
87602         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87603         things considerably.  Use it only on GNU/Linux hosts, since the
87604         workaround shouldn't be needed elsewhere.
87605
87606 2005-02-24  Bruno Haible  <bruno@clisp.org>
87607
87608         * modules/gettext (Files): Add m4/glibc2.m4.
87609
87610 2005-02-24  Bruno Haible  <bruno@clisp.org>
87611
87612         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87613         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87614         * m4/progtest.m4:
87615         Update from GNU gettext 0.14.2.
87616         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87617
87618 2005-02-24  Bruno Haible  <bruno@clisp.org>
87619
87620         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87621         * lib/config.charset: Update from GNU gettext 0.14.2.
87622
87623 2005-02-24  Bruno Haible  <bruno@clisp.org>
87624
87625         * lib/gettext.h: Update from GNU gettext 0.14.2.
87626
87627 2005-02-23  Simon Josefsson  <jas@extundo.com>
87628
87629         * m4/iconvme.m4: New file.
87630
87631 2005-02-23  Jim Meyering  <jim@meyering.net>
87632
87633         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87634         change.
87635         Thanks to Bruno Haible for catching it.
87636
87637 2005-02-22  Simon Josefsson  <jas@extundo.com>
87638
87639         * modules/iconvme: New file.
87640
87641         * MODULES.html.sh: Add iconvme.
87642
87643 2005-02-22  Simon Josefsson  <jas@extundo.com>
87644
87645         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87646
87647 2005-02-22  Simon Josefsson  <jas@extundo.com>
87648
87649         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87650
87651 2005-02-22  Jim Meyering  <jim@meyering.net>
87652
87653         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87654         s/ifndef/ifdef/.
87655
87656 2005-02-20  Neil Conway  <neilc@samurai.com>
87657
87658         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87659         returned by OSX/Darwin if the specified buffer is not large
87660         enough for the hostname.
87661
87662 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87663
87664         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87665         pass it to _help, otherwise the latter coredumps trying to
87666         dereference state.root_argp.
87667
87668 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87669
87670         * modules/chdir-long (Depends-on): Add memrchr.
87671         * modules/memrchr (Files): Add lib/memrchr.h.
87672         (Include): "memrchr.h".
87673
87674 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87675
87676         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87677
87678 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87679
87680         * lib/memrchr.h: New file.
87681         * lib/chdir-long.c: Include it.
87682         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87683         Don't bother including stddef.h.
87684
87685 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87686
87687         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87688         inclusion.
87689         Include <sys/types.h>, for dev_t.
87690         (ME_DUMMY, ME_REMOTE): Move from here....
87691         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87692         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87693         Dmitry V. Levin.
87694         Include mountlist.h first, to test the interface.
87695
87696 2005-01-29  Bruno Haible  <bruno@clisp.org>
87697
87698         * lib/progname.c (program_name): Initialize.
87699         Needed when linking statically on MacOS X.
87700
87701 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87702
87703         Sync from coreutils.
87704         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87705         (Depends-on): Add c-strtod.
87706         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87707
87708 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87709
87710         Sync from coreutils.
87711         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87712
87713         Remove files that are specific to coreutils.
87714         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87715
87716 2005-01-28  Bruno Haible  <bruno@clisp.org>
87717
87718         * modules/javacomp: New file.
87719         * MODULES.html.sh (Java): Add javacomp.
87720
87721 2005-01-28  Bruno Haible  <bruno@clisp.org>
87722
87723         * m4/javacomp.m4: New file, from GNU gettext.
87724
87725 2005-01-28  Bruno Haible  <bruno@clisp.org>
87726
87727         * lib/javacomp.sh.in: New file, from GNU gettext.
87728         * lib/javacomp.h: New file, from GNU gettext.
87729         * lib/javacomp.c: New file, from GNU gettext.
87730
87731 2005-01-26  Simon Josefsson  <jas@extundo.com>
87732
87733         * lib/gai_strerror.c: Use GPL in header.
87734
87735 2005-01-26  Bruno Haible  <bruno@clisp.org>
87736
87737         * modules/javaexec: New file.
87738         * MODULES.html.sh (Java): Add javaexec.
87739
87740 2005-01-26  Bruno Haible  <bruno@clisp.org>
87741
87742         * m4/javaexec.m4: New file, from GNU gettext.
87743
87744 2005-01-26  Bruno Haible  <bruno@clisp.org>
87745
87746         * lib/javaexec.sh.in: New file, from GNU gettext.
87747         * lib/javaexec.h: New file, from GNU gettext.
87748         * lib/javaexec.c: New file, from GNU gettext.
87749
87750 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87751
87752         * modules/lchown (Depends-on): Remove lchown.h
87753
87754 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87755
87756         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87757         must be defined if the header file was not found, in order
87758         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87759
87760 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87761
87762         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87763         initializers for struct pentry_state.
87764         (__argp_error): Check return value of __asprintf
87765         (__argp_failure): Translate error message
87766
87767         * lib/argp-parse.c: Removed braces around the expansion of N_()
87768
87769 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87770
87771         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
87772         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
87773         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
87774         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
87775         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
87776         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
87777         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
87778         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
87779         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
87780         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
87781         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
87782         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
87783         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
87784         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
87785         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
87786         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
87787         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
87788         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
87789         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
87790         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
87791         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
87792         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
87793         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
87794         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
87795         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
87796         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
87797         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
87798         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
87799         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
87800         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
87801         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
87802         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
87803         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
87804         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
87805         xstrtol.m4, xstrtoumax.m4, yesno.m4:
87806         Use an all-permissive copyright notice, recommended by RMS.
87807
87808 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87809
87810         * modules/chdir-long (Depends-on): Remove mempcpy.
87811
87812 2005-01-21  Jim Meyering  <jim@meyering.net>
87813
87814         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
87815         same value as for Solaris 9.
87816
87817         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
87818         component length.  This included changing the parameter to be
87819         of type `char *' rather than `char const *'.
87820         * lib/chdir-long.h (chdir_long): Update prototype.
87821
87822         * lib/openat.c (fdopendir, fstatat): New functions.
87823         * lib/openat.h: Include headers required for use of DIR and struct
87824         stat.
87825         [AT_SYMLINK_NOFOLLOW]: Define.
87826         (fdopendir, fstatat): Add prototypes.
87827
87828 2005-01-21  Bruno Haible  <bruno@clisp.org>
87829
87830         * modules/classpath: New file.
87831         * MODULES.html.sh (Java): Add classpath.
87832
87833 2005-01-21  Bruno Haible  <bruno@clisp.org>
87834
87835         * lib/classpath.h: New file, from GNU gettext.
87836         * lib/classpath.c: New file, from GNU gettext.
87837
87838 2005-01-20  Simon Josefsson  <jas@extundo.com>
87839
87840         * modules/version-etc-fsf: New file.
87841
87842 2005-01-20  Simon Josefsson  <jas@extundo.com>
87843
87844         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
87845         * lib/version-etc.c: Remove version_etc_copyright.
87846         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
87847         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
87848
87849 2005-01-20  Simon Josefsson  <jas@extundo.com>
87850
87851         * lib/base64.h (isbase64): Add.
87852
87853         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
87854         using a unsigned prototype, don't inline.
87855         (base64_decode): Use it.
87856
87857 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87858
87859         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
87860         it.
87861
87862 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87863
87864         * lib/save-cwd.c (save_cwd): Remove code to support the case
87865         where fchdir is missing or flaky.
87866
87867 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87868
87869         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
87870
87871 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
87872
87873         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
87874         AC_LIBSOURCES now does this.
87875         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
87876         with new ullong_max module.
87877
87878 2005-01-19  Bruno Haible  <bruno@clisp.org>
87879
87880         * modules/sh-quote: New file.
87881         * MODULES.html.sh (Executing programs): Add sh-quote.
87882
87883 2005-01-19  Bruno Haible  <bruno@clisp.org>
87884
87885         * lib/sh-quote.h: New file, from GNU gettext.
87886         * lib/sh-quote.c: New file, from GNU gettext.
87887
87888 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87889
87890         Merge from coreutils.
87891         * m4/ullong_max.m4: New file.
87892         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
87893         (gl_MACROS): Assume localeconv exists.
87894
87895 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87896
87897         Merge changes from coreutils, as described below in several
87898         changelogs dated today.
87899
87900         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
87901         (O_DIRECTORY): Remove; not needed here, since "." must be
87902         a directory.  All uses removed.
87903         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
87904         universal on Suns, and we also need to test for IRIX.
87905         Revamp code to use 'if' rather than '#if'.
87906         Avoid unnecessary comparison of cwd->desc to 0.
87907
87908         * lib/utimens.c (futimens): Robustify the previous patch, by checking
87909         for known valid error numbers rather than observed invalid ones.
87910
87911 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87912
87913         * modules/ullong_max: New file.
87914
87915         * modules/chdir-long, modules/openat: New files.
87916         * modules/save-cwd (Depends-on): Depend on chdir-long.
87917         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
87918
87919 2005-01-18  Jim Meyering  <jim@meyering.net>
87920
87921         Merge from coreutils.
87922         * m4/chdir-long.m4, m4/openat.m4: New files.
87923         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
87924         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
87925         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
87926         is sane and DOES follow symlinks.  Besides, testing 20 different
87927         systems found no broken chown implementations.
87928         Prompted by a change in rsync's copy of this macro.
87929         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
87930
87931         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87932
87933         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87934         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87935         NULL-means-set-to-current-time semantics.
87936         Remove temporary file immediately, rather than waiting
87937         for configure's at-exit trap code to do it.
87938
87939 2005-01-18  Jim Meyering  <jim@meyering.net>
87940
87941         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87942
87943         * lib/utimens.c (futimens): Account for the fact that futimes
87944         can also fail with errno == ENOSYS or errno == ENOENT.
87945         Patch from Dmitry V. Levin.
87946
87947         Change the name of the robust chdir function from chdir to chdir_long.
87948         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
87949         (restore_cwd): Use chdir_long, not chdir.
87950         * lib/chdir-long.c: Renamed from chdir.c.
87951         * lib/chdir-long.h: Renamed from chdir.h.
87952         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
87953         Hurd.
87954
87955 2005-01-18  Bruno Haible  <bruno@clisp.org>
87956
87957         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
87958         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
87959         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
87960         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
87961         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
87962         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
87963         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
87964         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
87965         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
87966         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
87967         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
87968         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
87969         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
87970         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
87971         Use an all-permissive copyright notice, recommended by RMS.
87972
87973 2005-01-18  Bob Proulx  <bob@proulx.com>
87974
87975         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
87976         simplify offsetof() macro construct to avoid compile failure with
87977         native HP-UX 11.0 ANSI C compiler.
87978
87979 2005-01-17  Bruno Haible  <bruno@clisp.org>
87980
87981         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
87982         redundant because stpncpy.m4 takes care of it.
87983
87984 2005-01-17  Bruno Haible  <bruno@clisp.org>
87985
87986         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
87987
87988 2005-01-17  Bruno Haible  <bruno@clisp.org>
87989
87990         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
87991         used.
87992
87993 2005-01-17  Bruno Haible  <bruno@clisp.org>
87994
87995         * lib/fwriteerror.h (fwriteerror): Change specification to include
87996         fclose.
87997         * lib/fwriteerror.c: Include <stdbool.h>.
87998         (fwriteerror): At the end, close the file stream. Record whether
87999         stdout was already closed.
88000
88001 2005-01-17  Bruno Haible  <bruno@clisp.org>
88002
88003         * lib/execute.c (environ): Declare if needed.
88004         * lib/pipe.c (environ): Likewise.
88005         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88006
88007 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88008
88009         * modules/argp: Depend on vsnprintf
88010
88011 2005-01-10  Jim Meyering  <jim@meyering.net>
88012
88013         * modules/closeout (Depends-on): Add atexit.
88014
88015 2005-01-06  Bruno Haible  <bruno@clisp.org>
88016
88017         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88018
88019 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88020
88021         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88022         definitions to be after all include files, to avoid collisions.
88023         Problem reported by Bob Proulx.
88024
88025 2005-01-04  Jim Meyering  <jim@meyering.net>
88026
88027         Changes imported from coreutils.
88028         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88029         as the mkstemp template, use a temporary directory and an
88030         8.3-friendly template to avoid trouble on systems like DJGPP.
88031         Reported by Juan M. Guerrero via Stepan Kasal.
88032         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88033         close. Remove the temporary directory right away, rather than waiting
88034         for configure's at-exit trap code to do it.
88035         Suggestion from Stepan Kasal.
88036
88037 2005-01-01  Simon Josefsson  <jas@extundo.com>
88038
88039         * gnulib-tool: Print #include directives when --import'ing.
88040
88041 2004-12-28  Simon Josefsson  <jas@extundo.com>
88042
88043         * tests/test-base64.c: Include required header files.  Remove
88044         unused variables.
88045
88046 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88047
88048         * modules/error (Depends-on): Remove gettext.
88049
88050 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88051
88052         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88053         not needed.  This removes a dependency on the gettext module.
88054         [defined _LIBC]: Do not include <libintl.h>; not needed.
88055
88056 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88057
88058         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88059         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88060
88061 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88062
88063         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88064         HAVE_DECL_STRTOLD.
88065
88066 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88067
88068         * modules/getdate (Depends-on): Remove alloca-opt.
88069
88070 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88071
88072         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88073
88074 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88075
88076         * lib/argp-parse.c: Include <stddef.h>.
88077         (alignof, alignto): New macros.
88078         (parser_init): Don't assume that void * is aligned sufficiently
88079         for struct option.
88080
88081         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88082         need to extend the stack.
88083         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88084         large.
88085
88086 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88087
88088         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88089
88090 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88091
88092         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88093         (2004-10-24) change.  Apparently this was a false alarm.
88094
88095         * modules/getdate: Depend on alloca-opt, not alloca.
88096
88097 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88098
88099         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88100         Remove now-obsolete comment about AIX.
88101         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88102         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88103         (YYMAXDEPTH): New macro.
88104
88105 2004-12-18  Simon Josefsson  <jas@extundo.com>
88106
88107         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88108
88109 2004-12-18  Bruno Haible  <bruno@clisp.org>
88110
88111         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88112
88113 2004-12-18  Bruno Haible  <bruno@clisp.org>
88114
88115         * lib/fatal-signal.c (fatal_signals): Make non-const.
88116         (init_fatal_signals): New function.
88117         (uninstall_handlers, install_handlers): Ignore signals that were set to
88118         SIG_IGN.
88119         (at_fatal_signal): Call init_fatal_signals.
88120         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88121         SIG_IGN.
88122         Reported by Paul Eggert.
88123
88124 2004-12-18  Bruno Haible  <bruno@clisp.org>
88125
88126         * doc/alloca.texi: New file.
88127         * doc/alloca-opt.texi: New file.
88128
88129 2004-12-17  Jim Meyering  <jim@meyering.net>
88130
88131         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88132         Otherwise, install-sh could exit with improper exit status when
88133         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88134
88135 2004-12-16  Simon Josefsson  <jas@extundo.com>
88136
88137         * tests/test-base64.c: Add license.
88138
88139 2004-12-15  Stepan Kasal  <address@hidden>
88140
88141         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88142
88143 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88144
88145         * modules/getcwd (Files): Add m4/d-ino.m4.
88146         Suggested by Mark D. Baushke.
88147
88148 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88149
88150         * lib/getdate.y (textint): New member "negative".
88151         (time_zone_hhmm): New function.
88152         Expect 14 shift-reduce conflicts, not 13.
88153         (o_colon_minutes): New rule.
88154         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88155         (yylex): Set the "negative" member of signed numbers.
88156
88157 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88158
88159         * doc/getdate.texi (Time of day items, Time zone items):
88160         Describe new formats +00:00, UTC+00:00.
88161
88162 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88163
88164         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88165         spurious "-l"s.  Problem reported by Stepan Kasal.
88166
88167 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88168
88169         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88170         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88171
88172 2004-12-04  Simon Josefsson  <jas@extundo.com>
88173
88174         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88175         Vandoorselaere <yoann@prelude-ids.org>.
88176
88177 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88178
88179         Changes imported from coreutils.
88180         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88181         exist.
88182         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88183
88184 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88185
88186         Changes imported from coreutils.
88187         * lib/hard-locale.c: Assume <locale.h> exists.
88188         Include "strdup.h".
88189         (GLIBC_VERSION): New macro.
88190         (hard_locale): Assume setlocale exists.
88191         Rewrite to avoid #ifdef.
88192         Use strdup rather than malloc + strcpy.
88193         * lib/human.c: Assume <locale.h> exists.
88194         (human_readable): Assume localeconv exists.
88195
88196 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88197
88198         * modules/hard-locale (Depends-on): Add strdup.
88199
88200 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88201
88202         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88203         convert T2, not T.  (Imported from libc.)
88204
88205 2004-11-30  Simon Josefsson  <jas@extundo.com>
88206
88207         * modules/restrict (License): Change to LGPL.
88208
88209 2004-11-30  Simon Josefsson  <jas@extundo.com>
88210
88211         * m4/restrict.m4: Add copyright and copying conditions.
88212
88213 2004-11-30  Simon Josefsson  <jas@extundo.com>
88214
88215         * m4/base64.m4: New file.
88216
88217 2004-11-30  Simon Josefsson  <jas@extundo.com>
88218
88219         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88220         base64.
88221
88222         * tests/test-base64.c: New file.
88223
88224         * modules/base64: New file.
88225
88226 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88227
88228         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88229         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88230
88231         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88232
88233 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88234
88235         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88236         (__getcwd.c): Don't restore errno; glibc doesn't.
88237         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88238         first, falling back to our code only if its results look suspicious.
88239         Ensure that the resulting buffer is only as large as necessary.
88240
88241         * lib/readutmp.c: Include readutmp.h first.
88242         Include <errno.h>, since readutmp.h no longer does that.
88243         * lib/readutmp.h: Don't include <errno.h>,
88244         <sys/param.h>, <time.h>; not needed to establish interface.
88245         (errno): Remove decl.
88246         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88247         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88248         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88249
88250 2004-11-28  Simon Josefsson  <jas@extundo.com>
88251
88252         * lib/base64.h, base64.c: New file.
88253
88254 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88255
88256         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88257
88258 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88259
88260         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88261         (Depends-on): Remove pathmax, same.  Add mempcpy.
88262         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88263         (Makefile.am): Append getcwd.h to lib_SOURCES.
88264         (Include): Add getcwd.h.
88265         (Maintainer): Change from Jim Meyering to "all, glibc",
88266         since getdate now uses intended-for-glibc code.
88267         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88268         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88269
88270 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88271
88272         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88273         HP's ANSI C compiler.
88274         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88275         Declaring int functions causes warnings on some modern systems and
88276         shouldn't be needed to compile on ancient ones.
88277         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88278         defined.
88279
88280         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88281         with the following changes.
88282         (__set_errno): Parenthesize properly.
88283         Include <stdbool.h>.
88284         (MIN, MAX, MATCHING_INO): New macros.
88285         (__getcwd): Define with prototype, not K&R form.
88286         Use heuristics to allocate default buffer on stack if possible.
88287         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88288         behavior, and to avoid the PATH_MAX limit when computing
88289         ../../../../...
88290         Use MATCHING_INO to compare inode number to file.
88291         Check for arithmetic overflow in size calculations.
88292         Fix bug in reallocation of dot array that caused getcwd to fail
88293         on directories nested deeper than 75.
88294         Be more careful about saving errno on error.
88295         Do not use realloc; use only free+malloc, as this is a bit
88296         more flexible and avoids a needless copy operation.
88297         Do not inspect st_dev and st_ino for symbolic links; POSIX
88298         doesn't specify the latter.
88299         Check for closedir errors.
88300         Avoid needless casts.
88301         Use "#ifdef weak_alias" around weak_alias, to be like other
88302         glibc code.
88303         The following changes to getcwd.c have effect only when used in
88304         gnulib; they have no effect inside glibc proper.
88305         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88306         as alloca isn't used.
88307         (alloca, __alloca): Likewise.
88308         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88309         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88310         unconditionally, as gnulib assumes C89 or better.
88311         Do not include <sys/param.h>.
88312         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88313         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88314         better.
88315         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88316         Include <dirent.h> in a way that is compatible with modern Autoconf.
88317         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88318         New macros, if not already defined.
88319         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88320         Use "_LIBC", not "defined _LIBC", for consistency.
88321         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88322         a mempcpy module.
88323         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88324         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88325         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88326         credit only to Jim Meyering and adjust the copyright dates.
88327         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88328         <stdlib.h>, <unistd.h>, "pathmax.h".
88329         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88330         (INITIAL_BUFFER_SIZE): Remove.
88331         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88332
88333 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88334
88335         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88336         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88337         Use the _ONCE methods, for efficiency.
88338         Check for fcntl.h.  In test program, include <errno.h>
88339         and <fcntl.h> if available.  Remove old K&R cruft from
88340         test program.  Check for common errors in GNU/Linux,
88341         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88342         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88343         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88344         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88345         name accordingly.
88346         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88347         accommodate new getcwd.c.
88348         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88349         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88350         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88351         that's all we need now.
88352
88353 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88354
88355         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88356         argp-parse.c depends on getopt internals, that means we should
88357         always use our getopt, to be on the safe side.
88358         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88359         order not to spoil the result of an eventual previous invocation
88360         of gl_GETOPT_SUBSTITUTE.
88361
88362 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88363
88364         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88365         redefinition warnings. To avoid them, include the defines
88366         in `#if !defined __need_getopt ... #endif'. The only place
88367         where __getopt_argv_const is used is in definitions
88368         of getopt_long and getopt_long_only below, which are as well
88369         protected by `#ifndef __need_getopt'.
88370         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88371         __need_getopt after including <stdio.h> and <unistd.h> These
88372         headers might have defined it.
88373
88374 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88375
88376         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88377
88378 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88379
88380         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88381         (futimens): New function, which uses futimes if available.
88382         (futimens, utimens): Support timespec==NULL, with same semantics
88383         as utime and utimens.
88384         * lib/utimens.h (futimens): New decl.
88385
88386 2004-11-23  Jim Meyering  <jim@meyering.net>
88387
88388         * lib/getopt_.h: Remove trailing blanks.
88389
88390 2004-11-23  Jim Meyering  <jim@meyering.net>
88391
88392         * lib/__fpending.c: Add comment.
88393
88394 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88395
88396         * modules/canonicalize (Depends-on): Add xreadlink.
88397         Problem reported by James Youngman.
88398
88399 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88400
88401         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88402         New macros.
88403         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88404         optopt): Use them instead of invoking ## directly; otherwise, the
88405         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88406
88407 2004-11-19  Bruno Haible  <bruno@clisp.org>
88408
88409         * lib/strtok_r.c: Move comments from here...
88410         * lib/strtok_r.h: ... to here.
88411
88412 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88413
88414         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88415         implementations that mishandle size_t overflow.
88416
88417 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88418
88419         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88420         might fail.  Problem reported by Yoann Vandoorselaere.
88421         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88422         implementations that mishandle size_t overflow.
88423
88424 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88425
88426         * modules/canon-host (Depends-on): Add strdup.
88427
88428 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88429
88430         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88431
88432 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88433
88434         * lib/canon-host.c: Include "strdup.h".
88435         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88436         Use strdup instead of malloc/strcpy to duplicate strings.
88437
88438         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88439         (human_space_before_unit): New constant.
88440         * lib/human.c (human_readable): Support it.
88441
88442         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88443         (xgetcwd): Set errno correctly when failing.
88444         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88445         the failure is actually due to a PATH_MAX problem.
88446
88447         Further getopt changes to make it more likely that glibc will
88448         buy the changes back.
88449         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88450         (getopt): Use it, so to preserve glibc semantic
88451         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88452         when compiling for libc.
88453         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88454         (getopt_long, getopt_long_only): Use it.
88455
88456         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88457         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88458         (getopt): Argv is now char * const *, as per standard.
88459         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88460         not char *__getopt_argv_const *.
88461         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88462         _getopt_long_only_r): Likewise.
88463         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88464         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88465         _getopt_long_r, _getopt_long_only_r): Likewise.
88466         * lib/getopt_.h (__getopt_argv_const): Remove.
88467         (getopt): Argv is now char * const *, as per standard.
88468
88469         * lib/getdate.y (tORDINAL): New token.
88470         (day, relunit): Allow it for relative times.
88471         (relative_time_table): Use tORDINAL for ordinals.
88472
88473 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88474
88475         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88476         Document that "second" isn't allowed as an ordinal number.
88477
88478 2004-11-16  Jim Meyering  <jim@meyering.net>
88479
88480         * modules/closeout (Depends-on): Add fpending.
88481
88482 2004-11-15  Jim Meyering  <jim@meyering.net>
88483
88484         * lib/closeout.c: Include "__fpending.h" once again.
88485         Include <stdbool.h>.
88486         (close_stdout): Don't fail just because stdout was closed initially,
88487         since some programs don't write to stdout in the normal course of
88488         operation (other than --version and --help), and we don't want this
88489         function to make e.g. `touch file >&-' fail.
88490         But do fail if it was closed and someone has tried to write to it.
88491         E.g., `printf foo >&-' must fail.
88492
88493 2004-11-13  Jim Meyering  <jim@meyering.net>
88494
88495         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88496
88497 2004-11-12  Simon Josefsson  <jas@extundo.com>
88498
88499         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88500         small doc fix is still pending.
88501
88502 2004-11-11  Simon Josefsson  <jas@extundo.com>
88503
88504         * modules/strtok_r: New file.
88505
88506         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88507         strtok_r.
88508
88509 2004-11-11  Simon Josefsson  <jas@extundo.com>
88510
88511         * m4/strtok_r.m4: New file.
88512
88513         * m4/getopt.m4: Replace opterr.
88514
88515 2004-11-11  Simon Josefsson  <jas@extundo.com>
88516
88517         * lib/strtok_r.h, strtok_r.c: New file.
88518
88519 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88520
88521         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88522         of replacing opterr, getopt, etc.  This should handle the
88523         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88524
88525 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88526
88527         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88528         we can stop lying to compilers about the constness of argv when we
88529         are compiled outside glibc.
88530         (getopt, getopt_long, getopt_long_only): Use it.
88531         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88532         _getopt_internal, getopt): Likewise.
88533         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88534         _getopt_long_only_r): Likewise.
88535         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88536         _getopt_long_r, _getopt_long_only_r): Likewise.
88537
88538         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88539         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88540         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88541         the other external symbols.
88542         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88543         declaration, since the above renaming now works around collisions.
88544
88545 2004-11-11  Jim Meyering  <jim@meyering.net>
88546
88547         * lib/linebreak.c: Remove trailing blanks.
88548         * lib/alloca_.h: Likewise.
88549         * lib/acosl.c: Likewise.
88550         * lib/euidaccess.c: Likewise.
88551         * lib/allocsa.h: Likewise.
88552
88553 2004-11-10  Simon Josefsson  <jas@extundo.com>
88554
88555         * m4/getaddrinfo.m4: New file.
88556
88557 2004-11-10  Simon Josefsson  <jas@extundo.com>
88558
88559         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88560
88561 2004-11-10  Simon Josefsson  <jas@extundo.com>
88562
88563         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88564         getaddrinfo.
88565
88566         * modules/getaddrinfo: New file.
88567
88568 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88569
88570         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88571
88572 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88573
88574         * lib/mktime.c (SHR): New macro, which is a portable
88575         substitute for >> that should work even on Crays.
88576         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88577         Problem reported by Mark D. Baushke in
88578         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88579         * lib/getdate.y (SHR): Likewise.
88580         (tm_diff): Use it.
88581         * lib/strftime.c (SHR): Likewise.
88582         (tm_diff): Use it.
88583         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88584         quote_these_too, so that right shifts are well defined.  All uses
88585         changed.
88586
88587 2004-11-10  Jim Meyering  <jim@meyering.net>
88588
88589         Ensure that no close failure goes unreported.
88590         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88591         return early when it seems there's nothing to flush.
88592         Don't include __fpending.h.
88593
88594 2004-11-10  Jim Meyering  <jim@meyering.net>
88595
88596         * modules/closeout (Depends-on): Remove fpending.
88597
88598 2004-11-10  Jim Meyering  <jim@meyering.net>
88599
88600         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88601
88602 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88603
88604         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88605         gl_FUNC_STRFTIME.
88606         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88607         and AC_REQUIRE when possible, to avoid duplicate checks.
88608         Check for <wchar.h>.
88609
88610 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88611
88612         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88613
88614 2004-11-09  Bruno Haible  <bruno@clisp.org>
88615
88616         * m4/sockpfaf.m4: New file.
88617
88618 2004-11-05  Bruno Haible  <bruno@clisp.org>
88619
88620         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88621         Reported by Mark D. Baushke <mdb@cvshome.org>.
88622
88623 2004-11-04  Bruno Haible  <bruno@clisp.org>
88624
88625         2004-09-11  Bruno Haible  <bruno@clisp.org>
88626                 * allocsa.valgrind: New file.
88627         2004-02-06  Bruno Haible  <bruno@clisp.org>
88628                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88629                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88630                 Reported by Christopher Seip <chris.seip@hp.com>.
88631
88632 2004-11-04  Bruno Haible  <bruno@clisp.org>
88633
88634         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88635         (Makefile.am): Distribute it.
88636
88637 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88638
88639         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88640         with errno == ERANGE if the buffer is too small.
88641         Problem reported by Mark D. Baushke.
88642
88643 2004-11-03  Albert Chin  <china@thewrittenword.com>
88644             Paul Eggert  <eggert@cs.ucla.edu>
88645
88646         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88647         equivalent, substitute $ac_type for equivalent type rather than
88648         blindly using uint32_t *always* which won't work if uint32_t is not
88649         available.  Define _UINT32_T to work around typedef of uint32_t if
88650         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88651         2.5.1.
88652
88653 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88654
88655         * m4/jm-macros.m4: Sync from coreutils.
88656         (gl_MACROS): Check for mbrlen, for pathchk.
88657         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88658
88659 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88660
88661         * lib/xreadlink.c (MAXSIZE): New macro.
88662         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88663         size does not exceed MAXSIZE.  Avoid cast.
88664         As suggested by Mark D. Baushke in
88665         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88666         if readlink fails with buffer size just under MAXSIZE, try again
88667         with MAXSIZE.
88668
88669 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88670
88671         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88672
88673 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88674         and  Paul Eggert  <eggert@cs.ucla.edu>
88675
88676         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88677         (get_date): Overparenthesize to avoid GCC warning.
88678
88679 2004-11-02  Bruno Haible  <bruno@clisp.org>
88680
88681         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88682         returns void.
88683
88684 2004-11-02  Bruno Haible  <bruno@clisp.org>
88685
88686         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88687         function returns void.
88688
88689 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88690
88691         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88692         fflush_unlocked, flockfile, funlockfile, funlockfile,
88693         fputs_unlocked, putc_unlocked.
88694
88695 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88696
88697         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88698         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88699         already declared.
88700
88701 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88702
88703         * modules/getdate (Files): Add doc/getdate.texi.
88704         (Depends-on): Add setenv, xalloc.
88705
88706 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88707
88708         * lib/getdate.y: Add support for TZ="foo" within a date string.
88709         Fix some bugs near time_t boundaries.  Reject dates with
88710         out-of-range components, e.g., "Sept 31".
88711         Include <stdlib.h>, "setenv.h", "xalloc.h".
88712         (ISDIGIT_LOCALE): Remove; unused.
88713         Note that the TZ and time functions used here are not reentrant.
88714         (mktime_ok, get_tz): New functions.
88715         (TZBUFSIZE): New constant.
88716         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88717         This requires that we sometimes generate our own TZ="XXX..." setting.
88718
88719 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88720
88721         * doc/getdate.texi: New file, from coreutils with modifications for
88722         the new TZ parsing.
88723
88724 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88725
88726         * lib/mktime.c (not_equal_tm): Remove redundant check.
88727
88728 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88729
88730         * modules/regex (lib_SOURCES): Add regex.c.
88731         Reported by James Youngman in
88732         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88733
88734 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88735
88736         * lib/getdate.y: Use Bison 1.875 features, and some minor
88737         code cleanups.  This change does not affect semantics.
88738         Don't include <stdlib.h>; no longer needed.
88739         Don't include unlocked-io.h; only the "#if TEST" code uses
88740         stdio, and performance isn't crucial there.
88741         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88742         Bison 1.875 features as described below.
88743         All uses of "PC." replaced by "pc->".
88744         (YYSTYPE): Add a forward declaration.
88745         (yylex, yyerror): Use full prototypes in forward decls.
88746         Use "%pure-parser" rather than obsolescent "%pure_parser".
88747         Use %parse-param and %lex-param instead of obsolescent
88748         YYPARSE_PARAM and YYLEX_PARAM.
88749         (meridian_table, month_and_day_table, time_units_table,
88750         relative_time_table, time_zone_table, military_table,
88751         lookup_zone, lookup_word, get_date):
88752         Use NULL instead of 0 where appropriate.
88753         (to_hour): Avoid abort (), to avoid a dependency on
88754         stdlib.h.
88755         (yyerror, yylex): Now accepts parser_control * arg.
88756         (main) [TEST]: Use '\0' rather than 0 for char.
88757
88758 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88759
88760         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88761
88762 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88763
88764         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88765         It's now the caller's responsibility to handle the case where
88766         !HAVE_GETPAGESIZE && !defined getpagesize.
88767
88768         * lib/mktime.c (leapyear): Arg is long int, not int.
88769
88770 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
88771
88772         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
88773
88774 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
88775
88776         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
88777         missing.  Problem reported by James Youngman.
88778
88779 2004-10-16  Simon Josefsson  <jas@extundo.com>
88780
88781         * gnulib-tool: Fix comments.  Fix parse problem.
88782         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
88783
88784 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
88785
88786         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
88787         implementation of getopt_long.  Problem reported by Alexander Taler in:
88788         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
88789
88790 2004-10-15  Bruno Haible  <bruno@clisp.org>
88791
88792         * gnulib-tool: Untabify. Initialize supplied_libname.
88793         (func_usage): More homogenous output.
88794         (func_modules_transitive_closure, func_modules_to_filelist,
88795         func_emit_lib_Makefile_am): New functions.
88796         (func_import): New function, extracted from big case statement. Use
88797         func_get_license, func_modules_transitive_closure,
88798         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
88799         opt_lgpl. Don't use test -a, as it's not portable.
88800         (func_create_testdir): Use func_modules_transitive_closure,
88801         func_modules_to_filelist, func_emit_lib_Makefile_am.
88802
88803 2004-10-15  Bruno Haible  <bruno@clisp.org>
88804
88805         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
88806
88807 2004-10-15  Bruno Haible  <bruno@clisp.org>
88808
88809         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
88810         the portions belonging to each module.
88811         Suggested by Derek Robert Price <derek@ximbiot.com>.
88812
88813 2004-10-12  Simon Josefsson  <jas@extundo.com>
88814
88815         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88816         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
88817         to real functions.
88818
88819 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88820
88821         * modules/vsnprintf: New file.
88822
88823 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88824
88825         * m4/vsnprintf.m4: New file.
88826
88827 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88828
88829         * lib/vsnprintf.h: New file.
88830         * lib/vsnprintf.c: New file.
88831
88832 2004-10-11  Bruno Haible  <bruno@clisp.org>
88833
88834         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
88835         vsnprintf.
88836
88837 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
88838
88839         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
88840
88841 2004-10-07  Bruno Haible  <bruno@clisp.org>
88842
88843         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
88844         fits into the provided buffer.
88845
88846 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
88847
88848         * lib/diacrit.c, diacrit.h: Add GPL notice.
88849
88850         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
88851         notice.
88852         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
88853         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
88854         This avoids a potential constant-folding bug.
88855
88856 2004-10-05  Bruno Haible  <bruno@clisp.org>
88857
88858         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
88859         for the declaration of strsep.
88860
88861 2004-10-05  Bruno Haible  <bruno@clisp.org>
88862
88863         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
88864
88865 2004-10-04  Simon Josefsson  <jas@extundo.com>
88866
88867         * modules/memmem: New file.
88868         * tests/test-memmem.c: New file.
88869         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
88870
88871 2004-10-04  Simon Josefsson  <jas@extundo.com>
88872
88873         * m4/memmem.m4: New file.
88874
88875 2004-10-04  Simon Josefsson  <jas@extundo.com>
88876
88877         * lib/memmem.h: New file.
88878         * lib/memmem.c: New file, taken from glibc.
88879
88880 2004-10-04  Simon Josefsson  <jas@extundo.com>
88881
88882         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
88883         '#ifdef USE_UNLOCKED_IO'.
88884
88885 2004-10-04  Simon Josefsson  <jas@extundo.com>
88886
88887         * config/srclist.txt: Add memmem from glibc.
88888
88889 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88890
88891         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
88892
88893         * modules/argmatch, modules/argp, modules/closeout, modules/error,
88894         modules/exclude, modules/getdate, modules/getline,
88895         modules/getndelim2, modules/getpass, modules/getpass-gnu,
88896         modules/getusershell, modules/linebuffer, modules/md5,
88897         modules/mountlist, modules/posixtm, modules/readtokens,
88898         modules/readutmp, modules/regex, modules/sha1,
88899         modules/version-etc, modules/yesno:
88900         Remove dependency on unlocked-io.
88901
88902 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88903
88904         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
88905
88906         * m4/unlocked-io.m4: Add copyright notice.
88907         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
88908
88909 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88910
88911         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
88912         * lib/xmalloc.c (xmemdup): Likewise.
88913         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
88914         XFREE): Remove these long-obsolescent macros.
88915         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
88916         * lib/xstrdup.c: Remove.
88917
88918         * lib/regex.c (re_comp): Cast gettext return value to char *,
88919         Problem reported by Martin Neitzel via Mark D. Baushke.
88920
88921 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88922
88923         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
88924         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
88925         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
88926         regex.c, sha1.c, version-etc.c, yesno.c:
88927         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
88928         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
88929         the includer's responsibility.
88930
88931         Sync from coreutils.
88932
88933         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88934         points to the start of a string, as the C Standard says the
88935         resulting behavior is undefined.
88936
88937         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88938         simple -> simple_backups, numbered_existing ->
88939         numbered_existing_backups, numbered -> numbered_backups
88940         to avoid shadowing problems.  All uses changed.
88941         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
88942         * lib/backupfile.c (check_extension, numbered_backup):
88943         Rename locals to avoid shadowing 'basename'.
88944         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
88945         once.
88946
88947         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
88948         * lib/.cvsignore: Add getopt.h.
88949
88950 2004-10-04  Bruno Haible  <bruno@clisp.org>
88951
88952         * modules/README: New file.
88953         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
88954         not a module.
88955
88956 2004-10-02  Jim Meyering  <jim@meyering.net>
88957
88958         * lib/dirfd.h, getpagesize.h: Add copyright notice.
88959
88960 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88961
88962         * modules/strsep: New file.
88963
88964 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88965
88966         * m4/strsep.m4: New file.
88967
88968 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88969
88970         * lib/strsep.h: New file.
88971         * lib/strsep.c: New file.
88972
88973 2004-10-01  Simon Josefsson  <jas@extundo.com>
88974
88975         * lib/snprintf.c (snprintf): Handle size==0.
88976
88977 2004-10-01  Simon Josefsson  <jas@extundo.com>
88978             Bruno Haible  <bruno@clisp.org>
88979
88980         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
88981         (snprintf): Declare 'args'.
88982
88983 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
88984
88985         * lib/snprintf.c: Remove comments as to why each header is needed.
88986
88987 2004-10-01  Bruno Haible  <bruno@clisp.org>
88988
88989         * MODULES.html.sh: Add strsep.
88990
88991 2004-09-30  Simon Josefsson  <jas@extundo.com>
88992
88993         * modules/snprintf: New file.
88994
88995 2004-09-30  Simon Josefsson  <jas@extundo.com>
88996
88997         * m4/snprintf.m4: New file.
88998
88999 2004-09-30  Simon Josefsson  <jas@extundo.com>
89000
89001         * lib/snprintf.h, lib/snprintf.c: New files.
89002
89003 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89004
89005         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89006         (hol_entry_help): Never translate an empty string.
89007         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89008         * lib/argp.h (OPTION_NO_TRANS): New option.
89009
89010 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89011
89012         * modules/argp (Maintainer): Replace Simon Josefsson
89013         by Sergey Poznyakoff.
89014
89015 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89016
89017         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89018         changes merged back into glibc.
89019
89020 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89021
89022         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89023
89024 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89025
89026         * lib/xvasprintf.c: Include xalloc.h.
89027         (xvasprintf): Use xalloc_die, not xmalloc_die.
89028
89029 2004-09-29  Bruno Haible  <bruno@clisp.org>
89030
89031         * modules/alloca-opt: New file, derived from modules/alloca.
89032         * modules/allocsa: Depend on alloca-opt instead of alloca.
89033         * modules/setenv: Likewise.
89034         * modules/vasnprintf: Likewise.
89035         * MODULES.html.sh: Add alloca-opt.
89036
89037 2004-09-28  Simon Josefsson  <jas@extundo.com>
89038
89039         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89040         LGPL, and to replace license template from GPL to LGPL.
89041
89042 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89043
89044         * modules/dummy: Change license to LGPL.
89045
89046 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89047
89048         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89049
89050 2004-09-24  Simon Josefsson  <jas@extundo.com>
89051
89052         * modules/minmax (License): Change from GPL to LGPL.
89053
89054 2004-09-23  Simon Josefsson  <jas@extundo.com>
89055
89056         * gnulib-tool (--import): Typo.
89057
89058 2004-09-23  Simon Josefsson  <jas@extundo.com>
89059
89060         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89061
89062 2004-09-22  Bruno Haible  <bruno@clisp.org>
89063
89064         * modules/*: Add 'License' field.
89065         * gnulib-tool: Accept --extract-license option.
89066         (func_get_license): New function.
89067
89068 2004-09-21  Bruno Haible  <bruno@clisp.org>
89069
89070         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89071         Reported by Simon Josefsson.
89072
89073 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89074
89075         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89076         gl_AC_TYPE_LONG_LONG.
89077
89078 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89079
89080         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89081
89082 2004-09-18  Simon Josefsson  <jas@extundo.com>
89083         and  Paul Eggert  <eggert@cs.ucla.edu>
89084
89085         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89086         calls with autoreconf.  Define GL_LIB.
89087
89088 2004-09-14  Karl Berry  <karl@gnu.org>
89089
89090         * config/srclist.txt: unsync setenv.c, sigh.
89091
89092 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89093
89094         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89095         Problem reported by Bruno Haible in:
89096         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89097
89098 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89099
89100         * config/srclist.txt: Comment out argp-pvh.c.
89101
89102 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89103
89104         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89105         in case some system header has #define'd it.  Problem reported by
89106         Soeren D. Schulze in
89107         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89108
89109 2004-09-09  Karl Berry  <karl@gnu.org>
89110
89111         * regex.[ch]: delete from the root.  These were supposed to be
89112                 synced with emacs cvs, but this has not happened for about
89113                 a year, and anyway nothing else uses emacs regex.[ch].
89114                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89115                 lib/regex[.ch] is untouched.
89116
89117 2004-09-09  Bruno Haible  <bruno@clisp.org>
89118
89119         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89120
89121 2004-09-09  Bruno Haible  <bruno@clisp.org>
89122
89123         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89124         modifications.
89125         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89126
89127 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89128
89129         * modules/xvasprintf: New file.
89130         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89131
89132 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89133
89134         * lib/xvasprintf.h: New file.
89135         * lib/xvasprintf.c: New file.
89136         * lib/xasprintf.c: New file.
89137
89138 2004-09-08  Bruno Haible  <bruno@clisp.org>
89139
89140         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89141
89142 2004-09-08  Bruno Haible  <bruno@clisp.org>
89143
89144         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89145         length is > INT_MAX.
89146         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89147         more.
89148
89149 2004-09-08  Bruno Haible  <bruno@clisp.org>
89150
89151         * lib/stdint_.h: New file, taken from GNU clisp.
89152
89153 2004-09-08  Bruno Haible  <bruno@clisp.org>
89154             Oskar Liljeblad  <oskar@osk.mine.nu>
89155
89156         * modules/stdint: New file.
89157         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89158
89159 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89160
89161         Import from coreutils.
89162         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89163         strings on unbounded length.  alloca's performance benefits aren't
89164         that important here.
89165         (V_STRDUP): Remove.
89166         (parse_with_separator): New function, with most of the internals
89167         of the old parse_user_spec.  Allow user to omit both user and group,
89168         for compatibility with FreeBSD.
89169         Clone only the user name, not the entire spec.
89170         Do not set *uid, *gid unless entirely successful.
89171         Avoid memory leak in some failing cases.
89172         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89173         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89174         (parse_user_spec): Rewrite to use parse_with_separator.
89175
89176 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89177
89178         * modules/userspec: Don't depend on alloca.
89179
89180 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89181
89182         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89183
89184 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89185
89186         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89187         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89188         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89189
89190 2004-08-16  Simon Josefsson  <jas@extundo.com>
89191
89192         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89193         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89194         Add --dry-run for --import.
89195         Let user provided command line parameters override configure.ac
89196         settings.
89197
89198 2004-08-12  Simon Josefsson  <jas@extundo.com>
89199
89200         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89201         as discussed with Paul Eggert in threads rooted at
89202         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89203         and
89204         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89205         Before, the test was empty, and relied on ELIDE_CODE in source
89206         code.)
89207         (gl_PREREQ_GETOPT): New macro.
89208         (gl_GETOPT): Use them.
89209
89210 2004-08-12  Simon Josefsson  <jas@extundo.com>
89211
89212         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89213         * lib/getopt_.h: Renamed from getopt.h.
89214
89215 2004-08-12  Simon Josefsson  <jas@extundo.com>
89216
89217         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89218         Change default library name from libfoo to libgnu.
89219         Now, if you have a configure.ac that says:
89220                 gl_SOURCE_BASE(gl)
89221                 gl_M4_BASE(gl/m4)
89222                 gl_MODULES(error getopt etcetera)
89223                 gl_INIT
89224         you can import all you need by running:
89225                 ../gnulib/gnulib-tool --import
89226
89227         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89228         (Makefile.am): Rewrite, use logic from argz.
89229         (Include): Use <getopt.h> instead of "getopt.h".
89230
89231 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89232
89233         * modules/argp (Files): Add m4/unlocked-io.m4.
89234         (Depends-on): Add extensions.
89235
89236 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89237
89238         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89239         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89240         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89241         Check for program_invocation_name, program_invocation_short_name,
89242         flockfile, funlockfile, features.h, _getopt_long_only_r.
89243
89244 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89245
89246         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89247         its complicated substitute.
89248         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89249         and program_invocation_name.
89250         (__argp_basename) [!_LIBC]: Remove; the only use was
89251         replaced by its body.
89252         (__argp_short_program_name): Change condition from
89253         !defined __argp_short_program_name to
89254         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89255         to match argp-namefrob.h.
89256         (__argp_failure): Don't assume strerror_r returns char *.
89257         * lib/argp-parse.c (N_): Define unconditionally.
89258         (argp_default_options): Fill out initializers with 0 to avoid
89259         gcc warnings.
89260
89261 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89262
89263         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89264         getopt1.c.
89265
89266 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89267
89268         Merge from coreutils.
89269
89270         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89271
89272         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89273         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89274
89275 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89276
89277         Merge from coreutils.
89278
89279         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89280         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89281         for Reliant Unix 5.43.
89282
89283         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89284         (union fooround): Use uintmax_t, not long int.
89285         The rest is a merge from libc:
89286         [defined _LIBC]: Include <shlib-compat.h>.
89287         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89288
89289         * lib/settime.c (settime): Recode to avoid warning with
89290         Sun Forte C 6U2.
89291
89292         * lib/strverscmp.c: Convert to UTF-8.
89293
89294 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89295
89296         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89297         m4/uintmax_t.m4.
89298
89299 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89300
89301         * modules/xalloc-die: New file.
89302         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89303
89304         * modules/md5 (Files): Add m4/uint32_t.m4.
89305         * modules/sha1: Renamed from modules/sha.
89306         (Files):
89307         Rename lib/sha.h to lib/sha1.h.
89308         Rename lib/sha.c to lib/sha1.c.
89309         Rename m4/sha.m4 to m4/sha1.m4.
89310         (lib_SOURCES): Likewise.
89311         (configure.ac): Rename gl_SHA to gl_SHA1.
89312         (Include): sha.h -> sha1.h.
89313
89314 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89315
89316         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89317         * m4/sha1.m4: Renamed from sha.m4.
89318         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89319
89320 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89321
89322         * lib/obstack.h (obstack_empty_p):
89323         Don't assume that chunk->contents is suitably aligned.
89324         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89325         Likewise. Problem reported by Benno in
89326         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89327
89328         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89329         readable.  This could be improved further but it'd take some work.
89330
89331 2004-08-08  Simon Josefsson  <jas@extundo.com>
89332
89333         * modules/xgethostname (Depends-on): Remove exit and error (not
89334         used).
89335
89336         * modules/getpass-gnu: Add getpass.h.
89337         (Depends-on): Add stdbool.
89338         * modules/getpass: Add getpass.h.
89339
89340 2004-08-08  Simon Josefsson  <jas@extundo.com>
89341
89342         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89343         Check getpass declaration.
89344
89345 2004-08-08  Simon Josefsson  <jas@extundo.com>
89346
89347         * lib/xgethostname.c: Don't include error.h (not used).
89348
89349         * lib/getpass.h: Add.
89350         * lib/getpass.c: Include getpass.h first.
89351
89352 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89353
89354         * lib/xalloc-die.c: New file.
89355         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89356         All uses removed.
89357         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89358         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89359         xalloc-die.c.
89360         (_, N_, xalloc_die): Move to xalloc-die.c.
89361         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89362         so that we needn't mess with xalloc_msg_memory_exhausted.
89363
89364         * lib/sha1.h: Renamed from sha.h.
89365         (SHA1_H): Renamed from _SHA_H.
89366         (sha1_ctx): Renamed from sha_ctx.
89367         (sha1_init_ctx): Renamed from sha_init_ctx.
89368         (sha1_process_block): Renamed from sha_process_block.
89369         (sha1_process_bytes): Renamed from sha_process_bytes.
89370         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89371         (sha1_read_ctx): Renamed from sha_read_ctx.
89372         (sha1_stream): Renamed from sha_stream.
89373         (sha1_buffer): Renamed from sha_buffer.
89374         * lib/sha1.c: Likewise; renamed from sha.c.
89375         Do not include <sys/types.h>.
89376         Include <stddef.h> rather than <stdlib.h>.
89377
89378 2004-08-08  Bruno Haible  <bruno@clisp.org>
89379
89380         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89381         FILESYSTEM_PREFIX_LEN.
89382         * lib/progreloc.c: Likewise.
89383         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89384
89385 2004-08-06  Simon Josefsson  <jas@extundo.com>
89386
89387         * modules/progname (Depends-on): Don't depend on stdbool.
89388
89389 2004-08-06  Simon Josefsson  <jas@extundo.com>
89390
89391         * modules/getsubopt: New file.
89392         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89393         getsubopt.
89394
89395 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89396
89397         More merge from coreutils.
89398
89399         * m4/utimens.m4, m4/utimecmp.m4: New files.
89400         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89401         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89402         prereq.m4, sha.m4: Import changes from coreutils.
89403
89404 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89405
89406         More merge from coreutils.
89407         * modules/raise, modules/readtokens0, modules/utimens:
89408         * modules/utimecmp, module/xnanosleep: New files.
89409         * modules/strftime: Add lib/strftime.h.
89410         Change include from <time.h> to "strftime.h".
89411         * modules/yesno: Add lib/yesno.h.
89412         * modules/backupfile: Remove lib/addext.c.
89413         * modules/euidaccess: Add stat-macros.h.
89414         * modules/canonicalize, modules/euidaccess,
89415         modules/filemode, modules/lchown, modules/makepath,
89416         modules/rmdir, modules/stat: Likewise.
89417
89418 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89419
89420         Merge from tar.
89421         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89422         SIZE_MAX is a valid preprocessor constant.
89423         (__argp_basename): Change from "#ifndef _LIBC"
89424         to "#ifndef __argp_short_program_name", so that
89425         we don't compile these functions for tar.
89426
89427         More merges from coreutils.
89428         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89429         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89430         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89431         * lib/addext.c: Remove; no longer needed.
89432         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89433         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89434         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89435         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89436         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89437         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89438         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89439         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89440         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89441         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89442         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89443         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89444         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89445         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89446         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89447         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89448         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89449         Import changes from coreutils.
89450
89451 2004-08-05  Simon Josefsson  <jas@extundo.com>
89452
89453         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89454
89455 2004-08-05  Simon Josefsson  <jas@extundo.com>
89456
89457         * m4/getsubopt.m4: New file.
89458
89459 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89460
89461         Merge from coreutils.
89462
89463         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89464         * m4/getcwd-path-max.m4: New files.
89465
89466         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89467         FILESYSTEM_PREFIX_LEN ->
89468         FILE_SYSTEM_PREFIX_LEN.
89469         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89470         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89471         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89472         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89473
89474         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89475         prerequisite modules now handle the DOS stuff.
89476         Don't check for unistd.h.
89477
89478 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89479
89480         Merge from coreutils.
89481
89482         * lib/.gdb-history: Remove; this doesn't belong here.
89483
89484         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89485         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89486         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89487         * lib/getcwd.c: New files.
89488
89489         * lib/dirname.h: Include <stdbool.h>.
89490         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89491         for consistency with POSIX terminology.  All uses changed.
89492         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89493         (strip_trailing_slashes): Use bool for booleans.
89494         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89495
89496         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89497         sometimes returns a positive errno value even when it succeeds.
89498         (print_errno_message) [!LIBC]: Fall back on strerror if
89499         __strerror_r fails.
89500
89501         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89502         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89503         (longest_relative_suffix): New function.
89504         (path_concat): Use it.  Assume first argument is not NULL.
89505         Port to DOS.  Omit redundant separators.
89506         Report an error instead of returning NULL.
89507         Use mempcpy instead of memcpy.
89508         (xpath_concat): Remove: not declared or used.
89509
89510         * lib/same.h: Include <stdbool.h>
89511         (same_name): Return bool, not int.
89512         * lib/same.c (same_name): Likewise.
89513         (errno): Don't declare; we assume C89 or better now.
89514
89515         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89516         if not already defined.
89517
89518         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89519         * lib/dup-safer.c (errno): Likewise.
89520
89521 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89522
89523         Merge from coreutils.
89524         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89525         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89526         * modules/path-concat: Don't depend on strdup.
89527
89528 2004-08-03  Simon Josefsson  <jas@extundo.com>
89529
89530         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89531         * lib/progname.h: Don't include stdbool.h.
89532
89533 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89534
89535         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89536         * MODULES.html.sh (func_all_modules): Remove fatal.
89537
89538 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89539
89540         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89541
89542 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89543
89544         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89545         working.
89546
89547 2004-08-02  Simon Josefsson  <jas@extundo.com>
89548
89549         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89550         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89551         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89552
89553 2004-08-01  Simon Josefsson  <jas@extundo.com>
89554
89555         * lib/xgetdomainname.c: Include stdlib.h, for free().
89556
89557 2004-07-19  Bruno Haible  <bruno@clisp.org>
89558
89559         * MODULES.html.sh (func_all_modules): Add dummy.
89560
89561 2004-07-16  Simon Josefsson  <jas@extundo.com>
89562
89563         * modules/dummy: New file.
89564
89565 2004-07-16  Simon Josefsson  <jas@extundo.com>
89566
89567         * lib/dummy.c: New file.
89568
89569 2004-07-16  Bruno Haible  <bruno@clisp.org>
89570
89571         * lib/backupfile.h: Add extern "C" for C++.
89572         * lib/closeout.h: Likewise.
89573         * lib/copy-file.h: Likewise.
89574         * lib/findprog.h: Likewise.
89575         * lib/full-write.h: Likewise.
89576         * lib/pathname.h: Likewise.
89577         * lib/progname.h: Likewise.
89578         * lib/stpcpy.h: Likewise.
89579         * lib/stpncpy.h: Likewise.
89580         * lib/strcase.h: Likewise.
89581         * lib/strstr.h: Likewise.
89582         * lib/xalloc.h: Likewise.
89583
89584         * lib/mbswidth.h: Add extern "C" for C++.
89585         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89586
89587 2004-07-13  Robert Millan  <robertmh@gnu.org>
89588
89589         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89590
89591 2004-07-09  Simon Josefsson  <jas@extundo.com>
89592
89593         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89594         failed without this.)
89595
89596 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89597
89598         * modules/chown (Files): Add lib/fchown-stub.c, since
89599         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89600
89601 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89602
89603         * lib/fchown-stub.c: New file.
89604
89605 2004-06-24  Jim Meyering  <jim@meyering.net>
89606
89607         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89608
89609 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89610
89611         * modules/argz: Omit "#include".
89612
89613         * MODULES.html.sh (func_all_modules): Add calloc, to match
89614         2004-06-01 addition of calloc module.
89615
89616 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89617
89618         * m4/argz.m4: New file, which is autoupdated from libtool.
89619
89620 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89621
89622         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89623         libtool.
89624
89625 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89626
89627         * config/srclist-update: Don't insist on "USA." before the
89628         close-comment, as libtool omits the period and puts the */ on a
89629         separate line.
89630         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89631         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89632
89633 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89634
89635         * modules/argz: New file.
89636         * MODULES.html.sh (func_all_modules): Add argz.
89637
89638 2004-06-12  Jim Meyering  <jim@meyering.net>
89639         and  Paul Eggert  <eggert@cs.ucla.edu>
89640
89641         * modules/hash (Files): Add lib/xalloc.h.
89642         * modules/pipe (Depends-on): Add wait-process.
89643         * modules/stat (Depends-on): Add xalloc.
89644         * modules/userspec (Files): Add lib/userspec.h.
89645         * modules/xstrto
89646
89647         Upgrade from gettext-0.13.
89648         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89649         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89650         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89651
89652 2004-06-10  Jim Meyering  <jim@meyering.net>
89653
89654         * lib/calloc.c: New file.
89655
89656 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89657
89658         * lib/getdate.y (yylex): Allow space between sign and number.
89659         Problem reported by Dan Jacobson.
89660
89661 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89662
89663         Merge from coreutils CVS.
89664
89665         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89666         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89667         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89668         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89669         xstrtol.m4: Fix copyright date and/or serial number.
89670
89671         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89672         See if we need an fchown replacement.
89673         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89674         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89675         and use the replacement function if we detect either defect.
89676
89677         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89678         gl_UTIMECMP.
89679
89680 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89681         and  Jim Meyering  <jim@meyering.net>
89682
89683         Merge from coreutils CVS.
89684
89685         * lib/stat-macros.h: New file, with contents from file-type.h
89686         and coreutils' system.h.
89687         * lib/file-type.c: Include "stat-macros.h".
89688         * lib/file-type.h (file_type): Move all macro definitions to new file,
89689         stat-macros.h.
89690
89691         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89692         Wrap old code with this conditional.
89693         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89694         function that does not dereference symlinks.
89695         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89696
89697         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89698         dependency problems.
89699         (xreadlink): Accept new arg SIZE, for efficiency.
89700         All decls and uses changed.
89701         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89702
89703         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89704         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89705
89706         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89707         sysexits.h.
89708
89709 2004-06-01  Jim Meyering  <jim@meyering.net>
89710
89711         * m4/calloc.m4: New file.
89712
89713 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89714
89715         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89716         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89717         Also, fix a typo in a diagnostic.
89718
89719 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89720
89721         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89722         or AC_FUNC_REALLOC.
89723
89724 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89725
89726         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89727         macros to be defined.
89728         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89729         the allocator returns NULL because the requested size is zero.
89730
89731 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89732
89733         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89734         var.  Add comment explaining why libc still defines it.  This
89735         merges the following patch from glibc:
89736         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89737
89738 2004-05-20  Andreas Schwab  <schwab@suse.de>
89739
89740         * m4/free.m4: Replace free if it not known to work, not the other
89741         way round.
89742
89743 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89744
89745         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89746         present in glibc since revision 1.1 of this file.
89747         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89748         obstack_alignment_mask, obstack_alloc, obstack_base,
89749         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89750         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89751         obstack_grow0, obstack_init, obstack_int_grow,
89752         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89753         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89754         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89755         nonexistent functions.
89756
89757 2004-05-18  Karl Berry  <karl@gnu.org>
89758
89759         * config/srclist.txt: break link for vasnprintf.c.
89760
89761 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89762
89763         Port obstack to the AS/400, where pointers are 16 bytes wide and
89764         you cannot cast an integer to a valid pointer.  This patch is
89765         currently waiting to be integrated into glibc; see
89766         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
89767
89768         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
89769         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
89770         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
89771         (struct obstack): temp member is now a union of a pointer and
89772         an integer, instead of an integer.  All integer uses changed.
89773         This does not affect the physical layout of struct obstack,
89774         except on hosts (like the AS/400) where the size or alignment of
89775         void * is greater than that of ptrdiff_t.
89776         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
89777         __STDC__)]: Store temporary in pointer member of union, not
89778         integer member.
89779         * lib/obstack.c: Include <stddef.h>, for offsetof.
89780         (struct fooalign): Remove; it doesn't need a name.
89781         (union fooround): Change double to long double, and add void *.
89782         (DEFAULT_ALIGNMENT): Use offsetof to compute.
89783         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
89784         not a macro.  Hence the values are always int; so remove all
89785         casts-to-int in uses.
89786
89787 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89788
89789         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
89790         we can get this patch merged into glibc.
89791
89792 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89793             Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         * m4/argp: Depend on alloca.
89796
89797 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89798             Paul Eggert  <eggert@cs.ucla.edu>
89799
89800         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
89801         freecoding.
89802
89803 2004-05-17  Bruno Haible  <bruno@clisp.org>
89804
89805         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
89806         precision that consists of a '.' followed by an empty digit string.
89807         Patch by Tor Lillqvist <tml@iki.fi>.
89808
89809 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89810
89811         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
89812         for backward compatibility with older code.  We need our own
89813         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
89814         it under some other name, and our alloca.h will define it.
89815
89816 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89817             Derek Price  <derek@ximbiot.com>
89818
89819         * lib/alloca.c: Include <alloca.h>, to get our interface.
89820         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
89821         include <alloca.h> first.  Use C89 prototype for alloca; this
89822         requires including <stddef.h> for size_t.  Use extern "C" if C++.
89823         Use #elif for simplicity, since we can assume C89 now.
89824         Don't try to source the system alloca.h since it will not be found
89825         and to prevent recursively including its replacement.
89826         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
89827         * lib/regex.c: Likewise.
89828
89829 2004-05-16  Derek Price  <derek@ximbiot.com>
89830             Paul Eggert  <eggert@cs.ucla.edu>
89831
89832         getline cleanup.  This changes the getndelim2 API: both order of
89833         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
89834         no delimiter).
89835
89836         * lib/getline.c: Don't include stddef.h or stdio.h, since our
89837         interface does that.
89838         (getline): Always use getdelim, so that we don't have two
89839         copies of this code.
89840         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
89841         if available.
89842         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
89843         (GETNDELIM2_MAXIMUM): New macro.
89844         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
89845         instead of the old practice of delim2==0.  All callers changed.
89846         Return -1 on overflow, instead of returning junk.
89847         Do not set *linesize unless allocation succeeds.
89848         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
89849         that we include sys/types.h.
89850         * lib/getnline.h: Likewise.
89851         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
89852         (getndelim2): Reorder arguments.
89853         * lib/getnline.c (getnline, getndelim):
89854         Don't discard the NMAX argument.
89855         (getnline): Invoke getndelim, to avoid code duplication.
89856         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
89857         of (size_t) -1 by callers of the getnline family.
89858
89859 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89860
89861         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
89862         Check for gettimeofday.
89863         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
89864         Check for settimeofday, stime.
89865
89866 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89867
89868         * lib/nanosleep.c (suspended): Change its type from int to
89869         sig_atomic_t volatile.
89870         (first_call): Make it private to rpl_nanosleep, and have it
89871         be zero initially as that's a bit faster.
89872         (my_usleep): Round up fractional times instead of truncating them,
89873         as this is the usual meaning for 'sleep'.
89874
89875         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
89876         doesn't work.
89877         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
89878         (ENOSYS): Define if not defined.
89879         (settime): Fall back on stime if it exists and settimeofday fails.
89880         But don't bother with fallbacks if a method fails with errno == EPERM.
89881
89882 2004-05-11  Jim Meyering  <jim@meyering.net>
89883
89884         Prior to this change, the save_cwd caller required read access to the
89885         current directory on most systems (ones with the fchdir function).
89886
89887         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
89888         fails, try write-only, and finally, resort to using xgetcwd.
89889
89890 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
89891
89892         * lib/obstack.c, obstack.h: Import changes from libc.
89893
89894 2004-04-28  Bruno Haible  <bruno@clisp.org>
89895
89896         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
89897         also implicitly appends .exe to executables.
89898         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
89899         accepts Windows pathnames.
89900         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89901         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89902         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89903         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89904         Reported by Derek Robert Price <derek@ximbiot.com>.
89905
89906 2004-04-21  Karl Berry  <karl@gnu.org>
89907
89908         * config/srclist.txt (localcharset.c): break sync.
89909
89910 2004-04-20  Paul Eggert  <eggert@twinsun.com>
89911
89912         * m4/host-os.m4: Add a copyright notice.
89913
89914 2004-04-20  Jim Meyering  <jim@meyering.net>
89915
89916         Change UTILS_ to gl_ in AC_DEFINE'd names.
89917         Change utils_- and jm_-prefixed variables, too.
89918         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
89919         UTILS_FUNC_MKDIR_TRAILING_SLASH.
89920         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
89921
89922         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
89923         Don't emit trailing blanks.
89924         Also rename jm_-prefixed variables to have gl_ prefix.
89925
89926         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
89927         Also rename jm_-prefixed variables to have gl_ prefix.
89928
89929         * m4/jm-macros.m4: Reflect the renamings.
89930         * m4/prereq.m4: Likewise.
89931
89932 2004-04-20  Jim Meyering  <jim@meyering.net>
89933
89934         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89935         memory.
89936
89937 2004-04-20  Jim Meyering  <jim@meyering.net>
89938             Bruno Haible  <bruno@clisp.org>
89939
89940         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
89941         memory when realloc fails.
89942
89943 2004-04-19  Jim Meyering  <jim@meyering.net>
89944
89945         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
89946         now that readutmp.c may call `free (0)'.
89947
89948 2004-04-19  Bruno Haible  <bruno@clisp.org>
89949
89950         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
89951         * m4/inttypes_h.m4: Likewise.
89952         * m4/stdint_h.m4: Likewise.
89953         * m4/intmax_t.m4: Likewise.
89954         * m4/uintmax_t.m4: Likewise.
89955
89956 2004-04-18  Jim Meyering  <jim@meyering.net>
89957
89958         * m4/prereq.m4: Don't forbid jm_ prefix.
89959
89960         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
89961         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
89962         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
89963         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
89964         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
89965         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
89966         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
89967         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
89968         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
89969         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
89970         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
89971         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
89972         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
89973         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
89974         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
89975         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
89976         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
89977         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
89978         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
89979
89980 2004-04-18  Jim Meyering  <jim@meyering.net>
89981
89982         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
89983         failure, don't leak memory and do call END_UTMP_ENT.
89984
89985 2004-04-16  Jim Meyering  <jim@meyering.net>
89986
89987         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
89988         coreutils' stat program.
89989         (gl_PREREQ): Don't require jm_PREREQ_STAT.
89990
89991 2004-04-11  Paul Eggert  <eggert@twinsun.com>
89992
89993         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
89994         C89.
89995         (CHAR_BIT): Remove, since we assume C89.
89996         Include <stdint.h> if available, as per current Autoconf CVS advice.
89997
89998 2004-03-31  Jim Meyering  <jim@meyering.net>
89999
90000         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90001         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90002         * m4/xalloc.m4: Likewise.
90003
90004 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90005
90006         Merge from coreutils.
90007
90008         * m4/inttostr.m4: New file.
90009         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90010         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90011         Require gl_CLOCK_TIME.
90012         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90013
90014 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90015
90016         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90017         not bool, to be more consistent with Unix conventions.
90018         Suggested by Bruno Haible.
90019
90020         Merge from coreutils.
90021
90022         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90023         * lib/umaxtostr.c: New files.
90024
90025         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90026         the usual <time.h> dance.
90027         (get_date): Change signature to support fractional time stamps.
90028         All callers changed.
90029         * lib/getdate.y: Include "getdate.h" first, as we can now
90030         assume C89 and don't need to worry about 'const'.
90031         Similarly, include "unlocked-io.h" near start, not in middle.
90032         Include <limits.h>.
90033         (textint.value): Use long int rather than int.
90034         (textint.digits): Use size_t rather than int.
90035         (BILLION, LOG10_BILLION): New constants.
90036         (parser_control): New member rel_ns.  Members day_ordinal,
90037         time_zone, month, day, hour, minutes, rel_year, rel_month,
90038         rel_day, rel_hour, rel_minutes, rel_seconds
90039         are now long int, not int.  Member seconds is now struct timespec,
90040         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90041         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90042         not int.
90043         (%union.intval): Now long int, not int.
90044         New member timespec.
90045         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90046         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90047         (spec): Now is a timespec or an item list.
90048         (timespec, items): New nonterminals.
90049         (time, rel, relunit, number, get_date):
90050         Add support for fractional seconds.
90051         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90052         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90053         (to_hour): First arg is now long int, not int.
90054         (to_year): Returns long int, not int.
90055         Don't treat year -70 like 70.
90056         (tm_diff): Returns long int, not int.
90057         (lookup_word): Use bool instead of int when appropriate.
90058         (yylex): Use size_t for count, not int.
90059         Detect overflow when parsing large integer constants.
90060         Add support for fractions.
90061         (get_date): Make pointers 'const' if possible.
90062         Use more-portable code to detect integer overflow.
90063         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90064         Don't use ctime; it's not reliable if the year has >4 digits.
90065
90066         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90067         This is for compatibility with BSD.
90068
90069         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90070         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90071         From coreutils' system.h.
90072
90073         * lib/userspec.c: Don't include "posixver.h".
90074         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90075         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90076         compatible extension.  Simplify code by removing a boolean int
90077         that was always nonzero if a string was nonnull.
90078
90079 2004-03-30  Jim Meyering  <jim@meyering.net>
90080
90081         Merge from coreutils.
90082
90083         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90084         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90085         on some systems one must include <grp.h> before it.
90086         Reported by Christian Krackowizer.
90087
90088 2004-03-30  Jim Meyering  <jim@meyering.net>
90089
90090         Merge from coreutils.
90091
90092         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90093
90094         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90095         an empty input stream.
90096
90097         * lib/readtokens.c: Include <stdbool.h>.
90098         (readtoken): Use `size_t' rather than int/long.
90099         All callers adjusted.
90100         Use `bool' rather than `int' where appropriate.
90101         Use memset rather than an explicit loop.
90102         Use x2nrealloc rather than xrealloc.
90103         Allow the use of `\0' as a delimiter.
90104         (readtokens): Likewise.
90105         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90106
90107 2004-03-30  Jim Meyering  <jim@meyering.net>
90108
90109         * m4/realloc.m4: Remove file, since now it does no more than
90110         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90111         the `configure.ac' section of module/realloc.
90112         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90113
90114 2004-03-30  Bruno Haible  <bruno@clisp.org>
90115
90116         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90117         nonnull.
90118
90119 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90120
90121         Merge changes to getloadavg.c from coreutils and Emacs.
90122
90123         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90124         Define to an expression, not to the empty string.
90125         Include cloexec.h and xalloc.h.
90126         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90127         Use set_cloexec_flag rather than rolling our own.
90128         * lib/cloexec.c, lib/cloexec.h: New files.
90129
90130 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90131
90132         * m4/cloexec.m4: New file.
90133
90134 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90135
90136         * lib/getopt.h: Sync with libc CVS.
90137
90138 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90139             Bruno Haible  <bruno@clisp.org>
90140
90141         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90142         mbswidth.
90143
90144 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90145             Bruno Haible  <bruno@clisp.org>
90146
90147         * lib/mbswidth.h: Include <wchar.h> only if
90148         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90149         <wchar.h>.
90150         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90151
90152 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90153
90154         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90155         Sync with libc CVS.
90156         * lib/getopt_int.h: New file, also synced from libc.
90157
90158 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90159
90160         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90161         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90162         Bring back getopt.c, getopt.h, getopt1.c.
90163
90164 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90165
90166         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90167         All uses changed.  Check for sa_sigaction member; this fixes
90168         a bug first reported by Jason Andrade in
90169         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90170
90171 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90172
90173         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90174         '#if' expressions.  Unlike the code it replaces, it does not
90175         depend on (defined _SC_PAGESIZE).  However, it does depend on
90176         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90177         first reported by Jason Andrade in
90178         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90179
90180 2004-02-25  Simon Josefsson  <jas@extundo.com>
90181
90182         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90183
90184 2004-02-25  Simon Josefsson  <jas@extundo.com>
90185
90186         * lib/strdup.h: New file.
90187         * lib/strdup.c: Include it.
90188         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90189         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90190
90191 2004-02-23  Karl Berry  <karl@gnu.org>
90192
90193         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90194         (from fencepost.gnu.org:/gd/gnuorg).
90195
90196 2004-02-23  Karl Berry  <karl@gnu.org>
90197
90198         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90199         * config/srclist.txt: add maintain/standards documents.
90200
90201 2004-02-18  Bruno Haible  <bruno@clisp.org>
90202
90203         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90204         Reported by Derek Robert Price <derek@ximbiot.com>.
90205
90206 2004-02-16  Karl Berry  <karl@gnu.org>
90207
90208         * config/mkinstalldirs, install-sh: update from automake.
90209
90210 2004-02-06  Karl Berry  <karl@gnu.org>
90211
90212         * m4/po.m4: update from gettext 0.14.1.
90213
90214 2004-02-06  Karl Berry  <karl@gnu.org>
90215
90216         * lib/config.charset: update from gettext 0.14.1.
90217
90218 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90219
90220         Add comments and code, prompted by suggestions from Bruno Haible
90221         for sh-quote.
90222         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90223         describing the enum quoting_style values.
90224         * lib/quotearg.c (quotearg_alloc): New function.
90225         (quotearg_buffer_restyled): Treat lone { and } as special.
90226         Treat = as special.  Work around bug with older shells
90227         that "see" a '\' that is really the 2nd byte of a multibyte char.
90228         Quote empty string with shell_quoting_style.
90229
90230 2004-02-03  Bruno Haible  <bruno@clisp.org>
90231
90232         * m4/pipe.m4: New file, from GNU gettext.
90233
90234 2004-02-03  Bruno Haible  <bruno@clisp.org>
90235
90236         * lib/pipe.h: New file, from GNU gettext.
90237         * lib/pipe.c: New file, from GNU gettext.
90238
90239 2004-01-27  Bruno Haible  <bruno@clisp.org>
90240
90241         * m4/execute.m4: New file, from GNU gettext.
90242
90243 2004-01-27  Bruno Haible  <bruno@clisp.org>
90244
90245         * lib/execute.h: New file, from GNU gettext.
90246         * lib/execute.c: New file, from GNU gettext.
90247         * lib/w32spawn.h: New file, from GNU gettext.
90248
90249 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90250
90251         Merge from diffutils.
90252
90253         * lib/file-type.c (file_type): Add typed memory objects.
90254         * lib/file-type.h (S_TYPEISTMO): New macro.
90255
90256         * lib/c-stack.h (c_stack_action): Remove argv argument.
90257         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90258         (die): Don't calculate message unless segv_action returns.
90259         (get_stack_location, min_address_from_argv, max_address_from_argv,
90260         volatile stack_base, volatile_stack_size): Remove.
90261         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90262         that every segmentation violation is a stack overflow.  (Ouch!)
90263         See Debian bug 136249 (still outstanding) for more info about why
90264         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90265
90266 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90267
90268         Exit-status fix from coreutils.
90269
90270         Use exit_failure consistently in place of EXIT_FAILURE,
90271         so that program exit statuses are consistent on failure.
90272
90273         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90274         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90275         * lib/argmatch.h: Comment fix to match the above.
90276         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90277         Now a macro referring to exit_failure, instead of a separate
90278         variable.  Include "exitfail.h" to get it.
90279         * lib/xstrtol.h: Include "exitfail.h".
90280         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90281
90282         * lib/long-options.c (parse_long_options): Use prototype
90283         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90284         for clarity.
90285
90286 2004-01-21  Jim Meyering  <jim@meyering.net>
90287
90288         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90289         so as not to conflict with a different-sized __mktime_internal
90290         function in GNU libc.
90291         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90292         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90293
90294 2004-01-20  Karl Berry  <karl@gnu.org>
90295
90296         * config/config.guess: update from config.
90297
90298         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90299
90300 2004-01-20  Bruno Haible  <bruno@clisp.org>
90301
90302         Safer stack allocation.
90303         * lib/setenv.c: Include allocsa.h.
90304         (alloca): Remove fallback definition.
90305         (freea): Remove macro.
90306         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90307         instead of freea.
90308
90309 2004-01-20  Bruno Haible  <bruno@clisp.org>
90310
90311         * m4/eealloc.m4: New file, from GNU gettext.
90312
90313 2004-01-20  Bruno Haible  <bruno@clisp.org>
90314
90315         * m4/allocsa.m4: New file, from GNU gettext.
90316
90317 2004-01-20  Bruno Haible  <bruno@clisp.org>
90318
90319         * lib/xallocsa.h: New file, from GNU gettext.
90320         * lib/xallocsa.c: New file, from GNU gettext.
90321
90322 2004-01-20  Bruno Haible  <bruno@clisp.org>
90323
90324         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90325
90326 2004-01-20  Bruno Haible  <bruno@clisp.org>
90327
90328         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90329         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90330         specially.
90331
90332 2004-01-20  Bruno Haible  <bruno@clisp.org>
90333
90334         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90335         patch.
90336
90337 2004-01-20  Bruno Haible  <bruno@clisp.org>
90338
90339         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90340
90341 2004-01-20  Bruno Haible  <bruno@clisp.org>
90342
90343         * lib/eealloc.h: New file.
90344
90345 2004-01-20  Bruno Haible  <bruno@clisp.org>
90346
90347         * lib/binary-io.h: Avoid warnings on Cygwin.
90348
90349 2004-01-20  Bruno Haible  <bruno@clisp.org>
90350
90351         * lib/allocsa.h: New file, from GNU gettext.
90352         * lib/allocsa.c: New file, from GNU gettext.
90353
90354 2004-01-18  Karl Berry  <karl@gnu.org>
90355
90356         * doc/gpl.texi, doc/lgpl.texi: new files.
90357
90358 2004-01-18  Karl Berry  <karl@gnu.org>
90359
90360         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90361         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90362
90363 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90364
90365         Merge from coreutils.
90366
90367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90368         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90369         (gl_DEFAULT_POSIX2_VERSION): Move
90370         the documentation from 'configure' into 'config.hin',
90371         so that 'configure --help' isn't burdened by it and
90372         we don't have to worry about its formatting there.
90373         Reword the documentation so that it's more succinct
90374         and can be run together into a single paragraph.
90375         * m4/same.m4 (gl_SAME): Check for pathconf.
90376
90377 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90378
90379         Merge from coreutils.
90380
90381         * lib/posixver.c: Include posixver.h.
90382
90383         * lib/same.c: Include <stdbool.h>, <limits.h>.
90384         (_POSIX_NAME_MAX): Define if not defined.
90385         (MIN): New macro.
90386         (same_name): If file names are silently truncated, report
90387         that the file names are the same if they are the same after
90388         the silent truncation.
90389
90390         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90391         conversion function.
90392         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90393         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90394         longer needed.
90395
90396 2004-01-15  Jim Meyering  <jim@meyering.net>
90397
90398         Merge from coreutils.
90399
90400         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90401         if no library is required.
90402         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90403         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90404         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90405         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90406         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90407         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90408         value, $ac_cv_search_crypt, if it's "none required".
90409         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90410         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90411         not gl_FUNC_GETLOADAVG.
90412         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90413         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90414
90415 2004-01-15  Jim Meyering  <jim@meyering.net>
90416
90417         Merge from coreutils.
90418
90419         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90420         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90421         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90422
90423         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90424         optional configure-time default.
90425
90426         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90427
90428         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90429
90430 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90431
90432         Merge from coreutils.
90433
90434         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90435         value, $ac_cv_search_nanosleep, if it's "none required".
90436
90437 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90438
90439         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90440         with like-named macro in fnmatch.c.
90441         (EXT): Use an internal constant instead.
90442
90443         Merge fnmatch patches from glibc.
90444         * lib/fnmatch.c (mbsinit): Remove define.
90445         Add libc_hidden_ver (__fnmatch, fnmatch).
90446         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90447         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90448
90449 2004-01-14  Karl Berry  <karl@gnu.org>
90450
90451         * config/install-sh: update from automake.
90452
90453 2004-01-13  Karl Berry  <karl@gnu.org>
90454
90455         * config/install-sh: update from automake.
90456
90457 2004-01-09  Karl Berry  <karl@gnu.org>
90458
90459         * config/install-sh: update from automake.
90460
90461 2004-01-05  Karl Berry  <karl@gnu.org>
90462
90463         * config/config.{sub,guess}: update from config.
90464
90465 2003-12-31  Karl Berry  <karl@gnu.org>
90466
90467         * config/depcomp: update from automake.
90468
90469 2003-12-14  Karl Berry  <karl@gnu.org>
90470
90471         * lib/config.charset: update from gettext-runtime.
90472
90473 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90474
90475         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90476         Bug reported by Alfred M. Szmidt.
90477
90478 2003-12-03  Bruno Haible  <bruno@clisp.org>
90479
90480         * m4/gettext.m4: Upgrade from gettext-0.13.
90481         * m4/po.m4: Upgrade from gettext-0.13.
90482         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90483         * m4/intmax.m4: New file, from gettext-0.13.
90484         * m4/printf-posix.m4: New file, from gettext-0.13.
90485
90486 2003-11-29  Karl Berry  <karl@gnu.org>
90487
90488         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90489
90490 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90491             Bruno Haible  <bruno@clisp.org>
90492
90493         * lib/printf-parse.h: Don't include sys/types.h.
90494         (ARG_NONE): New macro.
90495         (char_directive): Change type of *arg_index fields to size_t.
90496         * lib/printf-parse.c: Don't include sys/types.h.
90497         (SSIZE_MAX): Remove macro.
90498         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90499         Remove unnecessary overflow check.
90500         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90501         fields.
90502
90503 2003-11-25  Bruno Haible  <bruno@clisp.org>
90504
90505         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90506
90507 2003-11-25  Bruno Haible  <bruno@clisp.org>
90508
90509         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90510         gt_TYPE_SSIZE_T.
90511
90512 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90513
90514         * modules/alloca: Remove dependency on xalloc.
90515
90516 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90517
90518         * lib/alloca.c: Remove dependency on xalloc module.
90519         (xalloc_die): Remove.
90520         (memory_full) [!defined emacs]: New macro.
90521         [!defined emacs]: Don't include xalloc.h.
90522         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90523         address arithmetic overflows.  Change datatypes a bit to avoid
90524         unnecessary casts.
90525
90526 2003-11-22  Jim Meyering  <jim@meyering.net>
90527
90528         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90529         s/size/size_t/.
90530
90531 2003-11-21  Karl Berry  <karl@gnu.org>
90532
90533         * config/config.{sub,guess}: update from config.
90534
90535 2003-11-18  Karl Berry  <karl@gnu.org>
90536
90537         * config/config.{sub,guess}: update from config.
90538
90539         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90540
90541 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90542
90543         * README: Mention that S+T cannot overflow if S is the size of
90544         an existing object and T is sufficiently small.
90545
90546 2003-11-17  Jim Meyering  <jim@meyering.net>
90547
90548         On systems without utime and without a utimes function capable of
90549         dealing with a NULL struct utimbuf* argument, this utime replacement
90550         could -- in unusual circumstances -- leak a file descriptor.
90551         * lib/utime.c: Include <unistd.h> and <errno.h>.
90552         (utime_null): Be sure to close `fd' and to preserve errno.
90553         Reported by Geoff Collyer via Arnold Robbins.
90554
90555 2003-11-17  Bruno Haible  <bruno@clisp.org>
90556
90557         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90558         (Depends-on): Add xsize.
90559
90560 2003-11-17  Bruno Haible  <bruno@clisp.org>
90561
90562         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90563
90564 2003-11-17  Bruno Haible  <bruno@clisp.org>
90565
90566         * lib/vasnprintf.c (alloca): Remove fallback definition.
90567         (freea): Remove definition.
90568         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90569         Reported by Paul Eggert.
90570
90571 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90572             Bruno Haible  <bruno@clisp.org>
90573
90574         Protect against address arithmetic overflow.
90575         * lib/printf-args.h: Include stddef.h.
90576         (arguments): Change type of field 'count' to size_t.
90577         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90578         'unsigned int' where appropriate.
90579         * lib/printf-parse.h: Include sys/types.h.
90580         (char_directive): Change type of *arg_index fields to ssize_t.
90581         (char_directives): Change type of fields 'count', max_*_length to
90582         size_t.
90583         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90584         (SSIZE_MAX): Define fallback value.
90585         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90586         instead of 'int' where appropriate. Check a_allocated, d_allocated
90587         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90588         * lib/vasnprintf.c: Include xsize.h.
90589         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90590         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90591         overflow. Avoid wraparound when converting a width or precision from
90592         decimal to binary.
90593
90594 2003-11-16  Bruno Haible  <bruno@clisp.org>
90595
90596         Update from GNU gettext.
90597         * lib/printf-parse.c: Generalize to it can be compiled for wide
90598         strings.
90599         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90600         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90601         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90602         SNPRINTF): New macros.
90603         Don't include <alloca.h> if the file is used inside libintl.
90604         (local_wcslen): New function, for Solaris 2.5.1.
90605         (VASNPRINTF): Use it instead of wcslen.
90606
90607 2003-11-16  Bruno Haible  <bruno@clisp.org>
90608
90609         * lib/xsize.h (xmax): New function.
90610         (xsum, xsum3, xsum4): Declare as "pure" functions.
90611
90612 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90613
90614         * modules/xalloc (Files): Undo latest change, since xalloc.h
90615         no longer needs SIZE_MAX or PTRDIFF_MAX.
90616
90617 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90618
90619         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90620         gl_PTRDIFF_MAX.
90621
90622 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90623
90624         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90625         "return", to pacify some unknown compiler.  Problem reported
90626         by Joerg Schilling.
90627
90628 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90629
90630         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90631         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90632         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90633         heuristic is just as accurate as far as we know, and it removes a
90634         dependency on size_max.m4 and ptrdiff_max.m4.
90635
90636 2003-11-11  Bruno Haible  <bruno@clisp.org>
90637
90638         * modules/xsize (Files): Add m4/size_max.m4.
90639         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90640
90641 2003-11-11  Bruno Haible  <bruno@clisp.org>
90642
90643         * m4/size_max.m4: New file.
90644         * m4/ptrdiff_max.m4: New file.
90645         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90646         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90647         (gl_XALLOC): Invoke it.
90648
90649 2003-11-11  Bruno Haible  <bruno@clisp.org>
90650
90651         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90652         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90653         defined.
90654
90655 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90656
90657         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90658         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90659         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90660         From Bruno Haible.
90661         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90662         not (size_t) -1, since it's defined here.
90663
90664 2003-11-09  Karl Berry  <karl@gnu.org>
90665
90666         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90667
90668 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90669
90670         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90671         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90672         Reject sizes of exactly SIZE_MAX bytes.
90673         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90674         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90675
90676 2003-11-05  Bruno Haible  <bruno@clisp.org>
90677
90678         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90679         SIZE_MAX defined in <limits.h> on Solaris.
90680
90681 2003-11-04  Jim Meyering  <jim@meyering.net>
90682
90683         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90684         variable names, rather than @VAR@.
90685         * modules/poll: Likewise.
90686
90687 2003-11-04  Bruno Haible  <bruno@clisp.org>
90688
90689         * modules/xsize: New file.
90690         * modules/linebreak: Depend on xsize.
90691         * MODULES.html.sh (func_all_modules): Add xsize.
90692
90693 2003-11-04  Bruno Haible  <bruno@clisp.org>
90694
90695         * m4/xsize.m4: New file.
90696
90697 2003-11-04  Bruno Haible  <bruno@clisp.org>
90698
90699         * lib/xsize.h: New file.
90700         * lib/linebreak.c: Include xsize.h.
90701         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90702         argument for overflow.
90703         Suggested by Paul Eggert.
90704
90705 2003-11-03  Karl Berry  <karl@gnu.org>
90706
90707         * config/config.{guess,sub}: update from config.
90708
90709 2003-11-03  Jim Meyering  <jim@meyering.net>
90710
90711         * modules/userspec (lib_SOURCES): Add userspec.h.
90712         (Include): Add "userspec.h".
90713         Improve description.
90714
90715 2003-11-03  Jim Meyering  <jim@meyering.net>
90716
90717         * lib/userspec.c: Include "userspec.h".
90718         * lib/userspec.h: New file.
90719
90720 2003-11-03  Bruno Haible  <bruno@clisp.org>
90721
90722         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90723
90724 2003-11-03  Bruno Haible  <bruno@clisp.org>
90725
90726         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90727         available, to avoid (extremely rare) race condition.
90728         Suggested by Paul Eggert.
90729
90730 2003-11-02  Karl Berry  <karl@gnu.org>
90731
90732         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90733
90734 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90735
90736         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90737         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90738         (read_filesystem_list): Set and use me_type_malloced.
90739         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90740         whatever the type happens to be), for brevity and consistency.
90741         Check for size calculation overflow on Alphas running OSF/1.
90742
90743 2003-10-31  Jim Meyering  <jim@meyering.net>
90744
90745         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90746
90747         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90748
90749 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90750             Bruno Haible  <bruno@clisp.org>
90751
90752         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90753         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90754
90755 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90756
90757         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90758         netbsd*-gnu*.  Suggested by Robert Millan.
90759
90760 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90761
90762         * modules/group-member: Depend on stdbool.
90763
90764 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90765
90766         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
90767
90768 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90769
90770         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
90771         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
90772         after the 'gnu' in these cases.  This fixes some bugs in the
90773         previous change, and is based on suggestions by Robert Millan.
90774
90775 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90776
90777         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
90778         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
90779         no longer needed.
90780         * lib/quotearg.c (quotearg_n_options): Use it.
90781         * lib/group-member.c: Include <stdbool.h>.
90782         (free_group_info): Arg is now const *; don't free arg.
90783         (get_group_info): Now returns bool and accepts struct group_info *,
90784         rather than returning a malloc'ed struct group_info *.
90785         All uses changed.  Check for overflow in internal size calculation.
90786
90787         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
90788         rather than xmalloc/xrealloc.
90789         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
90790         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
90791         conformance bug: the old code used a pointer after freeing the
90792         storage that it addressed.
90793         * lib/hash.c (hash_initialize): Simplify the code by using
90794         xalloc_oversized rather than doing it by hand.
90795         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
90796         the buffer preserved.  Use free and xmalloc instead.
90797         * lib/quotearg.c (quotearg_n_options): Likewise.
90798         Use a simpler test for size overflow.  Don't use xalloc_oversized
90799         because unsigned int might be wider than size_t (!); this suggests
90800         that we should switch from unsigned int to size_t for slot numbers.
90801
90802 2003-10-28  Paul Eggert  <eggert@twinsun.com>
90803
90804         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
90805         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
90806         NetBSD kernels.  Requested by Richard Stallman.
90807
90808 2003-10-27  Paul Eggert  <eggert@twinsun.com>
90809
90810         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
90811         to allocate the returned structure.  Do not allocate a subarray,
90812         as x2nrealloc will do that.
90813         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
90814         instead of xnrealloc.
90815         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
90816
90817 2003-10-27  Bruno Haible  <bruno@clisp.org>
90818
90819         * lib/stdbool_.h: Better support for BeOS.
90820
90821 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90822
90823         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
90824         now uses inline.
90825
90826 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90827
90828         * lib/xalloc.h (xalloc_oversized): New static inline function, for
90829         callers that want to do their own size-overflow checking.  Include
90830         <stdbool.h>, since xalloc_oversized returns bool.
90831         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
90832         to use xalloc_oversized.
90833
90834         Add two functions x2realloc, x2nrealloc, for programs that grow
90835         arrays dynamically by doubling their sizes.
90836         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
90837         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
90838         New functions.
90839
90840         Port to C99 semantics for 'inline' of external functions.
90841         Bug reported by Bruno Haible.
90842         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
90843         with the old contents of xnmalloc.
90844         (xnmalloc, xmalloc): Use it.
90845         (xnrealloc_inline): New static inline function,
90846         with the old contents of xnrealloc.
90847         (xnrealloc, xrealloc): Use it.
90848
90849         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
90850         that.
90851
90852 2003-10-26  Karl Berry  <karl@gnu.org>
90853
90854         * config/srclist.txt (COPYING.DOC): no longer available from
90855         /gd/gnuorg; don't know where the ultimate source is.
90856
90857 2003-10-25  Paul Eggert  <eggert@twinsun.com>
90858
90859         Fix several address-calculation bugs in the hash modules,
90860         plus some minor code cleanup.
90861
90862         * lib/hash.h: Include <stdbool.h>, for bool.
90863         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
90864         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
90865         hash_get_n_entries, hash_get_max_bucket_length,
90866         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
90867         hash_rehash): Use size_t rather than unsigned.
90868         * lib/hash.c (struct hash_table, hash_get_n_buckets,
90869         hash_get_n_buckets_used, hash_get_n_entries,
90870         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
90871         hash_get_entries, hash_do_for_each, hash_string, is_prime,
90872         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
90873         Likewise.
90874         (SIZE_MAX): Define if not defined.
90875         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
90876         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
90877         hash_print):
90878         Use const * when possible.
90879         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
90880         (check_tuning): Fix bug: if tuning parameters were very close to
90881         0 or 1, rounding errors could have caused subscript violations.
90882         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
90883         (hash_initialize): Add 'fail:' label
90884         to free table and return NULL, and use it to simplify code.
90885         Use calloc rather than clearing the storage ourself.
90886         (hash_initialize, hash_rehash): Check for arithmetic overflow in
90887         buffer size calculations.
90888         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
90889         Include <stddef.h>, for size_t.
90890         * lib/hash-pjw.c (hash_pjw): Likewise.
90891         Switch to method described by Bruno Haible.
90892         Include <limits.h>, for CHAR_BIT.
90893         (SIZE_BITS): New macro.
90894
90895 2003-10-23  Paul Eggert  <eggert@twinsun.com>
90896
90897         * m4/getline.m4 (AM_FUNC_GETLINE):
90898         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
90899         hosts.  Problem reported by Derek Robert Price in
90900         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
90901         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
90902         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
90903
90904 2003-10-21  Paul Eggert  <eggert@twinsun.com>
90905
90906         * lib/getndelim2.c (getndelim2): When size calculation overflows,
90907         ceiling the allocation at NMAX bytes rather than silently
90908         discarding input bytes before NMAX is reached.  This makes
90909         a difference only if NMAX exceeds SIZE_MAX / 2.
90910
90911         * lib/obstack.c: Merge from glibc.
90912         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
90913         Add libc_hidden_def (_obstack_newchunk).
90914         (_obstack_free) [! defined _LIBC]: Remove.
90915         [defined _LIBC]: Make a strong alias from obstack_free, rather than
90916         a clone of the function body.
90917         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
90918         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
90919
90920         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
90921         glibc.
90922         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
90923         arg to memcpy.
90924
90925         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
90926         (obstack_ptr_grow_fast, obstack_int_grow_fast):
90927         Don't use lvalue casts, as GCC plans to remove support for them
90928         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
90929         was also present in the non-GCC version, indicating that this
90930         code had always been buggy and had never been widely used.
90931         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90932         Use the fast variant of each macro, rather than copying the
90933         definiens of the fast variant; that way, we'll be more likely to
90934         catch future bugs in the fast variants.
90935
90936 2003-10-20  Bruno Haible  <bruno@clisp.org>
90937
90938         * modules/wait-process: New file.
90939         * MODULES.html.sh (func_all_modules): Add wait-process.
90940
90941 2003-10-20  Bruno Haible  <bruno@clisp.org>
90942
90943         * m4/wait-process.m4: New file.
90944
90945 2003-10-20  Bruno Haible  <bruno@clisp.org>
90946
90947         * lib/wait-process.h: New file, from GNU gettext.
90948         * lib/wait-process.c: New file, from GNU gettext.
90949
90950 2003-10-19  Jim Meyering  <jim@meyering.net>
90951
90952         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
90953         HPUX 10.20.
90954
90955 2003-10-18  Karl Berry  <karl@gnu.org>
90956
90957         * config/config.guess: update from config.
90958
90959 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90960
90961         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
90962         (getgroups): First arg is int, not size_t.
90963         Don't let 'free' mangle errno.
90964
90965 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90966
90967         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
90968
90969 2003-10-16  Karl Berry  <karl@gnu.org>
90970
90971         * config/config.{guess,sub}: update from config.
90972
90973 2003-10-16  Jim Meyering  <jim@meyering.net>
90974
90975         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
90976         memcpy.
90977
90978 2003-10-15  Paul Eggert  <eggert@twinsun.com>
90979
90980         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
90981         (SIZE_MAX): Remove.
90982         (new_exclude, add_exclude_file): Initial size no longer needs to
90983         be a power of 2.
90984         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
90985         our own address arithmetic overflow checking.
90986
90987         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
90988         (fnmatch): Do not alloca more than 2000 wide characters;
90989         instead, use malloc for large buffers.
90990         Check for address arithmetic overflow, and return -1
90991         with errno set to ENOMEM in that case.
90992         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
90993         (NEW_PATTERN): Do not alloca more than 8000 bytes;
90994         instead, return -1.  Check for address arithmetic overflow.
90995
90996 2003-10-14  Paul Eggert  <eggert@twinsun.com>
90997
90998         Handle invalid suffixes and overflow independently, so that
90999         callers can treat them independently as needed.  Fix some bugs in
91000         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91001         suffix for a human-readable blocksize.  The major caller-visible
91002         change is the addition of a new
91003         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91004         that both overflow and suffix chars were found.
91005
91006         * lib/human.c (humblock): Don't check separately for invalid suffix
91007         char; that is xstrtoumax's job (now that its bug is fixed).
91008         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91009         INTMAX_MAX]: New macros.
91010         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91011         TYPE_MAXIMUM): New macros.
91012         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91013         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91014         if overflow occurs, as it's what __strtol does and it's more useful
91015         in practice.
91016         (__xstrtol): If __strtol reports some error other than ERANGE,
91017         reflect it to the caller as LONGINT_INVALID.  If it reports
91018         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91019         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91020         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91021         value.
91022         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91023         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91024         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91025         [defined UINTMAX_MAX]: New macros.
91026
91027 2003-10-14  Bruno Haible  <bruno@clisp.org>
91028
91029         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91030
91031 2003-10-14  Bruno Haible  <bruno@clisp.org>
91032
91033         * m4/sig_atomic_t: New file, from GNU gettext.
91034         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91035
91036 2003-10-14  Bruno Haible  <bruno@clisp.org>
91037
91038         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91039         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91040         Also use volatile where needed.
91041
91042 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91043
91044         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91045         Change maintainer from Bruno Haible to 'all'.
91046
91047 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91048
91049         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91050
91051 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91052
91053         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91054         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91055         and define in terms of the other primitives.
91056         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91057         (SIZE_MAX): Define if not already defined.
91058         (array_size_overflow): New function.
91059         (xalloc_die): Abort instead of exiting if 'error' returns.
91060         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91061         (xmalloc, xrealloc): Use them.
91062         (xcalloc): Check for address arithmetic overflow.
91063         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91064         a bit faster than strcpy.
91065
91066 2003-10-10  Simon Josefsson  <jas@extundo.com>
91067
91068         * modules/argp (Depends-on): Add restrict and strcase.
91069
91070 2003-10-10  Simon Josefsson  <jas@extundo.com>
91071
91072         * m4/argp.m4: Add AC_C_INLINE.
91073
91074 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91075
91076         Merge getpass from libc, plus a few fixes.
91077
91078         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91079         Include <stdbool.h>.
91080         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91081         __fsetlocking to empty.
91082         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91083         do include <bits/libc-lock.h>.
91084         Do not include <fcntl.h>; not needed.
91085         [_LIBC]: Include <wchar.h>.
91086         (NOTCANCEL_MODE): New macro.
91087         (flockfile, funlockfile) [_LIBC]: New macros.
91088         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91089         [!_LIBC]: New macros.
91090         (call_fclose): New function.
91091         (getpass): Use it.  Save tty stream separately; this simplifies the
91092         code and makes it more reliable if stdin happens to equal stdout.
91093         Invoke __fsetlocking on tty.
91094         Handle thread cancellation if needed.
91095         Namespace cleanup (use __tcgetattr, __getline).
91096         Use bool for Booleans.
91097         [USE_IN_LIBIO]: Handle wide streams.
91098         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91099         stream might go where.
91100
91101         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91102         doesn't have to include <stdio.h> before us.
91103         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91104         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91105         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91106         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91107         if not declared, so that we can use getpass.c code from libc without
91108         rewriting it.
91109         (flockfile, ftrylockfile, funlockfile): New macros.
91110
91111 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91112
91113         * modules/getpass: Depend on stdbool.
91114
91115 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91116
91117         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91118
91119 2003-10-07  Karl Berry  <karl@gnu.org>
91120
91121         * config/config.{guess,sub}: update from config.
91122
91123 2003-10-06  Jim Meyering  <jim@meyering.net>
91124             Bruno Haible  <bruno@clisp.org>
91125
91126         This lets translators provide better translations for the
91127         "Written by ..." part of --version output.
91128         * lib/version-etc.h: Include stdarg.h.
91129         (version_etc_copyright): Declare as readonly.
91130         (version_etc): Make this function variadic with a NULL-terminated list
91131         of author name strings.
91132         (version_etc_va): New declaration.
91133         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91134         (version_etc_copyright): Declare as readonly.
91135         (version_etc_va): New function. Provide a different translatable string
91136         for each possible number of authors < 10. Abbreviate when there are 10
91137         authors or more.
91138         (version_etc): Make this function variadic. Call version_etc_va.
91139         Suggestion from Gary V. Vaughan.
91140
91141         * lib/long-options.h (parse_long_options): Change prototype: the
91142         authors string is moved to the end and becomes variadic.
91143         * lib/long-options.c: Include stdarg.h.
91144         (parse_long_options): Make this function variadic, too.
91145         Call version_etc_va, not version_etc.
91146
91147 2003-10-06  Bruno Haible  <bruno@clisp.org>
91148
91149         * modules/version-etc-2: Remove file.
91150         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91151
91152 2003-10-06  Bruno Haible  <bruno@clisp.org>
91153
91154         * modules/fatal-signal: New file.
91155         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91156
91157 2003-10-06  Bruno Haible  <bruno@clisp.org>
91158
91159         * m4/fatal-signal.m4: New file.
91160         * m4/signalblocking.m4: New file, from GNU gettext.
91161
91162 2003-10-06  Bruno Haible  <bruno@clisp.org>
91163
91164         * lib/version-etc-2.h: Remove file.
91165         * lib/version-etc-2.c: Remove file.
91166
91167 2003-10-06  Bruno Haible  <bruno@clisp.org>
91168
91169         * lib/fatal-signal.h: New file, from GNU gettext.
91170         * lib/fatal-signal.c: New file, from GNU gettext.
91171
91172 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91173
91174         * README: Rework advice for preventing empty .o files.
91175         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91176         not <sys/types.h>.
91177
91178 2003-10-04  Karl Berry  <karl@gnu.org>
91179
91180         * lib/argp*: update from libc.
91181
91182 2003-10-04  Karl Berry  <karl@gnu.org>
91183
91184         * config/config.{guess,sub}: update from config.
91185
91186 2003-10-02  Bruno Haible  <bruno@clisp.org>
91187
91188         * modules/lchown (Include): Add lchown.h.
91189         * modules/time_r (Include): Use "..." syntax.
91190         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91191
91192 2003-10-01  Simon Josefsson  <jas@extundo.com>
91193
91194         * MODULES.html.sh (func_all_modules): Move gethostname from section
91195         'based on' to section 'lacking' POSIX:2001.
91196
91197 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91198
91199         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91200         to output mode on the same stream.
91201
91202 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91203
91204         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91205         Fix arg typo in previous patch.
91206
91207 2003-09-28  Jim Meyering  <jim@meyering.net>
91208
91209         * lib/error.c: Correct cpp indentation.
91210
91211 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91212
91213         * modules/free: New file.
91214
91215 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91216
91217         * m4/free.m4: New file.
91218
91219 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91220
91221         * lib/minmax.h (MIN, MAX)
91222         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91223         Omit the special code that used __typeof__, since we worry that
91224         it could be more trouble than it's worth.  See:
91225         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91226         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91227
91228         * lib/free.c: New file.
91229
91230 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91231
91232         Trivial fixes to Makefile.am parts of module listings.
91233         * modules/strstr: Append strstr.h to lib_SOURCES.
91234         * modules/strcase: Likewise, for strcase.h.
91235
91236 2003-09-27  Karl Berry  <karl@gnu.org>
91237
91238         * config/mkinstalldirs: update from automake.
91239
91240 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91241
91242         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91243         (error_tail): Do not loop, reallocating temporary buffer, since
91244         the output cannot contain more wide characters than the input
91245         contains bytes, the size must be big enough already.  This avoids
91246         one potential size overflow calculation.  Check for size overflow
91247         when calculating temporary buffer size.  Free temporary buffer
91248         when done, if it was allocated with malloc; this plugs a memory
91249         leak.  Remove casts from void * to pointers, that are no longer
91250         needed now that we're assuming C89 or better.
91251
91252         Merge error changes from glibc.
91253
91254         * lib/error.c, error.h: Update copyright notice header to match glibc.
91255         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91256         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91257         Disable cancellation while printing error.
91258         * lib/error.h: Prepend __ to parameter names.
91259
91260 2003-09-26  Jim Meyering  <jim@meyering.net>
91261
91262         * lib/error.c (error_tail): Move some declarations
91263         into inner scope where the local variables are used.
91264
91265 2003-09-26  Bruno Haible  <bruno@clisp.org>
91266
91267         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91268         stpncpy().
91269         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91270
91271 2003-09-26  Bruno Haible  <bruno@clisp.org>
91272
91273         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91274         (stpncpy): Define as alias for gnu_stpncpy.
91275         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91276
91277 2003-09-25  Simon Josefsson  <jas@extundo.com>
91278
91279         * lib/xgetdomainname.h: New file.
91280         * lib/xgetdomainname.c: New file.
91281
91282 2003-09-25  Simon Josefsson  <jas@extundo.com>
91283             Bruno Haible  <bruno@clisp.org>
91284
91285         * modules/getdomainname: New file.
91286         * modules/xgetdomainname: New file.
91287         * MODULES.html.sh (func_all_modules): Add getdomainname,
91288         xgetdomainname.
91289
91290 2003-09-25  Simon Josefsson  <jas@extundo.com>
91291             Bruno Haible  <bruno@clisp.org>
91292
91293         * m4/getdomainname.m4: New file.
91294
91295 2003-09-25  Simon Josefsson  <jas@extundo.com>
91296             Bruno Haible  <bruno@clisp.org>
91297
91298         * lib/getdomainname.h: New file.
91299         * lib/getdomainname.c: New file.
91300
91301 2003-09-25  Karl Berry  <karl@gnu.org>
91302
91303         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91304
91305 2003-09-25  Karl Berry  <karl@gnu.org>
91306
91307         * config/install-sh: update from automake.
91308
91309 2003-09-25  Bruno Haible  <bruno@clisp.org>
91310
91311         * modules/version-etc-2: New file, from modules/version-etc with
91312         modifications.
91313         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91314
91315 2003-09-25  Bruno Haible  <bruno@clisp.org>
91316
91317         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91318         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91319
91320 2003-09-24  Simon Josefsson  <jas@extundo.com>
91321
91322         * modules/xgethostname: Add xgethostname.h.
91323
91324 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91325
91326         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91327         the buffer associated with the argument.  Bug reported by
91328         Simon Josefsson.
91329
91330 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91331
91332         * README: Document assumptions that 'int' is at least 32 bits
91333         wide, that integer arithmetic is 2's complement without overflow,
91334         that there are no holes in integer values, that adding sizes of
91335         two nonoverlapping objects can't overflow, and that all-bits-zero
91336         yields scalar zero.  Fix spelling and capitalization typos.
91337
91338 2003-09-19  Karl Berry  <karl@gnu.org>
91339
91340         * lib/argp.h: update from libc.
91341
91342 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91343
91344         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91345         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91346         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91347
91348 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91349
91350         * gnulib-tool: Use "test -h", not "test -L", for portability
91351         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91352         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91353         (sed_extract_prog): Issue s commands one-by-one, rather than
91354         using \| in one s command.
91355
91356 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91357
91358         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91359         input error, instead of returning NULL the next time we are called
91360         (and therefore losing track of errno).
91361
91362 2003-09-16  Bruno Haible  <bruno@clisp.org>
91363
91364         * gnulib-tool (func_create_testdir): Warn about duplicated
91365         dependencies.
91366
91367 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91368
91369         * modules/argmatch, modules/fatal, modules/obstack,
91370         modules/xalloc, modules/xgethostname: Sort dependencies by
91371         importance, not alphabetically.
91372
91373 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91374
91375         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91376         fails, so that the caller gets the proper errno.
91377
91378         * lib/readutmp.c (read_utmp): Likewise.
91379         Check for fstat error.  Close stream and free storage
91380         when failing.
91381
91382 2003-09-14  Karl Berry  <karl@gnu.org>
91383
91384         * config/srclist.txt (strdup.c): disable for c89 changes.
91385
91386 2003-09-14  Jim Meyering  <jim@meyering.net>
91387
91388         * lib/getloadavg.c: Correct cpp indentation.
91389         * lib/strdup.c: Likewise.
91390         * lib/vasnprintf.c: Likewise.
91391
91392 2003-09-14  Bruno Haible  <bruno@clisp.org>
91393
91394         * modules/fwriteerror: New file.
91395         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91396
91397 2003-09-14  Bruno Haible  <bruno@clisp.org>
91398
91399         * lib/fwriteerror.h: New file.
91400         * lib/fwriteerror.c: New file.
91401
91402 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91403
91404         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91405         modules/xgethostname, modules/xalloc: Depend on exit.
91406
91407 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91408
91409         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91410
91411         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91412         and AC_MINIX, too, so that their extensions are available.
91413
91414         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91415         This macro has been superseded by gl_BACKUPFILE.
91416
91417         More patches to assume C89 or better.
91418
91419         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91420
91421         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91422         unconditionally.
91423         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91424         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91425         Include <string.h>, <stdlib.h> unconditionally.
91426         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91427         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91428         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91429         headers or for string.h.
91430         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91431         or strtoul.
91432
91433         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91434         headers.
91435         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91436         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91437         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91438         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91439         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91440         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91441         memcpy, memset.
91442         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91443         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91444         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91445         strtol.
91446         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91447         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91448         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91449         strtoul.
91450
91451 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91452
91453         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91454         * lib/obstack.c [!defined _LIBC]: Likewise.
91455         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91456         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91457         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91458
91459         More changes to assume C89 or better.
91460
91461         * lib/error.c (error_tail): Assume vprintf.
91462
91463         * lib/argmatch.c (getenv): Remove decl.
91464         * lib/progreloc.c (get_full_program_name): Define via prototype.
91465         * lib/setenv.c (clearenv): Likewise.
91466         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91467         needed.
91468         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91469         (malloc, memcpy): Remove decls.
91470         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91471         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91472         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91473         (memcpy): Remove macro.
91474         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91475         (__P): Remove.  All uses removed.
91476         (PTR): Remove.  All uses changed to void *.
91477         (CHAR_BIT, NULL): Remove.
91478         (spaces, zeros, memset_space, memset_zero)
91479         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91480         Remove.
91481         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91482         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91483         Define with prototype.
91484         Remove now-unnecessary prototype decl.
91485         (extra_args_spec): Assume ANSI C.  All uses changed.
91486         (extra_args_spec_iso): Remove.
91487         (my_strftime, emacs_strftimeu): Define via prototype.
91488         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91489         unconditionally.
91490         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91491         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91492         (strtoul, strtol): Remove decls.
91493         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91494         LONG_MAX): Remove.
91495         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91496         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91497         (LOCALE_PARAM_PROTO): New macro.
91498         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91499         (INTERNAL (strtol), strtol): Define with a prototype.
91500         (PARAMS): Remove.  All uses removed.
91501         * lib/tempname.c: Include <string.h> unconditionally.
91502         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91503         * lib/xgethostname.c (main): Define with a prototype.
91504         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91505         Include <stdlib.h> unconditionally.
91506         (calloc, malloc, realloc, free): Remove decls.
91507         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91508         Include <stdlib.h> unconditionally.  Sort include file names.
91509         (strtod): Remove.
91510         (xstrtod): Define with a prototype.
91511         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91512         (strtol, strtoul): Remove decls.
91513
91514 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91515
91516         More patches to assume C89 or better.
91517         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91518         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91519         string.h, memchr, STDC_HEADERS.
91520
91521 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91522
91523         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91524         Include <stdlib.h>, <string.h> unconditionally.
91525         Remove now-unnecessary cast to char *.
91526         * lib/strnlen.c: Include <string.h> unconditionally.
91527         * lib/yesno.c (yesno): Define with a prototype.
91528
91529 2003-09-11  Bruno Haible  <bruno@clisp.org>
91530
91531         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91532
91533 2003-09-10  Jim Meyering  <jim@meyering.net>
91534
91535         * lib/error.c: Correct indentation of cpp directives.
91536
91537 2003-09-10  Bruno Haible  <bruno@clisp.org>
91538
91539         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91540         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91541         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91542         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91543         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91544         <stdlib.h> and <string.h> checks.
91545         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91546         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91547
91548 2003-09-10  Bruno Haible  <bruno@clisp.org>
91549
91550         * lib/strcspn.c: Include <string.h> unconditionally.
91551         * lib/strpbrk.c: Include <string.h> unconditionally.
91552         * lib/strstr.c: Include <string.h> unconditionally.
91553         * lib/unicodeio.c: Include <string.h> unconditionally.
91554         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91555         * lib/unsetenv.c: Likewise.
91556         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91557         * lib/yesno.c: Include <stdlib.h> unconditionally.
91558         (rpmatch): Add prototype.
91559
91560 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91561
91562         More patches to assume C89 or better.
91563         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91564         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91565         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91566         or for string.h.
91567         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91568         stdlib.h.
91569         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91570         C headers.
91571         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91572         string.h.
91573         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91574         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91575         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91576         or for string.h.
91577         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91578         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91579         C headers.
91580         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91581         memcpy.
91582         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91583         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91584         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91585         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91586         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91587         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91588         string.h, free.
91589         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91590         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91591         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91592         C headers, or for string.h.
91593         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91594         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91595         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91596         headers, memory.h, stdlib.h, string.h, strings.h.
91597         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91598         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91599         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91600         strchr.
91601         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91602         headers, memory.h, string.h.
91603         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91604         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91605         free.
91606         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91607         headers.
91608         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91609         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91610         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91611         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91612         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91613
91614 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91615
91616         More K&R removal.
91617
91618         * lib/acosl.c (main): Use a prototype.
91619         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91620         tanl.c: Likewise.
91621
91622         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91623
91624         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91625         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91626         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91627         with a prototype.
91628         * lib/getopt.c (const): Remove macro.
91629         Include <string.h> unconditionally.
91630         (my_index): Remove; all uses changed to strchr.
91631         (strlen): Remove decl.
91632         (exchange): Remove forward decl; no longer needed.
91633         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91634         Define with prototype.
91635         * lib/getopt1.c (const): Remove macro.
91636         (getopt_long, getopt_long_only, main): Define with prototype.
91637
91638         * lib/getugroups.c: Include <string.h> unconditionally.
91639
91640         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91641         (getusershell, setusershell, endusershell, readname, main):
91642         Define with prototypes.
91643
91644         * lib/group-member.c: Include group-member.h first.
91645         Include <stdlib.h> unconditionally.
91646
91647         * lib/hard-locale.c: Include hard-locale.h first.
91648         Include <stdlib.h>, <string.h> unconditionally.
91649
91650         * lib/hash.c (free, malloc): Remove decls.
91651         Include <stdlib.h> unconditionally.
91652
91653         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91654         (getenv): Do not declare.
91655
91656         * lib/idcache.c: Include <string.h> unconditionally.
91657
91658         * lib/long-options.c: Include long-options.h first, to test interface.
91659         Include <stdlib.h> unconditionally.
91660
91661         * lib/makepath.c: Include makepath.h first, to test interface.
91662         Include <stdlib.h> and <string.h> unconditionally.
91663
91664         * lib/linebuffer.c: Include <stdlib.h>.
91665         (free): Remove decl.
91666
91667         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91668         stddef.h. rpl_malloc returns void *, not char *.
91669         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91670         prototype.
91671
91672         * lib/md5.h: Include <limits.h> unconditionally.
91673         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91674         (__P): Remove; all uses removed.
91675         * lib/md5.c: Include "md5.h" first.
91676         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91677         md5_buffer, md5_process_bytes, md5_process_block):
91678         Define with prototypes.
91679         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91680         * lib/sha.c: Include "sha.h" first.
91681         Include <stdlib.h>, <string.h> unconditionally.
91682
91683         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91684         * lib/memcmp.c (__ptr_t): Likewise.
91685         * lib/memrchr.c (__ptr_t): Likewise.
91686         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91687         Include <string.h> unconditionally.
91688         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91689         * lib/memchr.c: Include <stdlib.h> unconditionally.
91690         * lib/memchr.c (LONG_MAX): Remove.
91691         * lib/memrchr.c (LONG_MAX): Likewise.
91692         * lib/memchr.c (__memchr): Define via a prototype.
91693         * lib/memrchr.c (__memrchr): Likewise.
91694         * lib/memcmp.c (__P): Remove, and remove all uses.
91695         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91696         Remove forward decls; no longer needed.
91697         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91698         Use types required by C89 in prototype.
91699
91700         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91701         * lib/savedir.c: Likewise.
91702         * lib/mkdir.c (free): Remove decl.
91703         * lib/rmdir.c (rmdir): Define with a prototype.
91704         * lib/savedir.c: Include savedir.h first, to test interface.
91705
91706         * lib/mktime.c (STDC_HEADERS): Remove.
91707         Include <stdlib.h>, <string.h> unconditionally.
91708
91709         * lib/modechange.c: Include <stdlib.h> unconditionally.
91710         (malloc): Remove decl.
91711
91712         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91713         (free): Remove decl.
91714
91715         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91716         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91717         (This type really should be intptr_t, but that's a C99ism.)
91718         (_obstack_memcpy): Remove: all uses changed to memcpy.
91719         Include <string.h> unconditionally.
91720         (struct obstack): Assume __STDC__ for types of members
91721         chunkfun, freefun, extra_arg.
91722         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91723         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91724         obstack_begin, obstack_specify_allocation,
91725         obstack_specify_allocation_with_arg, obstack_chunkfun,
91726         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91727         Remove unprototyped decls and the macros that use them.
91728         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91729         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91730         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91731         (defined __STDC__ && __STDC__)]:
91732         Remove nonprototyped code.
91733         Include <stdlib.h> unconditionally.
91734         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91735         _obstack_allocated_p, _obstack_free, obstack_free,
91736         _obstack_memory_used, print_and_abort):
91737         Define using prototypes.
91738         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91739         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91740         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91741         obstack_next_free, obstack_object_size, obstack_room) [0]:
91742         Remove unused, unprototyped code.
91743
91744         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91745
91746         * lib/physmem.c (physmem_total, physmem_available, main): Define
91747         with prototypes.
91748
91749         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91750         (main): Define with a prototype.
91751
91752         * lib/posixver.c (getenv): Remove decl.
91753
91754         * lib/putenv.c (malloc): Returns void *, not char *.
91755         Include <string.h> unconditionally.
91756         (strchr, memcpy, NULL): Do not define.
91757
91758         * lib/readtokens.c: Include readtokens.h first, to test interface.
91759         Include <stdlib.h>, <string.h> unconditionally.
91760         (init_tokenbuffer): Define with a prototype.
91761
91762         * lib/regex.c (PARAMS): Remove.  All uses removed.
91763         All uses of _RE_ARGS removed, too.
91764         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91765         unconditionally.
91766         (bzero): Assume memset exists.
91767         (memcmp, memcpy, NULL): Remove.
91768         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
91769         char, or assignments to local vars of type signed char.
91770         (init_syntax_once, PREFIX(extract_number_and_incr),
91771         PREFIX(print_partial_compiled_pattern),
91772         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
91773         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
91774         PREFIX(regex_grow_registers), PREFIX(regex_compile),
91775         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
91776         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
91777         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
91778         wcs_compile_range, byte_compile_range, truncate_wchar,
91779         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
91780         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
91781         count_mbs_length, wcs_re_match_2_internal,
91782         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
91783         PREFIX(alt_match_null_string_p),
91784         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
91785         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
91786         regfree, PREFIX(extract_number)): Define with prototype.  Remove
91787         now-unnecessary declaration, if any.
91788         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
91789         regcomp, regexec):
91790         Remove now-unnecessary casts among pointer types.
91791         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
91792
91793         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
91794         (free): Remove decl.
91795
91796         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
91797
91798         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
91799         (free): Remove decl.
91800
91801         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
91802         * lib/xgetcwd.c: Likewise.
91803
91804         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
91805         (free): Remove decl.
91806
91807         * lib/strchrnul.c (strchrnul): Define with a prototype.
91808         Fix bug: c_in was not converted to char before searching.
91809
91810         The following changes are not K&R related:
91811
91812         * lib/group-member.h: Include <sys/types.h>, so that this file is
91813         self-contained.
91814         * lib/makepath.h: Likewise.
91815
91816         * lib/getusershell.c (readname, default_index, line_size, readname):
91817         Use size_t, not int, for sizes.
91818         (readname): If the size overflows, report an error instead of
91819         looping forever.
91820
91821 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91822
91823         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
91824         libc.
91825
91826 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91827
91828         * README: New section: portability guidelines.
91829
91830 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91831
91832         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
91833         C89 spec.
91834
91835 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91836
91837         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
91838
91839 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91840
91841         Assume C89 or better; remove K&R cruft.
91842         A few of these changes were first proposed by Derek Robert Price
91843         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
91844
91845         * lib/addext.c: Include <string.h> unconditionally.
91846         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
91847         Don't declare getenv or malloc.
91848
91849         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
91850         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
91851         (NULL): Remove.
91852         (find_stack_direction, alloca): Use prototypes.
91853
91854         * lib/atexit.c (atexit): Define using a prototype.
91855
91856         * lib/basename.c, dirname.c, stripslash.c:
91857         Include <string.h> unconditionally.
91858
91859         * lib/bcopy.c: Include <stddef.h>.
91860         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
91861
91862         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
91863
91864         * lib/error.h (error, error_at_line, error_print_progname)
91865         [! (defined (__STDC__) && __STDC__)]: Remove decls.
91866         * lib/error.c: Include error.h first, to check interface.
91867         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91868         (VA_START): Remove; all uses changeed to va_start.
91869         (exit, strerror): Remove decls.
91870         (error_print_progname): Prototype uncondionally.
91871         Don't include <errno.h>; no longer needed.
91872         (private_strerror): Remove.
91873         (error_tail): Always define.
91874         (error, error_at_line): Assume C89 or better; always use prototypes.
91875         * lib/fatal.c: Include "fatal.h" first, to test interface.
91876         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91877         (VA_START): Remove; all uses changed to va_start.
91878         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
91879         this case.
91880         (exit): Remove decl.
91881         (fatal): Prototype unconditionally.  Assume va_start works.
91882         Abort at end, to pacify gcc.
91883
91884         * lib/euidaccess.c (main): Define with a prototype.
91885
91886         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
91887
91888         * lib/exitfail.c: Include <stdlib.h> unconditionally.
91889
91890         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
91891         prototypes.
91892         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
91893         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
91894         (getenv): Remove decl.
91895         (fnmatch): Define using a prototype.
91896         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
91897         (FCT): Define using a prototype.
91898
91899         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
91900
91901         * lib/gethostname.c: Include <stddef.h>.
91902         (gethostname): Define with prototype.  Length is size_t, not int.
91903
91904 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91905
91906         Assume C89 or better; remove K&R cruft.
91907         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
91908         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
91909         string.h, getenv, malloc.
91910         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
91911         headers.
91912         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
91913         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
91914         do not check for strerror.
91915         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
91916         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
91917         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
91918         do not check for doprnt or vprintf.
91919         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
91920         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
91921
91922 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91923
91924         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
91925         getversion.c should have been removed then, but was accidentally
91926         preserved.
91927
91928         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
91929         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
91930
91931 2003-09-08  Karl Berry  <karl@gnu.org>
91932
91933         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91934                 config, forget about prep.
91935
91936         * config/depcomp, missing: update from automake.
91937
91938 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91939
91940         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
91941         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91942
91943 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91944
91945         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
91946         copy_tm_result.  Bug reported by Simon Josefsson in
91947         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91948
91949 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91950
91951         * m4/time_r.m4: New file.
91952         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
91953         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
91954         is. Check for timegm declaration.
91955         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
91956         Do not check for gmtime_r.
91957         Replace mktime if __mktime_internal does not exist and if mktime
91958         hasn't been replaced already.
91959
91960 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91961
91962         * lib/time_r.c, lib/time_r.h: New files.
91963
91964         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
91965         __localtime_r.
91966         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
91967         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
91968
91969         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
91970         __gmtime_r.
91971         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
91972         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
91973         Include <time_r.h>.
91974
91975         * lib/timegm.c: Switch to glibc implementation, with the following
91976         changes:
91977         [defined HAVE_CONFIG_H]: Include <config.h>.
91978         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
91979         (__mktime_internal) [!defined _LIBC]: New decl.
91980         (__gmtime_r) [!defined _LIBC]: New macro and function.
91981         (timegm): Use a prototype, since gnulib assumes C89.
91982         Do not bother declaring tmp to be const, as it's not really usefu.
91983         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
91984         (timegm): Declare only if HAVE_DECL_TIMEGM.
91985
91986 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91987
91988         * MODULES.html.sh (func_all_modules): Add time_r.
91989         * modules/time_r: New file.
91990         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
91991         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
91992
91993 2003-09-03  Paul Eggert  <eggert@twinsun.com>
91994
91995         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
91996         Bug reported by Lute Kamstra in
91997         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
91998
91999         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92000         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92001         course with correspondingly smaller numbers for tomorrow and
92002         yesterday.  From Tadayoshi Funaba.  Originally installed into
92003         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92004         coreutils merge?).
92005
92006 2003-08-31  Simon Josefsson  <jas@extundo.com>
92007
92008         * modules/timegm: New file.
92009         * MODULES.html.sh (func_all_modules): Add timegm.
92010
92011 2003-08-31  Simon Josefsson  <jas@extundo.com>
92012
92013         * m4/timegm.m4: New file.
92014
92015 2003-08-31  Simon Josefsson  <jas@extundo.com>
92016
92017         * lib/timegm.h: New file.
92018         * lib/timegm.c: New file.  Based on
92019         wget-1.8.2/src/http.c:mktime_from_utc.
92020
92021 2003-08-31  Karl Berry  <karl@gnu.org>
92022
92023         * lib/argp.h: update from libc.
92024
92025 2003-08-28  Bruno Haible  <bruno@clisp.org>
92026
92027         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92028         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92029         followed by '#define fnmatch fnmatch_posix' gives an error.
92030
92031 2003-08-28  Bruno Haible  <bruno@clisp.org>
92032
92033         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92034         warning on QNX, which defines O_BINARY to 000000.
92035
92036 2003-08-27  Jim Meyering  <jim@meyering.net>
92037
92038         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92039         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92040         would fail after 32.  Reported by Danny Levinson.  Details here:
92041         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92042
92043 2003-08-24  Bruno Haible  <bruno@clisp.org>
92044
92045         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92046         MSVC7 <stdio.h> is included later.
92047
92048 2003-08-22  Simon Josefsson  <jas@extundo.com>
92049
92050         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92051
92052 2003-08-20  Karl Berry  <karl@gnu.org>
92053
92054         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92055
92056 2003-08-20  Bruno Haible  <bruno@clisp.org>
92057
92058         * modules/progname: New file.
92059         * MODULES.html.sh (func_all_modules): Add progname.
92060
92061 2003-08-20  Bruno Haible  <bruno@clisp.org>
92062
92063         * lib/progname.h: New file, from GNU gettext.
92064         * lib/progname.c: New file, from GNU gettext.
92065         * lib/progreloc.c: New file, from GNU gettext.
92066
92067 2003-08-19  Jim Meyering  <jim@meyering.net>
92068
92069         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92070         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92071
92072 2003-08-19  Bruno Haible  <bruno@clisp.org>
92073
92074         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92075         more.
92076
92077 2003-08-19  Bruno Haible  <bruno@clisp.org>
92078
92079         * lib/xstrdup.c: Assume <string.h> exists.
92080
92081 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92082
92083         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92084         in makefile rules.
92085
92086 2003-08-18  Jim Meyering  <jim@meyering.net>
92087
92088         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92089         * m4/lib-ld.m4: Likewise.
92090
92091 2003-08-18  Jim Meyering  <jim@meyering.net>
92092
92093         * lib/setenv.h: Indent nested cpp directive.
92094         * lib/vasnprintf.c: Remove trailing blanks.
92095
92096 2003-08-17  Simon Josefsson  <jas@extundo.com>
92097
92098         * modules/xstrndup: New file.
92099         * MODULES.html.sh (func_all_modules): Add xstrndup.
92100
92101 2003-08-17  Simon Josefsson  <jas@extundo.com>
92102
92103         * modules/argp: Fix autoconf macro name. Add more dependencies.
92104
92105 2003-08-17  Simon Josefsson  <jas@extundo.com>
92106
92107         * m4/xstrndup.m4: New file.
92108
92109 2003-08-17  Simon Josefsson  <jas@extundo.com>
92110
92111         * m4/argp.m4: New file.
92112
92113 2003-08-17  Simon Josefsson  <jas@extundo.com>
92114             Bruno Haible  <bruno@clisp.org>
92115
92116         * lib/xstrndup.h: New file.
92117         * lib/xstrndup.c: New file.
92118
92119 2003-08-17  Bruno Haible  <bruno@clisp.org>
92120
92121         * modules/strndup (Files, Include): Add lib/strndup.h.
92122
92123 2003-08-17  Bruno Haible  <bruno@clisp.org>
92124
92125         * modules/euidaccess (Files): Add lib/euidaccess.h.
92126
92127 2003-08-17  Bruno Haible  <bruno@clisp.org>
92128
92129         * lib/strndup.h: New file.
92130
92131 2003-08-17  Bruno Haible  <bruno@clisp.org>
92132
92133         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92134         like AC_GNU_SOURCE.
92135         * modules/extensions (configure.ac): Comment out the invocation of
92136         gl_USE_SYSTEM_EXTENSIONS.
92137
92138 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92139
92140         Merges from coreutils, etc.
92141         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92142         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92143         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92144         fixing a typo.
92145         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92146         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92147
92148 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92149
92150         Document merge from coreutils.
92151         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92152         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92153         * modules/utime: Add m4/utimes-null.m4.
92154
92155 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92156
92157         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92158         space, undoing this 2003-08-12 change:
92159         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92160
92161 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92162
92163         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92164         strtoul.c from libc, undoing this 2003-08-12 change:
92165         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92166
92167 2003-08-16  Jim Meyering  <jim@meyering.net>
92168
92169         Merges from coreutils.
92170         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92171         prefix.  Adjust cache variables similarly.  Create 500 rather than
92172         just 300 files, to exercise bug on Darwin6.5, too.
92173         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92174         $missing_dir.
92175         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92176         AM_SYS_POSIX_TERMIOS.
92177         Reported by mkc@mathdogs.com.
92178         Also change use of $am_cv_sys_posix_termios
92179         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92180         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92181         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92182         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92183         in /proc/mounts until it finds one with matching device number.  This
92184         is unnecessary when the FILE argument *is* a mount point.  No stat call
92185         is necessary in that case.  So, disable the statvfs-testing code on
92186         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92187         as RedHat bug# 84846.
92188         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92189         to 1MB, so as not to render systems with no stack size limit (e.g.,
92190         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92191         Include <unistd.h>.  On some systems,
92192         it is required for the definition of _SC_PAGESIZE.
92193
92194 2003-08-16  Jim Meyering  <jim@meyering.net>
92195
92196         Merge from coreutils.
92197         * lib/xstrtoimax.c: #else #if -> #elif.
92198         * lib/xstrtoumax.c: Likewise.
92199
92200 2003-08-16  Jim Meyering  <jim@meyering.net>
92201
92202         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92203         * m4/utimes.m4: Removed.
92204         * m4/utimes-null.m4: Renamed from utimes.m4.
92205
92206         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92207         to 1MB, so as not to render systems with no stack size limit (e.g.,
92208         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92209         Include <unistd.h>.  On some systems,
92210         it is required for the definition of _SC_PAGESIZE.
92211
92212 2003-08-16  Jim Meyering  <jim@meyering.net>
92213         and Paul Eggert  <eggert@cs.ucla.edu>
92214
92215         Merges from coreutils, etc.
92216
92217         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92218         using the latest version from cvs.  This avoids problems with #line
92219         directives using a vendor (Sun) compiler.
92220         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92221         Don't set GETGROUPS_LIB here; now it's
92222         done via getgroups.m4's wrapper function.
92223         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92224         rather than just in sh-util/configure.in, so that the
92225         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92226         same.
92227         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92228         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92229         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92230         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92231         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92232         Remove code that is now done by the newly-required macros.
92233         Append $(EXEEXT) to DF_PROG.
92234         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92235         Do not invoke or require the following here,
92236         since prereq.m4 or some gnulib .m4 now does this for us:
92237         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92238         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92239         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92240         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92241         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92242         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92243         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92244         AC_FUNC_OBSTACK.
92245         Do not replace the following functions, as this is now the job
92246         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92247         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92248         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92249         atexit getpass, strdup, getpagesize.
92250         Replace 'raise'.
92251         Do not check for the following functions, as this is now the job
92252         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92253         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92254         setregid.
92255         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92256         Check for sys/sysctl.h.
92257         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92258         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92259         of checking for ssize_t ourselves.
92260
92261         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92262         Require every macro that gnulib/modules/* suggests for us.
92263         (jm_PREREQ_ADDEXT): New macro.
92264         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92265         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92266
92267         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92268         (gl_PHYSMEM): Use it.
92269         Also check for `table' function.
92270         Check for new headers and functions.
92271         Add check for sys/sysmp.h.
92272         With suggestions from Kaveh Ghazi.
92273         Ignore headers that are present but cannot be compiled.  This
92274         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92275         C 5.4.
92276
92277 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92278
92279         Document merge from coreutils.
92280         * modules/userspec: Depend on posixver.
92281         * modules/strftime: Depend on tzset.
92282
92283 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92284
92285         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92286         rather than tab, after '#' in shell-script copyright notices.
92287         Suggested by Bruno Haible.
92288
92289 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92290
92291         * config/srclist-update: Use three spaces, rather than tab, after '#'
92292         in shell-script copyright notices.  Suggested by Bruno Haible.
92293         Remove unnecessary parenthesization in regular expression.
92294
92295 2003-08-15  Jim Meyering  <jim@meyering.net>
92296
92297         Merge from coreutils.
92298         * lib/xgethostname.c: Include <stdlib.h>.
92299         (xghostname): Don't exit for anything other than memory-related
92300         failure; just return NULL.
92301         * lib/userspec.c: Include "posixver.h".
92302         (parse_user_spec): Accept `.' as a separator only
92303         in pre-POSIX-200112 mode.
92304         * lib/strtoimax.c: Use #elif rather than #else #if.
92305         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92306         Remove function, now that we can rely on a working tzset function.
92307         [!_LIBC]: Ensure that the required autoconf test has been run.
92308         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92309         Use underlying_strftime for %r.
92310         * lib/sha.c: Merge in some clean-up and optimization changes from
92311         glibc.
92312         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92313         Ensure that it is a multiple of 64.
92314         Rearrange loop exit tests so as to avoid performing an
92315         additional fread after encountering an error or EOF.
92316         * lib/realloc.c: Update copyright date.
92317
92318 2003-08-15  Jim Meyering  <jim@meyering.net>
92319         and Paul Eggert  <eggert@twinsun.com>
92320
92321         Merge from coreutils.
92322         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92323         member but strut utmpx does not.  Needed for AIX 4.3.3.
92324         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92325
92326 2003-08-15  Jim Meyering  <jim@meyering.net>
92327         and Paul Eggert  <eggert@cs.ucla.edu>
92328
92329         Merges from coreutils, etc.
92330         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92331         Require gl_FUNC_TZSET_CLOBBER.
92332         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92333         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92334         members.
92335
92336 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92337
92338         Help the merge from coreutils.
92339         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92340         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92341         * m4/tzset.m4: Use it too.
92342
92343 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92344
92345         * modules/tzset: New file.
92346
92347 2003-08-14  Jim Meyering  <jim@meyering.net>
92348
92349         Merges from coreutils.
92350         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92351         variable names, rather than @FNMATCH_H@.
92352         * modules/alloca: Likewise for $(ALLOCA_H).
92353
92354         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92355         the three copies of the literal target, `fnmatch.h'.
92356         * modules/alloca (alloca.h): Likewise.
92357
92358 2003-08-14  Jim Meyering  <jim@meyering.net>
92359
92360         Merge from coreutils.
92361         * m4/tzset.m4: New file.
92362         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92363         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92364         otherwise, AIX 5.1 systems would end up using the latter.
92365         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92366         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92367         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92368         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92369
92370 2003-08-14  Jim Meyering  <jim@meyering.net>
92371
92372         Merge from coreutils.
92373         * lib/obstack.h: Whitespace changes.
92374         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92375         and xcalloc return values.
92376         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92377         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92378         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92379         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92380         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92381         error from mntctl.
92382         Use mntctl's return value to drive the entry-processing loop, since
92383         we can't rely on the value of the vmt_length member in the last
92384         entry.  On some systems doing so could result in exhausting
92385         virtual memory.  Based in part on a patch from Mike Jetzer.
92386
92387 2003-08-14  Jim Meyering  <jim@meyering.net>
92388         and Paul Eggert  <eggert@twinsun.com>
92389
92390         Merges from coreutils, plus other fixes.
92391         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92392         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92393         for credits and details.  Thanks to Kaveh Ghazi for helping
92394         to keep these files in sync.
92395         (ARRAY_SIZE): Define it.
92396         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92397         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92398         (memcasecmp): Don't assume size_t fits in unsigned int.
92399         Remove casts and duplicate code.
92400         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92401         (memcpy): Remove definition.
92402         Merge in some clean-up and optimization changes from glibc.
92403         [BLOCKSIZE]: Move definition to top of file.
92404         Ensure that it is a multiple of 64.
92405         Rearrange loop exit tests so as to avoid performing an
92406         additional fread after encountering an error or EOF.
92407         * lib/md5.h (md5_uintptr): Define.
92408         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92409         return to the initial working directory.  Preserve errno
92410         for caller.
92411         * lib/idcache.c: Include "xalloc.h".
92412         (xmalloc, xrealloc): Remove decls.
92413         (getuser): Remove casts no longer required in C89.
92414         * lib/human.c: Include stdio.h, for sprintf.
92415         * lib/group-member.c: Include "xalloc.h".
92416         (xmalloc, xrealloc): Remove decls.
92417         (get_group_info): Remove casts no longer required in C89.
92418         * lib/getusershell.c (readname): Remove casts no longer required in
92419         C89.
92420         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92421         * lib/getline.c: Whitespace fix, from coreutils.
92422
92423 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92424
92425         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92426         Check for isascii.
92427
92428         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92429         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92430         Undo previous (whitespace-only) change.
92431
92432 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92433
92434         * lib/exclude.c: Include <ctype.h>
92435         (IN_CTYPE_DOMAIN): New macro.
92436         (is_space): New fn.
92437         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92438         and empty lines.
92439
92440         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92441         Undo previous (whitespace-only) change.
92442
92443 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92444
92445         * config/srclist-update: Change update back to the old behavior,
92446         leaving whitespace alone.  Use one 'sed' command rather than a
92447         pipeline.
92448         (fixlicense): Now a variable, not a function.
92449         (remove_trailing_blanks): Remove.
92450         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92451         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92452         Undo previous (whitespace-only) change.
92453
92454 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92455
92456         Merge from coreutils.
92457         * modules/euidaccess: Add lib_SOURCES, include for new
92458         file euidaccess.h
92459
92460 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92461
92462         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92463         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92464         Normalize leading white space and remove trailing white space.
92465
92466         Merge from coreutils
92467         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92468
92469         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92470         0.12.1.  These files are now being upgraded automatically by
92471         ../config/srclist-update.
92472
92473 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92474
92475         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92476         Normalize leading white space and remove trailing white space.
92477         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92478         notice, as per ../config/srclist-update.
92479
92480         Merge from coreutils.
92481         * lib/euidaccess.h: New file.
92482         * lib/euidaccess.c: Include it.
92483         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92484         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92485         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92486
92487 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92488
92489         * config/srclist-update: Add copyright notice.
92490         (remove_id_lines, remove_trailing_blanks): New constants.
92491         (fixfile): Use them to normalize spacing a bit in copied files.
92492         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92493         Normalize leading white space and remove trailing white space.
92494
92495         * config/texinfo.tex: Sync with texinfo.
92496
92497         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92498         strtoul.c from libc, to merge coreutils whitespace changes.
92499
92500         * config/srclist.txt: Get the following m4 files from gettext:
92501         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92502         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92503         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92504         wint_t.m4.
92505
92506 2003-08-12  Karl Berry  <karl@gnu.org>
92507
92508         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92509         been made.
92510
92511 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92512
92513         * modules/gnu-source, m4/gnu-source.m4:
92514         Remove; we're assuming Autoconf 2.54 or later now.
92515         Suggested by Bruno Haible.
92516         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92517
92518 2003-08-11  Bruno Haible  <bruno@clisp.org>
92519
92520         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92521
92522 2003-08-11  Bruno Haible  <bruno@clisp.org>
92523
92524         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92525         (vasnprintf): Use it instead of wcslen.
92526
92527 2003-08-11  Bruno Haible  <bruno@clisp.org>
92528
92529         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92530         value to ensure that _Bool promotes to int. Use #define for _Bool when
92531         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92532
92533 2003-08-10  Karl Berry  <karl@gnu.org>
92534
92535         * lib/regex.h: update from libc (whitespace fix).
92536
92537 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92538
92539         Merge some files from coreutils.  These changes were
92540         originally made by Jim Meyering.
92541         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92542         many older Unixes require this.
92543         * lib/alloca.c (alloca): Remove cast to argument of free;
92544         no longer needed in C89.
92545         * lib/alloca_.h, regex.h: Fix white space to match
92546         what GNU indent does.
92547
92548 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92549
92550         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92551         apparently Emacs's Unicode mode got confused before my 2003-08-05
92552         checkin.
92553
92554 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92555
92556         * m4/extensions.m4: New file.
92557         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92558         Require gl_USE_SYSTEM_EXTENSIONS.
92559         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92560         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92561
92562 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92563
92564         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92565         * modules/extensions, modules/gnu-source: New files.
92566         * modules/timespec, modules/unlocked-io: Depend on extensions.
92567
92568 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92569
92570         * modules/restrict: New file.
92571         * MODULES.html.sh (func_all_modules): Add restrict.
92572         * modules/regex: Depend on restrict.
92573
92574 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92575
92576         * m4/restrict.m4: New file.
92577         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92578
92579 2003-08-07  Bruno Haible  <bruno@clisp.org>
92580
92581         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92582         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92583
92584 2003-08-07  Bruno Haible  <bruno@clisp.org>
92585
92586         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92587         makes the module 'getndelim2' compatible with the module 'getline'.
92588
92589 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92590
92591         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92592         byte with "\201" to avoid glitches when editing that source file
92593         with multi-gnome-terminal.
92594
92595 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92596
92597         * lib/bumpalloc.h: Remove.
92598
92599 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92600
92601         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92602         * modules/bumpalloc: Remove.
92603
92604 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92605
92606         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92607         GNU coding style.
92608
92609         Merge from coreutils.
92610         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92611         1. From glibc.
92612         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92613         from Karl Berry, implemented by Jim Meyering.
92614         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92615         from Dmitry V. Levin.
92616         Remove anachronistic cast of xrealloc.
92617         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92618         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92619         type. Otherwise, it wouldn't compile with at least /bin/cc on
92620         ymp-cray-unicos9.0.2.X.
92621         Combine two mostly-identical uses of alloca into one.
92622         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92623
92624 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92625
92626         [From Emacs.]
92627
92628         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92629         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92630         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92631         obsolete NLIST_NAME_UNION.
92632         [__GNU__]: Undef BSD and FSCALE.
92633         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92634
92635 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92636
92637         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92638         an enum type, so that it's guaranteed to promote to int.  See:
92639         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92640
92641 2003-08-03  Karl Berry  <karl@gnu.org>
92642
92643         * config/depcomp: update from automake.
92644
92645 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92646
92647         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92648         (strerror): Don't assume that a printable int fits in 14 bytes.
92649
92650 2003-07-31  Bruno Haible  <bruno@clisp.org>
92651
92652         * modules/getpass-gnu: New file.
92653         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92654
92655 2003-07-31  Bruno Haible  <bruno@clisp.org>
92656
92657         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92658
92659 2003-07-24  Karl Berry  <karl@gnu.org>
92660
92661         * config/missing: update from automake.
92662
92663 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92664             Bruno Haible  <bruno@clisp.org>
92665
92666         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92667         * lib/getline.c (getline, getdelim): Likewise.
92668         Remove _GNU_SOURCE define; now it's defined in config.h through
92669         m4/getline.m4.
92670
92671 2003-07-23  Karl Berry  <karl@gnu.org>
92672
92673         * config/config.sub: update from prep.
92674
92675 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92676
92677         * modules/xalloc (Depends-on): Add exitfail.
92678         * modules/xmemcoll: Likewise.
92679
92680 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92681
92682         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92683         over-parenthesization in macros.
92684
92685         Sync with coreutils.
92686
92687         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92688         required by C99.
92689
92690         Use `exit_failure' for xalloc and xmemcoll instead of their own
92691         private exit-failure variables.
92692         * lib/xalloc.h (xalloc_exit_failure): Remove.
92693         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92694         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92695         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92696         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92697         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92698
92699 2003-07-20  Jim Meyering  <jim@meyering.net>
92700
92701         * modules/closeout (Depends-on): Add exitfail.
92702         Suggestion from Bruno Haible.
92703
92704 2003-07-19  Karl Berry  <karl@gnu.org>
92705
92706         * config/config.sub: update from prep.
92707
92708 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92709
92710         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92711         Remove.
92712         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92713         to test that it can stand by itself.  Include "exitfail.h".
92714         Clients should set exit_failure instead.
92715         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92716
92717 2003-07-18  Bruno Haible  <bruno@clisp.org>
92718
92719         * modules/getndelim2: New file.
92720         * modules/getline: Share files with module getndelim2.
92721         * modules/getnline: Depend on getndelim2 instead of sharing files with
92722         it. Add getnline.c to lib_SOURCES.
92723         * MODULES.html.sh (func_all_modules): Add getndelim2.
92724
92725 2003-07-18  Bruno Haible  <bruno@clisp.org>
92726
92727         * m4/getndelim2.m4: New file.
92728         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92729         invoke gl_PREREQ_GETNDELIM2.
92730         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92731         gl_PREREQ_GETNDELIM2.
92732         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92733         gl_GETNDELIM2.
92734
92735 2003-07-18  Bruno Haible  <bruno@clisp.org>
92736
92737         * lib/getndelim2.h: New file.
92738         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92739         getndelim2.h.
92740         (getndelim2): Make non-static. Change return type to ssize_t.
92741         * lib/getline.h: Change argument names.
92742         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92743         * lib/getnline.c: Include getndelim2.h.
92744
92745 2003-07-18  Andreas Schwab  <schwab@suse.de>
92746
92747         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92748
92749 2003-07-17  Karl Berry  <karl@gnu.org>
92750
92751         * config/config.sub: update from prep.
92752
92753 2003-07-17  Bruno Haible  <bruno@clisp.org>
92754
92755         * modules/getnline: New file.
92756         * modules/getline: Add lib/getndelim2.c to source file list.
92757         * MODULES.html.sh (func_all_modules): Add getnline.
92758
92759 2003-07-17  Bruno Haible  <bruno@clisp.org>
92760
92761         * m4/getnline.m4: New file.
92762
92763 2003-07-17  Bruno Haible  <bruno@clisp.org>
92764
92765         * m4/Makefile.am.in: Remove file.
92766         * m4/Makefile.am: Remove file.
92767         * m4/Makefile.in: Remove file.
92768
92769 2003-07-17  Bruno Haible  <bruno@clisp.org>
92770
92771         * lib/getnline.h: New file.
92772         * lib/getnline.c: New file.
92773         * lib/getndelim2.c: New file, extracted from getline.c.
92774         (getndelim2): Renamed from getdelim2, with added nmax argument.
92775         * lib/getline.c: Include getndelim2.c.
92776         (getdelim2): Moved out to getndelim2.c.
92777         (getline, getdelim): Update.
92778
92779 2003-07-17  Bruno Haible  <bruno@clisp.org>
92780
92781         * lib/Makefile.am: Remove file.
92782         * lib/Makefile.in: Remove file.
92783
92784 2003-07-17  Bruno Haible  <bruno@clisp.org>
92785
92786         * configure.in: Remove file.
92787         * Makefile.in: Remove file.
92788
92789 2003-07-17  Bruno Haible  <bruno@clisp.org>
92790
92791         * MODULES.html.sh: Put the </BODY> right before </HTML>.
92792
92793 2003-07-16  Karl Berry  <karl@gnu.org>
92794
92795         * config/srclist-update: was running fixlicense twice, which caused
92796                 texinfo.tex to be nullified for some reason.  Simplify,
92797                 $gplsrc is no longer needed as far as I can see?
92798
92799 2003-07-16  Jim Meyering  <jim@meyering.net>
92800
92801         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
92802
92803 2003-07-15  Paul Eggert  <eggert@twinsun.com>
92804
92805         * config/srclist.txt: Get the following files from gettext-runtime/intl
92806         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
92807         ref-del.sin.  From Bruno Haible.
92808         * config/srclist-update (fixfile): Change grep pattern again, since the
92809         previous fix didn't work (there was another trailing $).  Use
92810         '[$]' to escape the $s.
92811
92812 2003-07-15  Karl Berry  <karl@gnu.org>
92813
92814         * lib/vasnprintf.c: update from gettext.
92815
92816 2003-07-15  Karl Berry  <karl@gnu.org>
92817
92818         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
92819         gets expanded when surrounded by '$'.
92820
92821 2003-07-15  Jim Meyering  <jim@meyering.net>
92822
92823         * modules/save-cwd: Don't depend on error.  From Derek Price.
92824
92825 2003-07-15  Jim Meyering  <jim@meyering.net>
92826
92827         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
92828
92829 2003-07-14  Simon Josefsson  <jas@extundo.com>
92830
92831         * modules/mempcpy: New file.
92832         * MODULES.html.sh (func_all_modules): Add mempcpy.
92833
92834 2003-07-14  Simon Josefsson  <jas@extundo.com>
92835
92836         * m4/mempcpy.m4: New file.
92837
92838 2003-07-14  Simon Josefsson  <jas@extundo.com>
92839
92840         * lib/mempcpy.h: New file.
92841         * lib/mempcpy.c: New file.
92842
92843 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92844
92845         * modules/getdate, modules/posixtm: Depend on mktime.
92846
92847 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92848
92849         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
92850         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
92851         unicodeio.c, unicodeio.h, unlocked-io.h:
92852         Switch from LGPL to GPL.
92853
92854 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92855
92856         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
92857         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
92858         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
92859         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
92860         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
92861         updated automatically by ../config/srclist-update.  This changes
92862         their license from LPGL to GPL.
92863
92864 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92865
92866         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
92867         assumed to refer to the root of the most recent stable gettext version.
92868         * config/srclistvars.sh: Add defaults for eggert.
92869         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
92870         Match "This program" as well as "The program".  This is needed
92871         for gettext.
92872
92873 2003-07-14  Jim Meyering  <jim@meyering.net>
92874
92875         Don't emit diagnostics.  Let callers do that.
92876         * lib/save-cwd.c: Don't include "error.h".
92877         (save_cwd): Don't call error.  Ensure that errno is valid
92878         when returning nonzero.
92879
92880         * lib/save-cwd.h (restore_cwd): Update prototype.
92881         * lib/save-cwd.c (restore_cwd): Remove two parameters.
92882         Simplify.  Don't call error upon failure.  Let callers do that.
92883         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
92884         when auditing is enabled.  But don't bother updating the #if.
92885
92886 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
92887
92888         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
92889         it breaks C++ compilation.
92890         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
92891
92892 2003-07-10  Simon Josefsson  <jas@extundo.com>
92893
92894         * modules/strchrnul (Makefile.am): Add strchrnul.h.
92895
92896 2003-07-10  Jim Meyering  <jim@meyering.net>
92897
92898         * m4/clock_time.m4: Remove trailing blank.
92899         * m4/intmax_t.m4: Likewise.
92900
92901 2003-07-10  Jim Meyering  <jim@meyering.net>
92902
92903         * lib/vasnprintf.c: Remove trailing blanks.
92904         Make cpp indentation consistent.
92905
92906 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92907
92908         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
92909         posixver.c, strftime.c, strnlen.c, strverscmp.c:
92910         Switch from LGPL to GPL.
92911
92912 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92913
92914         * config/srclist.txt: Sort sublists.  Add
92915         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
92916         that differ from gnulib for one reason or another; we'd like this list
92917         to be smaller but for now let's document what we have.
92918
92919 2003-07-08  Paul Eggert  <eggert@twinsun.com>
92920
92921         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
92922         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
92923         and sweeter "eval x=$x".
92924         * config/srclist.txt: Get lib/argp* from glibc.
92925
92926 2003-07-07  Paul Eggert  <eggert@twinsun.com>
92927
92928         * lib/mktime.c: Fix some boundary cases and remove need for floating
92929         point.
92930
92931         Issue a compile-time diagnostic if time_t is floating point, or if
92932         two's complement arithmetic is not in effect, or if arithmetic
92933         right shift does not propagate the sign.  These assumptions were
92934         all in the original code but they weren't checked.
92935
92936         (TIME_T_MIDPOINT, verify): New macros.
92937         (__isleap): Remove; it has integer overflow problems.
92938         (leapyear): New function, without those problems.
92939         (ydhms_tm_diff): Remove; splitting into two parts.
92940         (ydhms_diff): New function, containing the arithmetic part of
92941         the old ydhms_tm_diff function.  Issue a compile-time
92942         diagnostic if we are not using C99 integer division.
92943         Avoid casts when possible.
92944         (guess_time_tm): New function, containing the checking part of
92945         the old ydhms_tm_diff function.  Return the new value, rather than
92946         the difference between it and the old.  Accept a new argument T
92947         so that *T specifies the old value.  Check for overflow in the result.
92948
92949         (__mktime_internal): Use a time_t offset, not a long int offset.
92950         This undoes the 2003-06-04 change, which is no longer needed now
92951         that we have better overflow checking.
92952         (localtime_offset): Likewise.
92953
92954         (__mktime_internal): Avoid harmful overflow on hosts where time_t
92955         and long are 64-bit but int is only 32-bit.
92956         (ydhms_diff): Use long int to store year1 and yday1.
92957         Issue a compile-time diagnostic if long int is not wide enough.
92958
92959         (__mktime_internal): Use long int to store adjusted year and yday.
92960         Use plain C rather than preprocessor commands, if that doesn't
92961         affect efficiency.
92962         Check for overflow (and try to repair) after each probe
92963         rather than checking only at the very end.  This avoids some bugs
92964         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
92965         does not equal GMT offset at maximum time).
92966         Use integer to check for overflow rather than floating point; this
92967         is more portable to non-IEEE hosts, and is a tad faster.
92968         When we detect that we are oscillating between two values,
92969         don't check whether tm_isdst has the requested value, since
92970         we already know the answer.  When tm_isdst has the wrong value,
92971         use a different heuristic to find the right one, based on the
92972         extreme values actually observed in practice in tz2003a,
92973         rather than the (overly optimistic) "previous 3 calendar quarters".
92974
92975         (not_equal_tm, print_tm, check_result): Use "const T" rather than
92976         "T const" to accommodate glibc style.
92977         (check_result): Use less-confusing report format.  "long" -> "long int.
92978         (main): Likewise.
92979         Don't loop if the iteration overflows time_t.
92980         Allow a negative step in the iteration.
92981
92982 2003-07-06  Karl Berry  <karl@gnu.org>
92983
92984         * config/depcomp: update from automake.
92985         * config/config.sub: update from prep.
92986
92987 2003-07-03  Karl Berry  <karl@gnu.org>
92988
92989         * config/config.guess: update from prep.
92990
92991 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92992
92993         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
92994         xreadlink.c now includes it unconditionally.
92995
92996 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92997
92998         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
92999         having it depend on HAVE_SYS_TYPES_H.
93000
93001 2003-07-01  Bruno Haible  <bruno@clisp.org>
93002
93003         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93004         <sys/types.h> should be sufficient.
93005         Reported by Paul Eggert.
93006
93007 2003-06-26  Karl Berry  <karl@gnu.org>
93008
93009         * config/depcomp: update from automake.
93010
93011 2003-06-26  Bruno Haible  <bruno@clisp.org>
93012
93013         * modules/human: Depend on module stdbool.
93014
93015 2003-06-25  Bruno Haible  <bruno@clisp.org>
93016
93017         * modules/readlink: New file.
93018         * modules/xreadlink: Depend on it.
93019         * MODULES.html.sh (func_all_modules): Add readlink.
93020
93021 2003-06-25  Bruno Haible  <bruno@clisp.org>
93022
93023         * m4/readlink.m4: New file.
93024
93025 2003-06-25  Bruno Haible  <bruno@clisp.org>
93026
93027         * lib/readlink.c: New file.
93028
93029 2003-06-22  Karl Berry  <karl@gnu.org>
93030
93031         * config/srclist.txt: update mkinstalldirs from automake.
93032         * config/mkinstalldirs: update.
93033
93034 2003-06-22  Bruno Haible  <bruno@clisp.org>
93035
93036         Portability to mingw32.
93037         * m4/ssize_t.m4: New file, from GNU gettext.
93038         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93039         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93040
93041 2003-06-22  Bruno Haible  <bruno@clisp.org>
93042
93043         * modules/safe-read: Add m4/ssize_t.m4.
93044         * modules/xreadlink: Add m4/ssize_t.m4.
93045
93046 2003-06-20  Bruno Haible  <bruno@clisp.org>
93047
93048         Assume C89, so PARAMS isn't needed.
93049         * lib/unicodeio.h (PARAMS): Remove.
93050         * lib/unicodeio.c: Don't use PARAMS.
93051
93052 2003-06-18  Karl Berry  <karl@gnu.org>
93053
93054         * config/config.{guess,sub}: update from prep.
93055
93056 2003-06-18  Jim Meyering  <jim@meyering.net>
93057
93058         Merge changes from coreutils.
93059         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93060         Remove explicit declarations of xmalloc and realloc.
93061         Include xalloc.h.
93062         (read_utmp): Remove anachronistic cast of xmalloc.
93063
93064 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93065
93066         Assume C89, so PARAMS isn't needed.
93067         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93068         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93069         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93070         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93071         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93072         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93073         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93074         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93075         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93076         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93077         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93078         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93079         no longer needed. Anyway, config.h should always be included before any
93080         other file.
93081
93082 2003-06-11  Simon Josefsson  <jas@extundo.com>
93083
93084         * modules/sysexits: New file.
93085         * MODULES.html.sh (func_all_modules): Add sysexits.
93086
93087 2003-06-11  Simon Josefsson  <jas@extundo.com>
93088
93089         * lib/sysexit_.h: New file.
93090
93091 2003-06-11  Derek Price  <derek@ximbiot.com>
93092
93093         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93094         necessary.
93095
93096 2003-06-11  Bruno Haible  <bruno@clisp.org>
93097
93098         * m4/sysexits.m4: New file.
93099
93100 2003-06-10  Simon Josefsson  <jas@extundo.com>
93101
93102         * lib/argp.h: New file, from glibc.
93103         * lib/argp-ba.c: New file, from glibc.
93104         * lib/argp-eexst.c: New file, from glibc.
93105         * lib/argp-fmtstream.c: New file, from glibc.
93106         * lib/argp-fmtstream.h: New file, from glibc.
93107         * lib/argp-fs-xinl.c: New file, from glibc.
93108         * lib/argp-help.c: New file, from glibc.
93109         * lib/argp-namefrob.h: New file, from glibc.
93110         * lib/argp-parse.c: New file, from glibc.
93111         * lib/argp-pv.c: New file, from glibc.
93112         * lib/argp-pvh.c: New file, from glibc.
93113         * lib/argp-xinl.c: New file, from glibc.
93114
93115 2003-06-10  Simon Josefsson  <jas@extundo.com>
93116
93117         * modules/strchrnul: New file.
93118
93119 2003-06-10  Simon Josefsson  <jas@extundo.com>
93120
93121         * modules/argp: New file.
93122
93123 2003-06-10  Simon Josefsson  <jas@extundo.com>
93124
93125         * m4/strchrnul.m4: New file.
93126
93127 2003-06-10  Simon Josefsson  <jas@extundo.com>
93128
93129         * lib/strchrnul.h: New file.
93130         * lib/strchrnul.c: New file.
93131
93132 2003-06-10  Bruno Haible  <bruno@clisp.org>
93133
93134         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93135
93136 2003-06-07  Karl Berry  <karl@gnu.org>
93137
93138         * config/config.{guess,sub}: update from prep.
93139
93140 2003-06-07  Jim Meyering  <jim@meyering.net>
93141
93142         * modules/strtod: Use $(...) notation, not @...@ for
93143         AC_REPLACE'd variables.
93144         * modules/localcharset: Likewise.
93145
93146 2003-06-07  Jim Meyering  <jim@meyering.net>
93147
93148         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93149         in place of my name in the copyright comment.
93150         Remove definition and uses of __P.
93151
93152         From coreutils.
93153         * lib/stat.c: Don't declare xmalloc explicitly.
93154         Instead, include "xalloc.h".
93155         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93156         xrealloc, and xcalloc return values.
93157         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93158         Improve comment.
93159         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93160
93161 2003-06-07  Bruno Haible  <bruno@clisp.org>
93162
93163         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93164         avoid AC_CONFIG_LINKS.
93165         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93166         fnmatch.h, to avoid AC_CONFIG_LINKS.
93167         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93168
93169 2003-06-07  Bruno Haible  <bruno@clisp.org>
93170
93171         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93172         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93173         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93174         directory.
93175         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93176         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93177         directory.
93178
93179 2003-06-06  Jim Meyering  <jim@meyering.net>
93180
93181         Merge from coreutils.
93182         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93183         Consolidate declarations and initializations of *_base* locals.
93184
93185         Merge from coreutils.
93186         This avoids a core dump on systems without GNU putenv,
93187         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93188         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93189         (unsetenv): New static function, from GNU libc.
93190         (rpl_putenv): Use it.
93191
93192         * lib/modechange.c: Remove trailing blanks.
93193
93194         Merge from coreutils.
93195         * lib/fsusage.c: Remove declaration of statfs.
93196         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93197
93198         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93199
93200 2003-06-06  Jim Meyering  <jim@meyering.net>
93201
93202         * lib/stdbool_.h: Renamed from stdbool.h.in.
93203
93204 2003-06-06  Jim Meyering  <jim@meyering.net>
93205             Bruno Haible  <bruno@clisp.org>
93206
93207         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93208         Adjust Makefile.am snippet not to redirect directly to target.
93209         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93210
93211 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93212
93213         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93214         mismatch, look in future quarters as well as past.  This fixes a
93215         bug when processing fall-backwards gaps immediately after a long
93216         period of daylight-saving time.
93217
93218         * lib/mktime.c: Assume freestanding C89 or better.
93219         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93220         (__P): Remove; not used.
93221         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93222         (mktime, not_equal_tm, print_tm, check_result,
93223         main): Use prototypes.  Use const * where appropriate.
93224         (main): Fix typo in testing code that uncovered by above changes.
93225         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93226
93227 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93228
93229         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93230         locale.h, localeconv.  This merges changes from coreutils.
93231
93232         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93233         It can be removed after the next Autoconf is released.
93234         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93235         needed.
93236
93237 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93238
93239         * lib/mktime.c: Fix Debian bug 177940
93240         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93241         (localtime_offset): Now long int, not time_t, because we want it
93242         to be guaranteed to be signed.  All uses changed.
93243         (__mktime_internal): If overflow would occur when adding offset,
93244         don't add it.
93245
93246         Merge 'human' changes from coreutils.  Rewrite to support
93247         locale-specific notations like thousands separators.
93248         * lib/human.c: Simplify authorship notice.
93249         Include human.h immediately after config.h.
93250         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93251         <limits.h>: Do not include, since human.h does.
93252         (SIZE_MAX, UINTMAX_MAX): New macros.
93253         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93254         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93255         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93256         (power_letter): Renamed from suffixes.
93257         (generate_suffix_backwards): Remove.
93258         (adjust_value): Now takes int style (because of human.h changes)
93259         and long double value (for greater precision on some platforms).
93260         (group_number): New function.
93261         (human_readable): Use it.  Use integer options, not enum.
93262         Put the options before the sizes in the arg list.
93263         Support all the new options.
93264         The old human_readable function has been removed;
93265         use inttostr.h instead.
93266         (human_readable, default_block_size, humblock):
93267         Use uintmax_t, not int, for block sizes.
93268         (human_readable_inexact, block_size_types): Remove.
93269         (block_size_opts): New constant.
93270         (human_options): Renamed from human_block_size, with new signature
93271         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93272         * lib/human.h: Add copyright and authorship notice.
93273         Include <limits.h> and <stdbool.h> unconditionally.
93274         (PARAMS): Remove.  All uses removed.
93275         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93276         (enum human_inexact_style): Remove tag; now a nameless enum.
93277         (human_floor, human_ceiling, human_round_to_even): Now have
93278         values 2, 0, 1 rather than -1, 1, 0.
93279         (human_group_digits, human_suppress_point_zero, human_autoscale,
93280         human_base_1024, human_SI, human_B): New constants.
93281         (human_readable_inexact, human_block_size): Remove.
93282         (human_readable): Size args are now uintmax_t, not int.
93283         (human_options): New decl.
93284
93285         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93286         unnecessary now that we assume C89 or better.  This change
93287         imported from coreutils.
93288
93289         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93290         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93291         in the 2003-05-30 sync from glibc.
93292
93293         .h files should stand alone, but we shouldn't include <sys/types.h>
93294         if we can get away with just <stddef.h>.
93295
93296         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93297         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93298         rather than <sys/types.h>, as we merely need size_t.
93299         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93300         to get size_t.
93301         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93302         Include <stdio.h>, to get FILE.
93303         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93304         memcasecmp.h has included <stddef.h> and all we need is size_t.
93305         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93306         our interface, instead of including <sys/types.h>
93307
93308 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93309
93310         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93311         now, as glibc mktime is buggy on non-glibc systems.
93312
93313 2003-06-03  Karl Berry  <karl@gnu.org>
93314
93315         * config/config.sub: update from prep.
93316
93317 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93318
93319         [from coreutils]
93320         Fix some minor time-related bugs with POSIX time arguments.
93321         Some valid time stamps were being rejected (notably -1, and
93322         time stamps before 1900 on 64-bit hosts).  And some invalid
93323         time stamps were being accepted, e.g. September 31.
93324
93325         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93326         that we can return (time_t) -1 successfully.
93327         * lib/posixtm.c: Likewise.
93328         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93329         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93330         (t): Remove static var.
93331         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93332         of static var.  All uses changed.
93333         (year): Do not reject years before 1900; they can occur with
93334         64-bit time_t.
93335         (posix_time_parse): Do not check for out-of-range components;
93336         that is now the caller's responsibility, since our checks were
93337         only approximations.
93338         (posixtime): Use mktime to check for out-of-range components,
93339         since it knows them exactly.
93340         If mktime returns (time_t) -1, check whether an error actually occurred
93341         by invoking localtime on -1.
93342         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93343         posixtime failures better.
93344         Improve the test data (in comments only).
93345
93346 2003-06-02  Karl Berry  <karl@gnu.org>
93347
93348         * config/mkinstalldirs (version): new variable.
93349         (--version): new option.
93350         (usage): improve message.
93351
93352 2003-05-30  Karl Berry  <karl@gnu.org>
93353
93354         * lib/mktime.c: update from libc.
93355
93356 2003-05-30  Bruno Haible  <bruno@clisp.org>
93357
93358         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93359         * config/config.rpath: Upgrade to gettext-0.12.1.
93360
93361 2003-05-30  Bruno Haible  <bruno@clisp.org>
93362
93363         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93364         * m4/nls.m4: New file, from gettext-0.12.1.
93365         * m4/po.m4: New file, from gettext-0.12.1.
93366         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93367
93368 2003-05-30  Bruno Haible  <bruno@clisp.org>
93369
93370         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93371         * lib/localcharset.h: Likewise.
93372         * lib/localcharset.c: Likewise.
93373
93374 2003-05-29  Karl Berry  <karl@gnu.org>
93375
93376         * config/config.rpath: update from gettext.
93377
93378 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93379
93380         Assume the headers required for C89 freestanding compilers.
93381         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93382         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93383         * m4/human.m4 (gl_HUMAN): Likewise.
93384         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93385         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93386         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93387         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93388         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93389         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93390
93391 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93392
93393         Assume the headers required for C89 freestanding compilers.
93394         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93395         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93396         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93397         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93398         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93399         define, since <limits.h> is guaranteed to do that.
93400         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93401         * lib/exclude.c: Include <stdbool.h> unconditionally.
93402         * lib/tempname.c: Include <stddef.h> unconditionally.
93403         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93404         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93405         <stddef.h> does that.
93406         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93407         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93408         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93409         needed.
93410         * lib/xstrtol.c: Likewise.
93411         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93412         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93413
93414         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93415         warnings on some platforms.
93416
93417         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93418         arbitrarily.
93419
93420 2003-05-26  Jim Meyering  <jim@meyering.net>
93421
93422         Merge in a change from coreutils:
93423         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93424         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93425         that condition, rather than `-1' which is slightly misleading.
93426         Change the name of the cache variable to have the gl_ prefix.
93427         Prompted by a patch from Richard Dawe for DJGPP.
93428
93429 2003-05-24  Karl Berry  <karl@gnu.org>
93430
93431         * config/config.guess: update from prep.
93432
93433 2003-05-22  Karl Berry  <karl@gnu.org>
93434
93435         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93436
93437 2003-05-20  Karl Berry  <karl@gnu.org>
93438
93439         * config/config.guess: update from prep.
93440
93441 2003-05-18  Karl Berry  <karl@gnu.org>
93442
93443         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93444         might actually be set by the user.
93445
93446         * config/depcomp, install-sh, mdate-sh: update from automake.
93447
93448 2003-05-17  Bruno Haible  <bruno@clisp.org>
93449
93450         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93451         invalid expansion for AC_EGREP_CPP.
93452         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93453         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93454         Suggested by Akim Demaille <akim@epita.fr> in
93455         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93456
93457 2003-05-12  Jim Meyering  <jim@meyering.net>
93458
93459         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93460         the space-padded-by-default conversion specifiers, %e, %k, %l.
93461
93462 2003-05-12  Bruno Haible  <bruno@clisp.org>
93463
93464         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93465         the string is longer than 4 KB.
93466
93467 2003-05-11  Karl Berry  <karl@gnu.org>
93468
93469         * config/config.{guess,sub}: update from prep.
93470
93471 2003-05-09  Bruno Haible  <bruno@clisp.org>
93472
93473         * modules/error: Add m4/strerror_r.m4 to file list.
93474
93475 2003-05-03  Bruno Haible  <bruno@clisp.org>
93476
93477         Upgrade to Unicode-4.0.
93478         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93479         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93480         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93481         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93482         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93483         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93484         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93485         Change width of U+E0100..U+E01EF from 1 to 0.
93486
93487 2003-04-25  Jim Meyering  <jim@meyering.net>
93488
93489         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93490         of type size_t, not int.
93491
93492 2003-04-25  Bruno Haible  <bruno@clisp.org>
93493
93494         * lib/copy-file.c: Include <stddef.h>, for size_t.
93495
93496 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93497
93498         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93499         code which expansion is under static control.  Patch imported from
93500         Akim Demaille's patch to Bison; see
93501         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93502
93503 2003-04-14  Bruno Haible  <bruno@clisp.org>
93504
93505         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93506
93507 2003-04-11  Jim Meyering  <jim@meyering.net>
93508
93509         Merge changes from Coreutils.
93510
93511         2003-03-22  Jim Meyering  <jim@meyering.net>
93512
93513         * lib/strftime.c (widen): Cast alloca return value to proper type.
93514
93515         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93516
93517         From GNU libc.
93518         * lib/strftime.c (my_strftime): Handle very large width
93519         specifications for numeric values correctly.  Improve checks for
93520         overflow.
93521
93522         2003-01-19  Jim Meyering  <jim@meyering.net>
93523
93524         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93525         definitions.
93526         (nl_get_alt_digit) [! defined my_strftime]: Define.
93527         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93528         _nl_get_alt_digit and _nl_get_walt_digit.
93529
93530         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93531         libc. These changes have no effect outside of _LIBC.
93532
93533 2003-04-10  Bruno Haible  <bruno@clisp.org>
93534
93535         * modules/findprog: New file.
93536         * MODULES.html.sh (func_all_modules): Add it.
93537
93538 2003-04-10  Bruno Haible  <bruno@clisp.org>
93539
93540         * m4/findprog.m4: New file.
93541         * m4/eaccess.m4: New file.
93542
93543 2003-04-10  Bruno Haible  <bruno@clisp.org>
93544
93545         * lib/findprog.h: New file, from GNU gettext.
93546         * lib/findprog.c: New file, from GNU gettext.
93547
93548 2003-04-05  Jim Meyering  <jim@meyering.net>
93549
93550         Merge changes from Coreutils.
93551
93552         * lib/exclude.h (PARAMS): Remove definition and uses.
93553         * lib/exclude.c: Remove uses of `PARAMS'.
93554
93555         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93556         Add test-cases for DOS filenames. Declare program_name.
93557         (main): Set up program_name.  Patch by Rich Dawe.
93558
93559         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93560         error from mntctl.
93561         Use mntctl's return value to drive the entry-processing loop, since
93562         we can't rely on the value of the vmt_length member in the last
93563         entry.  On some systems doing so could result in exhausting
93564         virtual memory.  Based in part on a patch from Mike Jetzer.
93565
93566 2003-04-04  Bruno Haible  <bruno@clisp.org>
93567
93568         * modules/linebreak: New file.
93569         * MODULES.html.sh (func_all_modules): Add it.
93570
93571 2003-04-04  Bruno Haible  <bruno@clisp.org>
93572
93573         * m4/linebreak.m4: New file.
93574
93575 2003-04-04  Bruno Haible  <bruno@clisp.org>
93576
93577         * lib/linebreak.h: New file, from GNU gettext.
93578         * lib/linebreak.c: New file, from GNU gettext with slight
93579         modifications.
93580         * lib/lbrkprop.h: New file, from GNU gettext.
93581
93582 2003-04-03  Bruno Haible  <bruno@clisp.org>
93583
93584         * modules/utf8-ucs4: New file.
93585         * modules/utf16-ucs4: New file.
93586         * modules/ucs4-utf8: New file.
93587         * modules/ucs4-utf16: New file.
93588         * MODULES.html.sh (func_all_modules): Add them.
93589
93590 2003-04-03  Bruno Haible  <bruno@clisp.org>
93591
93592         * m4/utf-ucs4.m4: New file.
93593         * m4/ucs4-utf.m4: New file.
93594
93595 2003-04-03  Bruno Haible  <bruno@clisp.org>
93596
93597         * lib/utf8-ucs4.h: New file, from GNU gettext.
93598         * lib/utf16-ucs4.h: New file, from GNU gettext.
93599         * lib/ucs4-utf8.h: New file, from GNU gettext.
93600         * lib/ucs4-utf16.h: New file, from GNU gettext.
93601
93602 2003-04-02  Bruno Haible  <bruno@clisp.org>
93603
93604         * modules/binary-io: New file.
93605         * MODULES.html.sh (func_all_modules): Add it.
93606
93607 2003-04-02  Bruno Haible  <bruno@clisp.org>
93608
93609         * lib/binary-io.h: New file, from GNU gettext.
93610
93611 2003-04-01  Bruno Haible  <bruno@clisp.org>
93612
93613         * modules/pathname: New file.
93614         * MODULES.html.sh (func_all_modules): Add it.
93615
93616 2003-04-01  Bruno Haible  <bruno@clisp.org>
93617
93618         * lib/pathname.h: New file, from GNU gettext.
93619         * lib/concatpath.c: New file, from GNU gettext.
93620
93621 2003-03-30  Bruno Haible  <bruno@clisp.org>
93622
93623         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93624
93625 2003-03-30  Bruno Haible  <bruno@clisp.org>
93626
93627         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93628         function chown() doesn't exist.
93629
93630 2003-03-28  Bruno Haible  <bruno@clisp.org>
93631
93632         * modules/copy-file: New file.
93633         * MODULES.html.sh (func_all_modules): Add it.
93634
93635 2003-03-28  Bruno Haible  <bruno@clisp.org>
93636
93637         * m4/copy-file.m4: New file.
93638
93639 2003-03-28  Bruno Haible  <bruno@clisp.org>
93640
93641         * lib/copy-file.h: New file, from GNU gettext.
93642         * lib/copy-file.c: New file, from GNU gettext.
93643
93644 2003-03-18  Jim Meyering  <jim@meyering.net>
93645
93646         * lib/quote.c (quote_n): Fix typo in comment.
93647
93648 2003-03-18  Bruno Haible  <bruno@clisp.org>
93649
93650         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93651         checking.
93652         * m4/onceonly_2_57.m4: Likewise.
93653
93654 2003-03-17  Bruno Haible  <bruno@clisp.org>
93655
93656         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93657         (m4_quote): Remove macro.
93658         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93659
93660 2003-03-14  Jim Meyering  <jim@meyering.net>
93661
93662         Merge changes from Coreutils.
93663         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93664         to be const, in order to avoid warnings.
93665         (obstack_room): Likewise.
93666         (obstack_empty_p): Likewise.
93667
93668 2003-03-14  Bruno Haible  <bruno@clisp.org>
93669
93670         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93671         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93672
93673 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93674
93675         Merge changes from Bison.
93676         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93677         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93678         when compiling Bison 1.875's `bitset bset = obstack_alloc
93679         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93680         * lib/hash.c: Include <stdbool.h> unconditionally.
93681
93682 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93683
93684         * m4/onceonly.m4 (m4_quote): New macro.
93685         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93686         Quote AC_FOREACH variable-expansions properly.
93687
93688 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93689
93690         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93691
93692 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93693
93694         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93695         Reported by Bruce Becker; see:
93696         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93697
93698 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93699             Bruno Haible  <bruno@clisp.org>
93700
93701         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93702         Reported by John Hughes, see
93703         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93704
93705 2003-02-20  Bruno Haible  <bruno@clisp.org>
93706
93707         * MODULES.html.sh (func_all_modules): Add poll.
93708
93709 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93710
93711         * modules/poll: New file.
93712
93713 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93714
93715         * lib/poll_.h: New file.
93716         * lib/poll.c: New file.
93717
93718 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93719
93720         * m4/poll.m4: New file.
93721
93722 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93723
93724         * modules/mathl: New file.
93725
93726 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93727
93728         * lib/mathl.h: New file.
93729         * lib/acosl.c: New file.
93730         * lib/asinl.c: New file.
93731         * lib/atanl.c: New file.
93732         * lib/ceill.c: New file.
93733         * lib/cosl.c: New file.
93734         * lib/expl.c: New file.
93735         * lib/floorl.c: New file.
93736         * lib/frexpl.c: New file.
93737         * lib/ldexpl.c: New file.
93738         * lib/logl.c: New file.
93739         * lib/sincosl.c: New file.
93740         * lib/sinl.c: New file.
93741         * lib/sqrtl.c: New file.
93742         * lib/tanl.c: New file.
93743         * lib/trigl.c: New file.
93744         * lib/trigl.h: New file.
93745
93746 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93747
93748         * m4/mathl.m4: New file.
93749
93750 2003-02-18  Bruno Haible  <bruno@clisp.org>
93751
93752         * MODULES.html.sh (func_all_modules): Add mathl.
93753
93754 2003-02-17  Bruno Haible  <bruno@clisp.org>
93755
93756         * modules/mkdtemp: New module.
93757         * MODULES.html.sh (func_all_modules): Add it.
93758
93759 2003-02-17  Bruno Haible  <bruno@clisp.org>
93760
93761         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93762
93763 2003-02-17  Bruno Haible  <bruno@clisp.org>
93764
93765         * lib/mkdtemp.h: New file, from GNU gettext.
93766         * lib/mkdtemp.c: New file, from GNU gettext.
93767
93768 2003-02-02  Jim Meyering  <jim@meyering.net>
93769
93770         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
93771         e.g. glibc-2.2.93.
93772
93773 2003-01-31  Bruno Haible  <bruno@clisp.org>
93774
93775         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
93776         'rpl_rename'.
93777         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
93778         'rpl_strnlen'.
93779         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
93780         'rpl_strtod'.
93781         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
93782         'rpl_utime'.
93783
93784 2003-01-31  Bruno Haible  <bruno@clisp.org>
93785
93786         * lib/rename.c: #undef rename before defining rpl_rename.
93787         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
93788
93789 2003-01-30  Bruno Haible  <bruno@clisp.org>
93790
93791         * modules/vasnprintf, modules/vasprintf: New modules.
93792         * MODULES.html.sh (func_all_modules): Add them.
93793
93794 2003-01-30  Bruno Haible  <bruno@clisp.org>
93795
93796         * m4/signed.m4: New file, from GNU gettext.
93797         * m4/longdouble.m4: New file, from GNU gettext.
93798         * m4/wchar_t.m4: New file, from GNU gettext.
93799         * m4/wint_t.m4: New file, from GNU gettext.
93800         * m4/vasnprintf.m4: New file.
93801         * m4/vasprintf.m4: New file.
93802
93803 2003-01-30  Bruno Haible  <bruno@clisp.org>
93804
93805         * lib/printf-args.h: New file, from GNU gettext.
93806         * lib/printf-args.c: New file, from GNU gettext.
93807         * lib/printf-parse.h: New file, from GNU gettext.
93808         * lib/printf-parse.c: New file, from GNU gettext.
93809         * lib/vasnprintf.h: New file, from GNU gettext.
93810         * lib/vasnprintf.c: New file, from GNU gettext.
93811         * lib/asnprintf.c: New file, from GNU gettext.
93812         * lib/vasprintf.h: New file, from GNU gettext with modifications.
93813         * lib/vasprintf.c: New file, from GNU gettext.
93814         * lib/asprintf.c: New file, from GNU gettext.
93815
93816 2003-01-29  Bruno Haible  <bruno@clisp.org>
93817
93818         * modules/stpncpy: New module.
93819         * MODULES.html.sh (func_all_modules): Add it.
93820
93821 2003-01-29  Bruno Haible  <bruno@clisp.org>
93822
93823         * m4/stpncpy.m4: New file.
93824
93825 2003-01-29  Bruno Haible  <bruno@clisp.org>
93826
93827         * lib/stpncpy.h: New file, from GNU gettext with modifications.
93828         * lib/stpncpy.c: New file, from GNU gettext with modifications.
93829
93830 2003-01-28  Bruno Haible  <bruno@clisp.org>
93831
93832         * modules/c-ctype: New module.
93833         * MODULES.html.sh (func_all_modules): Add it.
93834
93835 2003-01-28  Bruno Haible  <bruno@clisp.org>
93836
93837         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
93838         Paul Eggert.
93839         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
93840         Paul Eggert.
93841
93842 2003-01-27  Bruno Haible  <bruno@clisp.org>
93843
93844         * modules/xsetenv: New module.
93845         * MODULES.html.sh (func_all_modules): Add it.
93846
93847 2003-01-27  Bruno Haible  <bruno@clisp.org>
93848
93849         * lib/xsetenv.h: New file, from GNU gettext.
93850         * lib/xsetenv.c: New file, from GNU gettext.
93851
93852 2003-01-23  Jim Meyering  <jim@meyering.net>
93853
93854         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
93855         from working on systems without dirfd (at least Irix and OSF1/Tru64).
93856
93857 2003-01-23  Bruno Haible  <bruno@clisp.org>
93858
93859         * modules/minmax: New module.
93860         * MODULES.html.sh (func_all_modules): Add it.
93861
93862 2003-01-23  Bruno Haible  <bruno@clisp.org>
93863
93864         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
93865         Eggert.
93866
93867 2003-01-22  Bruno Haible  <bruno@clisp.org>
93868
93869         * modules/exit: New module.
93870         * MODULES.html.sh (func_all_modules): Add it.
93871
93872 2003-01-22  Bruno Haible  <bruno@clisp.org>
93873
93874         * lib/exit.h: New file, from GNU gettext.
93875
93876 2003-01-19  Bruno Haible  <bruno@clisp.org>
93877
93878         * gnulib-tool: Recognize option --extract-maintainer.
93879         (func_get_maintainer): New function.
93880         * modules/*: Add Maintainer entry.
93881
93882 2003-01-16  Jim Meyering  <jim@meyering.net>
93883
93884         * m4/regex.m4: The `regex' struct is both input and output.
93885         Initialize it before each use.  Patch by Tim Waugh.
93886
93887 2003-01-16  Bruno Haible  <bruno@clisp.org>
93888
93889         * MODULES.html.sh: Add a table of contents. Add the module name as
93890         leftmost column. Add hyperlinks.
93891
93892 2003-01-15  Bruno Haible  <bruno@clisp.org>
93893
93894         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
93895
93896 2003-01-15  Bruno Haible  <bruno@clisp.org>
93897
93898         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
93899         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
93900         suffix.
93901
93902 2003-01-15  Bruno Haible  <bruno@clisp.org>
93903
93904         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
93905
93906 2003-01-15  Bruno Haible  <bruno@clisp.org>
93907
93908         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
93909         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
93910
93911 2003-01-14  Jim Meyering  <jim@meyering.net>
93912
93913         * lib/same.c (same_name): Tweak a comment.
93914
93915 2003-01-14  Bruno Haible  <bruno@clisp.org>
93916
93917         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
93918         when a string comparison is sufficient.
93919
93920 2003-01-14  Bruno Haible  <bruno@clisp.org>
93921
93922         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
93923         'unsigned int'.
93924
93925 2003-01-14  Bruno Haible  <bruno@clisp.org>
93926
93927         * lib/hash-pjw.c: Add comment about low quality of this function.
93928
93929 2003-01-13  Bruno Haible  <bruno@clisp.org>
93930
93931         * modules/stpcpy: Distribute lib/stpcpy.h.
93932         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93933
93934 2003-01-13  Bruno Haible  <bruno@clisp.org>
93935
93936         * modules/*: Add a description.
93937         * modules/strpbrk: Fix Makefile.am snippet.
93938         * modules/strtoimax: Fix dependencies.
93939         * modules/strtoumax: Likewise.
93940
93941 2003-01-13  Bruno Haible  <bruno@clisp.org>
93942
93943         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
93944         * modules/alloca (Makefile.am): All object files depend on alloca.h.
93945         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
93946
93947 2003-01-13  Bruno Haible  <bruno@clisp.org>
93948
93949         * gnulib-tool (func_create_testdir): Store config/* files in the main
93950         directory.
93951         * config.rpath: Move to ...
93952         * config/config.rpath: ... here.
93953         * modules/gettext: Contains config/config.rpath, not config.rpath.
93954         * modules/iconv: Likewise.
93955
93956 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93957
93958         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93959         to avoid collisions with libcurses and libreadline.
93960
93961         * m4/getstr.m4: Remove.
93962         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
93963
93964 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93965
93966         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93967         to avoid collisions with libcurses and libreadline.
93968
93969         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
93970         * lib/getstr.h, getstr.c: Remove.
93971         * lib/getline.c: Include "getline.h", to check interface.
93972         Move body of old getstr.c here: this defines MIN_CHUNK and
93973         declares getdelim2, which is renamed from getstr.
93974         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
93975
93976         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
93977         All uses changed.
93978         * lib/linebuffer.h: Likewise.
93979         (readline): Remove backward-compatibility macro.
93980
93981 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93982
93983         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93984         to avoid collisions with libcurses and libreadline.
93985         * getstr: Remove.
93986         * MODULES.html.sh: Remove getstr.
93987         * modules/getline: Depend on unlocked-io, not getstr.
93988
93989 2003-01-12  Jim Meyering  <jim@meyering.net>
93990
93991         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
93992
93993 2003-01-10  Bruno Haible  <bruno@clisp.org>
93994
93995         * modules/alloca: Change Makefile.am requirements. Simplify Include
93996         requirements. Add lib/alloca_.h to file list.
93997
93998 2003-01-10  Bruno Haible  <bruno@clisp.org>
93999
94000         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94001
94002 2003-01-10  Bruno Haible  <bruno@clisp.org>
94003
94004         * lib/alloca_.h: New file.
94005         * lib/getdate.y: Unconditionally include alloca.h.
94006         * lib/makepath.c: Likewise.
94007         * lib/setenv.c: Likewise.
94008         * lib/userspec.c: Likewise.
94009
94010 2003-01-09  Karl Berry  <karl@gnu.org>
94011
94012         * MODULES.html.sh: include `dirname $0` in PATH, to find
94013         gnulib-tool.
94014
94015 2003-01-09  Bruno Haible  <bruno@clisp.org>
94016
94017         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94018         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94019
94020 2003-01-09  Bruno Haible  <bruno@clisp.org>
94021
94022         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94023
94024 2003-01-09  Bruno Haible  <bruno@clisp.org>
94025
94026         * lib/stdbool.h.in: New file.
94027
94028 2003-01-09  Bruno Haible  <bruno@clisp.org>
94029
94030         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94031         * MODULES.html.sh: Likewise.
94032
94033 2003-01-08  Jim Meyering  <jim@meyering.net>
94034
94035         * lib/full-write.c: Undefine and define-away `const' after inclusion
94036         of errno.h, not before.  Suggestion from Bruno Haible.
94037
94038 2003-01-08  Bruno Haible  <bruno@clisp.org>
94039
94040         * modules/full-read: Depend on full-write.
94041
94042 2003-01-08  Bruno Haible  <bruno@clisp.org>
94043
94044         * lib/safe-read.c: Include specification header first, to ensure its
94045         selfcontainedness.
94046         * lib/full-write.c: Likewise.
94047
94048 2003-01-07  Jim Meyering  <jim@meyering.net>
94049
94050         * lib/full-write.c: Rework so that it may serve to define full_read,
94051         too.
94052         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94053
94054 2003-01-07  Bruno Haible  <bruno@clisp.org>
94055
94056         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94057         <inttypes.h>.
94058         * lib/xstrtol.h: Likewise.
94059         * lib/xstrtoimax.c: Likewise.
94060         * lib/xstrtoumax.c: Likewise.
94061         * lib/human.h: Likewise.
94062
94063         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94064         on systems that have <inttypes.h> but not <stdint.h>.
94065
94066 2003-01-07  Bruno Haible  <bruno@clisp.org>
94067
94068         * MODULES.html.sh: Add copyright notice.
94069         (missed_files): Omit CVS directory entries.
94070         (func_module): Make it work with sed-3.02.
94071         * MODULES.txt: Remove file.
94072
94073 2003-01-06  Jim Meyering  <jim@meyering.net>
94074
94075         * lib/version-etc.c: Update year in translatable copyright string.
94076
94077 2003-01-03  Karl Berry  <karl@gnu.org>
94078
94079         * config/config.{guess,sub}: update from prep.
94080
94081 2003-01-02  Karl Berry  <karl@gnu.org>
94082
94083         * doc/COPYING.DOC: belatedly updated to 1.2.
94084
94085 2003-01-01  Karl Berry  <karl@gnu.org>
94086
94087         * gnulib-tool (func_verify_module): report module name $module in
94088         error message, not $1.
94089         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94090         be created, only if it doesn't exist.
94091         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94092
94093 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94094
94095         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94096
94097 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94098
94099         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94100         memcmp if strcoll doesn't work.
94101
94102 2002-12-31  Bruno Haible  <bruno@clisp.org>
94103
94104         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94105         nonempty.
94106
94107 2002-12-31  Bruno Haible  <bruno@clisp.org>
94108
94109         * lib/memcoll.c (STRCOLL): New macro.
94110         (memcoll): Use it.
94111
94112 2002-12-31  Bruno Haible  <bruno@clisp.org>
94113
94114         * lib/localcharset.h: New file.
94115         * lib/localcharset.c: Include it.
94116         * lib/unicodeio.c: Likewise.
94117
94118 2002-12-31  Bruno Haible  <bruno@clisp.org>
94119
94120         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94121         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94122
94123 2002-12-31  Bruno Haible  <bruno@clisp.org>
94124
94125         * lib/getline.h: Include <stddef.h>, for size_t.
94126
94127         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94128         * lib/unicodeio.c: Don't include <stddef.h>.
94129
94130 2002-12-31  Bruno Haible  <bruno@clisp.org>
94131
94132         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94133         HAVE_TM_ZONE.
94134
94135 2002-12-24  Karl Berry  <karl@gnu.org>
94136
94137         * config/config.guess: update from prep.
94138
94139 2002-12-24  Bruno Haible  <bruno@clisp.org>
94140
94141         General infrasructure.
94142         * m4/README: Rewritten.
94143         * m4/onceonly.m4: New file.
94144         * m4/onceonly_2_57.m4: New file.
94145
94146         Module atexit.
94147         * m4/atexit.m4: New file.
94148
94149         Module strtod.
94150         * m4/strtod.m4: New file.
94151
94152         Module strtol.
94153         * m4/strtol.m4: New file.
94154
94155         Module strtoul.
94156         * m4/strtoul.m4: New file.
94157
94158         Module memchr.
94159         * m4/memchr.m4: New file.
94160
94161         Module memcmp.
94162         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94163         (jm_FUNC_MEMCMP): Invoke it.
94164
94165         Module memcpy.
94166         * m4/memcpy.m4: New file.
94167
94168         Module memmove.
94169         * m4/memmove.m4: New file.
94170
94171         Module memset.
94172         * m4/memset.m4: New file.
94173
94174         Module strcspn.
94175         * m4/strcspn.m4: New file.
94176
94177         Module strpbrk.
94178         * m4/strpbrk.m4: New file.
94179
94180         Module strstr.
94181         * m4/strstr.m4: New file.
94182
94183         Module strerror.
94184         * m4/strerror.m4: New file.
94185
94186         Module mktime.
94187         * m4/mktime.m4: Renamed from jm-mktime.m4.
94188         (gl_PREREQ_MKTIME): New macro.
94189         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94190
94191         Module malloc.
94192         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94193         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94194         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94195
94196         Module realloc.
94197         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94198         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94199         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94200
94201         Module strftime.
94202         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94203         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94204         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94205         gl_TM_GMTOFF.
94206         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94207
94208         Module xalloc.
94209         * m4/xalloc.m4: New file.
94210
94211         Module alloca.
94212         * m4/alloca.m4: New file.
94213
94214         Module putenv.
94215         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94216         (jm_FUNC_PUTENV): Invoke it.
94217
94218         Module setenv.
94219         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94220         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94221         when invoked twice.
94222         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94223         gt_FUNC_SETENV.
94224
94225         Module memrchr.
94226         * m4/memrchr.m4: New file.
94227
94228         Module stpcpy.
94229         * m4/stpcpy.m4: New file.
94230
94231         Module strcase.
94232         * m4/strcase.m4: New file.
94233
94234         Module strdup.
94235         * m4/strdup.m4: New file.
94236
94237         Module strnlen.
94238         * m4/strnlen.m4: New file.
94239
94240         Module strndup.
94241         * m4/strndup.m4: New file.
94242
94243         Module xstrtod.
94244         * m4/xstrtod.m4: New file.
94245
94246         Module xstrtol.
94247         * m4/xstrtol.m4: New file.
94248
94249         Module getdate.
94250         * m4/getdate.m4: New file.
94251
94252         Module unlocked-io.
94253         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94254         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94255         * m4/jm-glibc-io.m4n: Remove file.
94256
94257         Module long-options.
94258         * m4/long-options.m4: New file.
94259
94260         Module md5.
94261         * m4/md5.m4: New file.
94262
94263         Module sha.
94264         * m4/sha.m4: New file.
94265
94266         Module getstr.
94267         * m4/getstr.m4: New file.
94268
94269         Module getline.
94270         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94271         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94272         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94273         simply getline. Infoke gl_PREREQ_GETLINE.
94274
94275         Module obstack.
94276         * m4/obstack.m4: New file.
94277
94278         Module hash.
94279         * m4/hash.m4: New file.
94280
94281         Module readtokens.
94282         * m4/readtokens.m4: New file.
94283
94284         Module strverscmp.
94285         * m4/strverscmp.m4: New file.
94286
94287         Module stdbool.
94288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94289         OSF/1.
94290
94291         Module strtoll.
94292         * m4/strtoll.m4: New file.
94293
94294         Module strtoull.
94295         * m4/strtoull.m4: New file.
94296
94297         Module strtoimax.
94298         * m4/strtoimax.m4: New file.
94299
94300         Module strtoumax.
94301         * m4/strtoumax.m4: New file.
94302
94303         Module xstrtoimax.
94304         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94305         jm_AC_PREREQ_XSTRTOIMAX.
94306         Moved the strtol prerequisites to strtol.m4.
94307         Moved the strtoll prerequisites to strtoll.m4.
94308         Moved the strtoimax prerequisites to strtoimax.m4.
94309
94310         Module xstrtoumax.
94311         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94312         jm_AC_PREREQ_XSTRTOUMAX.
94313         Moved the strtoul prerequisites to strtoul.m4.
94314         Moved the strtoull prerequisites to strtoull.m4.
94315         Moved the strtoumax prerequisites to strtoumax.m4.
94316
94317         Module chown.
94318         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94319         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94320
94321         Module dup2.
94322         * m4/dup2.m4: New file.
94323
94324         Module ftruncate.
94325         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94326         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94327
94328         Module getgroups.
94329         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94330         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94331
94332         Module gettimeofday.
94333         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94334         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94335         gl_PREREQ_GETTIMEOFDAY.
94336
94337         Module mkdir.
94338         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94339         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94340
94341         Module mkstemp.
94342         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94343         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94344         jm_AC_TYPE_UINTMAX_T.
94345         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94346
94347         Module stat.
94348         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94349         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94350
94351         Module lstat.
94352         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94353         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94354
94355         Module timespec.
94356         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94357         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94358         * m4/st_mtim.m4: Indentation.
94359
94360         Module nanosleep.
94361         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94362         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94363         gl_PREREQ_NANOSLEEP.
94364
94365         Module regex.
94366         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94367         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94368         (gl_REGEX): New macro.
94369
94370         Module rename.
94371         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94372         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94373
94374         Module rmdir.
94375         * m4/rmdir.m4: New file.
94376
94377         Module utime.
94378         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94379         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94380         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94381
94382         Module dirname.
94383         * m4/dirname.m4: New file.
94384
94385         Module getopt.
94386         * m4/getopt.m4: New file.
94387
94388         Module unistd-safer.
94389         * m4/unistd-safer.m4: New file.
94390
94391         Module fnmatch.
94392         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94393         declaration.
94394         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94395         (gl_FUNC_FNMATCH_POSIX): New macro.
94396         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94397         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94398         simply fnmatch.
94399
94400         Module exclude.
94401         * m4/exclude.m4: New file.
94402
94403         Module human.
94404         * m4/human.m4: New file.
94405
94406         Module acl.
94407         * m4/acl.m4: Nop.
94408
94409         Module backupfile.
94410         * m4/backupfile.m4: New file.
94411         * m4/d-ino.m4: Indentation.
94412
94413         Module fsusage.
94414         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94415         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94416         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94417
94418         Module dirfd.
94419         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94420         requirements.
94421
94422         Module euidaccess.
94423         * m4/euidaccess.m4: New file.
94424
94425         Module file-type.
94426         * m4/file-type.m4: New file.
94427
94428         Module fileblocks.
94429         * m4/fileblocks.m4: New file.
94430
94431         Module filemode.
94432         * m4/filemode.m4: New file.
94433
94434         Module isdir.
94435         * m4/isdir.m4: New file.
94436
94437         Module lchown.
94438         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94439         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94440
94441         Module makepath.
94442         * m4/makepath.m4: New file.
94443
94444         Module modechange.
94445         * m4/modechange.m4: New file.
94446
94447         Module mountlist.
94448         * m4/mountlist.m4: New file.
94449         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94450         Indentation.
94451
94452         Module path-concat.
94453         * m4/path-concat.m4: New file.
94454
94455         Module pathmax.
94456         * m4/pathmax.m4: New file.
94457
94458         Module same.
94459         * m4/same.m4: New file.
94460
94461         Module save-cwd.
94462         * m4/save-cwd.m4: New file.
94463
94464         Module savedir.
94465         * m4/savedir.m4: New file.
94466
94467         Module xgetcwd.
94468         * m4/xgetcwd.m4: New file.
94469         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94470
94471         Module xreadlink.
94472         * m4/xreadlink.m4: New file.
94473
94474         Module safe-read.
94475         * m4/safe-read.m4: New file.
94476
94477         Module safe-write.
94478         * m4/safe-write.m4: New file.
94479
94480         Module closeout.
94481         * m4/closeout.m4: New file.
94482
94483         Module stdio-safer.
94484         * m4/stdio-safer.m4: New file.
94485
94486         Module getpass.
94487         * m4/getpass.m4: New file.
94488
94489         Module getugroups.
94490         * m4/getugroups.m4: New file.
94491
94492         Module group-member.
94493         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94494         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94495
94496         Module idcache.
94497         * m4/idcache.m4: New file.
94498
94499         Module userspec.
94500         * m4/userspec.m4: New file.
94501
94502         Module gettime.
94503         * m4/clock_time.m4: New file.
94504         * m4/gettime.m4: New file.
94505
94506         Module settime.
94507         * m4/settime.m4: New file.
94508
94509         Module posixtm.
94510         * m4/posixtm.m4: New file.
94511
94512         Module gethostname.
94513         * m4/gethostname.m4: New file.
94514
94515         Module canon-host.
94516         * m4/canon-host.m4: New file.
94517
94518         Module gettext.
94519         * m4/codeset.m4: New file, from gettext-0.11.5.
94520         * m4/gettext.m4: New file, from gettext-0.11.5.
94521         * m4/glibc21.m4: New file, from gettext-0.11.5.
94522         * m4/iconv.m4: New file, from gettext-0.11.5.
94523         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94524         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94525         * m4/inttypes.m4: New file, from gettext-0.11.5.
94526         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94527         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94528         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94529         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94530         * m4/lib-link.m4: New file, from gettext-0.11.5.
94531         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94532         * m4/progtest.m4: New file, from gettext-0.11.5.
94533         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94534         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94535         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94536
94537         Module localcharset.
94538         * m4/localcharset.m4: New file.
94539
94540         Module hard-locale.
94541         * m4/hard-locale.m4: New file.
94542
94543         Module mbswidth.
94544         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94545         onceonly macros.
94546         * m4/mbrtowc.m4: Add comment.
94547
94548         Module memcasecmp.
94549         * m4/memcasecmp.m4: New file.
94550
94551         Module memcoll.
94552         * m4/memcoll.m4: New file.
94553
94554         Module unicodeio.
94555         * m4/unicodeio.m4: New file.
94556
94557         Module rpmatch.
94558         * m4/rpmatch.m4: New file.
94559
94560         Module yesno.
94561         * m4/yesno.m4: New file.
94562
94563         Module exitfail.
94564         * m4/exitfail.m4: New file.
94565
94566         Module c-stack.
94567         * m4/c-stack.m4 (gl_C_STACK): New macro.
94568         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94569
94570         Module error.
94571         * m4/error.m4 (gl_ERROR): New macro.
94572         (jm_PREREQ_ERROR): Use onceonly macros.
94573
94574         Module fatal.
94575         * m4/fatal.m4: New file.
94576
94577         Module getloadavg.
94578         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94579         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94580
94581         Module getpagesize.
94582         * m4/getpagesize.m4: New file.
94583
94584         Module getusershell.
94585         * m4/getusershell.m4: New file.
94586
94587         Module physmem.
94588         * m4/physmem.m4: New file.
94589
94590         Module posixver.
94591         * m4/posixver.m4: New file.
94592
94593         Module quotearg.
94594         * m4/quotearg.m4: New file.
94595
94596         Module quote.
94597         * m4/quote.m4: New file.
94598
94599         Module readutmp.
94600         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94601
94602         Module sig2str.
94603         * m4/sig2str.m4: New file.
94604
94605         Other.
94606         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94607         ulonglong.m4.
94608         * m4/intmax_t.m4: New file.
94609         * m4/d-type.m4: Indentation.
94610         * m4/jm-macros.m4: Update.
94611         * m4/prereq.m4 (jm_PREREQ): Update.
94612         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94613         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94614         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94615         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94616         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94617         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94618         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94619         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94620         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94621         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94622         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94623         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94624         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94625         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94626         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94627         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94628         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94629         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94630         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94631
94632 2002-12-24  Bruno Haible  <bruno@clisp.org>
94633
94634         * MODULES.txt: Update according to m4/ changes.
94635
94636         Module gettext.
94637         * config.rpath: New file, from gettext-0.11.5.
94638
94639         * modules/*: New module descriptions.
94640         * gnulib-tool: New file.
94641         * MODULES.html.sh: New file.
94642
94643 2002-12-21  Karl Berry  <karl@gnu.org>
94644
94645         * doc/fdl.texi: update to version 1.2.
94646
94647 2002-12-19  Karl Berry  <karl@gnu.org>
94648
94649         * config/config.guess: update from prep.
94650
94651 2002-12-18  Bruno Haible  <bruno@clisp.org>
94652
94653         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94654         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94655
94656 2002-12-17  Bruno Haible  <bruno@clisp.org>
94657
94658         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94659         stdlib.h, string.h.
94660
94661 2002-12-17  Bruno Haible  <bruno@clisp.org>
94662
94663         * lib/canon-host.c (strdup): Remove unused declaration.
94664
94665         * lib/fsusage.c: Include full_read.h.
94666         (get_fs_usage): Use full_read instead of safe_read.
94667
94668         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94669
94670 2002-12-12  Karl Berry  <karl@gnu.org>
94671
94672         * config/config.guess: update from prep.
94673
94674 2002-12-11  Bruno Haible  <bruno@clisp.org>
94675
94676         * m4/setenv.m4: New file, from gettext-0.11.5.
94677
94678 2002-12-11  Bruno Haible  <bruno@clisp.org>
94679
94680         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94681         not unsetenv().
94682         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94683         modifications:
94684
94685         2002-12-11  Bruno Haible  <bruno@clisp.org>
94686
94687                 * setenv.c (alloca): Fall back to malloc.
94688                 (freea): New macro.
94689                 (setenv): Use freea() to free memory allocated with alloca().
94690
94691         2002-11-13  Bruno Haible  <bruno@clisp.org>
94692
94693                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94694                 function declarations.
94695                 * unsetenv.c (unsetenv): Likewise.
94696
94697         2002-03-04  Bruno Haible  <bruno@clisp.org>
94698
94699                 Portability to AIX 4.3.3.
94700                 * unsetenv.c: New file, extracted from setenv.c.
94701                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94702
94703         2001-12-20  Bruno Haible  <bruno@clisp.org>
94704
94705                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94706                 use malloc instead. For SunOS 4.
94707
94708         2001-12-11  Bruno Haible  <bruno@clisp.org>
94709
94710                 * setenv.c: Declare alloca.
94711                 (compar_fn_t): New typedef.
94712                 (KNOWN_VALUE, STORE_VALUE): Use it.
94713
94714         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94715         setenv.h.
94716
94717 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94718
94719         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94720         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94721         Choose values that are less likely to collide with system fnmatch
94722         options.
94723         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94724         defined (e.g., a pure POSIX system).
94725         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94726         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94727
94728 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94729
94730         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94731         a pain in practice to deal with generated m4 files.  This change
94732         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94733
94734         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94735         and jm-glibc-io.m4, as they are no longer a special case.
94736         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94737         kludge and the auto-generation stuff.  Check only whether the
94738         functions are declared, not whether they exist, since older hosts
94739         that don't declare the functions can't use the optimization anyway.
94740
94741 2002-12-06  Jim Meyering  <jim@meyering.net>
94742
94743         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94744
94745         Merge in changes from libc's misc/error.c, in preparation
94746         for the merge of gnulib's changes back into libc.
94747
94748         * lib/error.c (_): Define only if not already defined.
94749         Move definition to follow all #include directives.
94750         Include unlocked-io.h only if !_LIBC.
94751         [_LIBC]: Include <libio/libioP.h>.
94752         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94753         (fflush): Tweak definition to use INTUSE.
94754         (putc): Define.
94755
94756 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94757
94758         * lib/alloca.c [defined emacs]: Include "lisp.h".
94759         (xalloc_die) [defined emacs]: New macro.
94760         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94761         [! defined emacs]: Include <xalloc.h>.
94762         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94763         (pointer): Typedef to POINTER_TYPE *.
94764         (malloc): Remove decl; we now always use xmalloc.
94765         (alloca): Use old-style definition, since Emacs needs this.
94766         Check for arithmetic overflow when computing combined size.
94767
94768 2002-12-04  Paul Eggert  <eggert@twinsun.com>
94769
94770         Do not generate unlocked-io.h automatically, since it's easier to
94771         maintain it by hand.
94772
94773         * lib/unlocked-io.h: New file, from GNU diffutils,
94774         but with proper copyright notice and attribution.
94775         * lib/gen-uio: Remove.
94776         * lib/Makefile.am: Add copyright notice.
94777         (libfetish_a_SOURCES): Add unlocked-io.h.
94778         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
94779         (DISTCLEANFILES, io_functions): Remove macros.
94780         (EXTRA_DIST): Remove gen_uio.
94781         (unlocked-io.h): Remove rule.
94782
94783 2002-12-04  Jim Meyering  <jim@meyering.net>
94784
94785         Reflect the fact that stat.c and lstat.c are no longer generated.
94786         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
94787         (DISTCLEANFILES): Likewise.
94788         (EXTRA_DIST): Likewise.
94789         (all_local): Don't depend on stat.c or lstat.c.
94790         (stat.c, lstat.c): Remove rules.
94791         (EXTRA_DIST): Remove xstat.in.
94792
94793         * lib/xstat.in: Remove file.  Contents moved into stat.c.
94794         * lib/stat.c: New file.  Contents mostly from xstat.in.
94795         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
94796         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
94797
94798         * lib/safe-read.c: Rework so that it may serve to define safe_write,
94799         too.
94800         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
94801
94802 2002-12-03  Jim Meyering  <jim@meyering.net>
94803
94804         * lib/safe-read.c, safe-write.c: Change variable names and comments,
94805         but not semantics, to minimize the differences between these two files.
94806         (safe_read): Change comment to mention SAFE_READ_ERROR.
94807
94808         * lib/safe-read.c (IS_EINTR): Define.
94809         (safe_read): Use IS_EINTR in place of in-function cpp directives.
94810
94811 2002-12-02  Jim Meyering  <jim@meyering.net>
94812
94813         * lib/safe-read.c (EINTR): Define.
94814         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94815         (INT_MAX): Provide fallback.
94816         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
94817
94818         * lib/safe-read.h (SAFE_READ_ERROR): Define.
94819
94820 2002-12-02  Bruno Haible  <bruno@clisp.org>
94821
94822         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
94823         Define, taken from safe-read.c.
94824         (INT_MAX): Provide fallback.
94825         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
94826         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
94827
94828         * lib/safe-read.c (EINTR): Remove definition.
94829         (safe_read): Don't use EINTR if it is absent.
94830
94831 2002-12-01  Jim Meyering  <jim@meyering.net>
94832
94833         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
94834         zero.
94835         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
94836
94837 2002-11-27  Paul Eggert  <eggert@twinsun.com>
94838
94839         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
94840         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
94841         with `if (! (value < limit)) abort ();', for readability.
94842
94843 2002-11-26  Karl Berry  <karl@gnu.org>
94844
94845         * lib/strdup.c: copy from libc again, with jim's ok.
94846         * lib/.cppi-disable: re-add strdup.c
94847
94848 2002-11-25  Karl Berry  <karl@gnu.org>
94849
94850         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
94851         instead of "strtol.c".
94852
94853 2002-11-25  Karl Berry  <karl@gnu.org>
94854
94855         * config/install-sh: update from automake for variable quoting, $0 in
94856         error msgs, etc.
94857
94858         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
94859         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
94860         entry.
94861
94862 2002-11-25  Jim Meyering  <jim@meyering.net>
94863
94864         * lib/mktime.c: Sync from libc, now that it has the latest fix.
94865
94866 2002-11-24  Karl Berry  <karl@gnu.org>
94867
94868         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
94869         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
94870
94871 2002-11-24  Jim Meyering  <jim@meyering.net>
94872
94873         Update from coreutils:
94874
94875         * lib/mktime.c: Merge in changes from libc.
94876
94877         Avoid a link-time failure on some Linux systems.
94878         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
94879         (otherwise).
94880         (__mon_yday): Declare with the STATIC attribute.
94881         (__mktime_internal): Likewise.
94882         Based on a report from Greg Schafer.
94883
94884 2002-11-23  Jim Meyering  <jim@meyering.net>
94885
94886         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
94887         Use `unsigned', not `int', as type of index.
94888
94889         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
94890
94891         * lib/fsusage.c: Remove unneeded parentheses around operands of
94892         `defined'.
94893
94894 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94895
94896         * lib/quotearg.h: Allow multiple inclusion by surrounding with
94897         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
94898         so that we can be included first.
94899         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
94900         * lib/quotearg.c: Include quotearg.h immediately after config.h.
94901         No need to include stddef.h or sys/types.h any more.
94902         Surround local include files with "", not "<>".
94903         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
94904         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
94905         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
94906         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
94907         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
94908         (ISPRINT): Remove; no longer needed now that we assume C89.
94909
94910         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
94911         Preserve errno.
94912
94913         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
94914         quotearg_char): Use SIZE_MAX rather than
94915         (size_t) -1 when we are talking about "infinity".
94916
94917         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
94918
94919 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94920
94921         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
94922         hint that one should use `if (! x) abort ();' rather than `assert
94923         (x);', and anyway it's one less thing to worry about configuring.
94924         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
94925         hash_rehash, hash_insert): Use abort rather than assert.
94926
94927 2002-11-22  Bruno Haible  <bruno@clisp.org>
94928
94929         * lib/safe-read.h: Assume C89. Add comments.
94930         (safe_read): Change return type to size_t.
94931         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94932         byte counts > SSIZE_MAX correctly.
94933         * lib/safe-write.h: New file.
94934         * lib/safe-write.c: New file.
94935         * lib/full-read.h: New file.
94936         * lib/full-read.c: New file.
94937         * lib/full-write.h: Assume C89. Add comments.
94938         * lib/full-write.c: Include safe-write.h.
94939         (full_write): Rewritten to use safe_write.
94940         Suggested by Jim Meyering and Paul Eggert.
94941
94942 2002-11-21  Jim Meyering  <jim@meyering.net>
94943
94944         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
94945
94946         Merge in changes from the coreutils.
94947
94948         2002-09-25  Paul Eggert  <eggert@twinsun.com>
94949         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
94950         <stdint.h>.
94951         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
94952         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
94953         int.  Work more efficiently if X is the same width as uintmax_t.
94954         Do not compare X to -1, to avoid bogus compiler warning.
94955         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
94956         Don't assume that f_frsize and f_bsize are the same type.
94957
94958         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
94959         warning on FreeBSD.
94960
94961         * lib/makepath.c (make_path): Restore umask *before* creating the final
94962         component.
94963         (make_path): Minor reformatting.
94964
94965         * lib/xmalloc.c: Adjust to work with new autoconf macros,
94966         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
94967         HAVE_MALLOC/HAVE_REALLOC.
94968
94969         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
94970         dummy ones.  At least on GNU/Linux systems, `auto' means something
94971         else.
94972         From Michael Stone.
94973
94974 2002-11-21  Bruno Haible  <bruno@clisp.org>
94975
94976         Remove case insensitive option matching.
94977         * lib/argmatch.h (argcasematch): Remove declaration.
94978         (ARGCASEMATCH): Remove macro.
94979         (__xargmatch_internal): Remove case_sensitive argument.
94980         (XARGMATCH): Update.
94981         (XARGCASEMATCH): Remove macro.
94982         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
94983         case_sensitive argument.
94984         (argcasematch): Remove function.
94985         (__xargmatch_internal): Remove case_sensitive argument.
94986         (main): Use XARGMATCH instead of XARGCASEMATCH.
94987
94988         * lib/xmalloc.c: Change compile-time error message. Add comment about
94989         required autoconf version.
94990
94991 2002-11-20  Paul Eggert  <eggert@twinsun.com>
94992
94993         Merge argmatch cleanups from Bison.  Assume C89.
94994
94995         * lib/argmatch.c: Include config.h here, not in argmatch.h.
94996         Include stdlib.h, for EXIT_FAILURE.
94997         Always include <string.h>, since we assume C89.
94998         (EXIT_FAILURE): Remove pre-C89 bug workaround.
94999         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95000         Include <stddef.h> instead, since it's all we need for size_t.
95001         (PARAMS): Remove.  All uses removed.
95002         (ARRAY_CARDINALITY): Do not bother to #undef.
95003         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95004         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95005         Remove unnecessary parentheses.
95006         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95007         Insert necessary parentheses.
95008         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95009         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95010
95011 2002-11-19  Bruno Haible  <bruno@clisp.org>
95012
95013         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95014         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95015
95016         * lib/mbswidth.h (PARAMS): Remove macro.
95017         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95018         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95019
95020         * lib/gcd.h (PARAMS): Remove macro.
95021         (gcd): Use ANSI C function declarations.
95022         * lib/gcd.c (gcd): Likewise.
95023
95024 2002-11-15  Bruno Haible  <bruno@clisp.org>
95025
95026         * lib/strcspn.c: Include <stddef.h>.
95027         (strcspn): Use ANSI C function declaration. Change return type to
95028         size_t. Use NULL.
95029         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95030         (strpbrk): Use NULL.
95031         * lib/strpbrk.h (PARAMS): Remove macro.
95032         (strpbrk): Use ANSI C function declaration.
95033         * lib/strstr.c: Don't include <sys/types.h>.
95034         * lib/strstr.h (PARAMS): Remove macro.
95035         (strstr): Use ANSI C function declarations.
95036
95037 2002-11-14  Karl Berry  <karl@gnu.org>
95038
95039         * config/mkinstalldirs: `do' on separate line, instead of
95040         `for var; do'.
95041
95042 2002-11-06  Bruno Haible  <bruno@clisp.org>
95043
95044         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95045         * lib/gcd.c (gcd): Likewise.
95046
95047 2002-11-05  Bruno Haible  <bruno@clisp.org>
95048
95049         * lib/gcd.h: New file, from gettext-0.11.5.
95050         * lib/gcd.c: New file, from gettext-0.11.5.
95051
95052 2002-11-05  Bruno Haible  <bruno@clisp.org>
95053
95054         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95055         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95056         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95057         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95058
95059         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95060         <libintl.h>.
95061         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95062         <libintl.h>.
95063
95064         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95065         * lib/human.c: Include gettext.h instead of <libintl.h>.
95066         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95067         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95068         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95069         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95070         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95071         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95072         (textdomain): Remove definition.
95073         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95074
95075         * lib/long-options.c: Remove include of <libintl.h> and definition of
95076         _.
95077         * lib/same.c: Remove include of <libintl.h> and definition of _.
95078
95079 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95080
95081         * lib/config.charset: A few additions for Solaris.
95082
95083 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95084
95085         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95086         * lib/localcharset.c (locale_charset): Declare as extern "C".
95087
95088 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95089
95090         * lib/config.charset: msdos in uk_UA uses CP1125.
95091
95092 2002-11-04  Bruno Haible  <bruno@clisp.org>
95093
95094         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95095         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95096         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95097         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95098         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95099
95100 2002-11-04  Bruno Haible  <bruno@clisp.org>
95101
95102         * lib/localcharset.c (locale_charset): Don't return an empty string.
95103
95104 2002-11-04  Bruno Haible  <bruno@clisp.org>
95105
95106         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95107         aliases.
95108
95109 2002-11-04  Bruno Haible  <bruno@clisp.org>
95110
95111         * lib/config.charset: Update for newest glibc. Add canonical names
95112         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95113
95114 2002-11-04  Bruno Haible  <bruno@clisp.org>
95115
95116         * lib/config.charset: Add support for NetBSD.
95117
95118 2002-11-04  Bruno Haible  <bruno@clisp.org>
95119
95120         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95121
95122 2002-11-01  Bruno Haible  <bruno@clisp.org>
95123
95124         * configure.in: Add AC_CONFIG_AUX_DIR call.
95125         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95126         test/Makefile.
95127         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95128
95129 2002-09-28  Karl Berry  <karl@gnu.org>
95130
95131         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95132         installed automake until the next release, since changes have been
95133         made.
95134
95135 2002-09-25  Karl Berry  <karl@gnu.org>
95136
95137         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95138         * lib/getopt*: copy from libc/posix.
95139         * lib/gettext.h: copy from gettext.
95140         * lib/.cppi-disable: add strdup.c, gettext.h.
95141
95142 2002-09-25  Karl Berry  <karl@gnu.org>
95143
95144         * config/srclist.txt: enable gettext.h check.
95145         * config/config.{guess,sub}: update from prep.
95146         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95147                 from automake 1.6.3.
95148         See srclist*.
95149
95150 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95151
95152         * regex.c (PATFETCH): Remove the translating fetch.
95153         (PATFETCH_RAW): Rename to PATFETCH.
95154         (set_image_of_range): New fun.
95155         (SET_RANGE_TABLE_WORK_AREA): Use it.
95156         (regex_compile): Don't translate the pattern chars so eagerly.
95157         Only do it when inserting an `exactn' bytecode or when handling
95158         a char-range.
95159         (mutually_exclusive_p): Avoid empty statement.
95160
95161 2002-07-06  Jim Meyering  <meyering@lucent.com>
95162
95163         * m4/README: Don't mention Makefile.am.in.
95164         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95165
95166 2002-07-01  Jim Meyering  <meyering@lucent.com>
95167
95168         * lib/c-stack.c: Include sys/time.h.
95169         From Volker Borchert.
95170
95171 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95172
95173         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95174
95175 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95176
95177         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95178         New macro.  Use it uniformly instead of
95179         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95180         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95181         reported by Vin Shelton.
95182
95183 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95184
95185         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95186         Do not assume SA_SIGINFO behavior.
95187         Bug reported by Jim Meyering on NetBSD 1.5.2.
95188
95189 2002-06-22  Jim Meyering  <meyering@lucent.com>
95190
95191         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95192         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95193
95194         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95195         now that configure.ac uses AC_GNU_SOURCE.
95196         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95197         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95198
95199         Update to latest tools.  Suggestions from Paul Eggert.
95200         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95201         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95202         * m4/fnmatch.m4: Likewise.
95203         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95204         to AC_HEADER_STDBOOL
95205
95206 2002-06-22  Jim Meyering  <meyering@lucent.com>
95207
95208         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95209         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95210
95211 2002-06-22  Jim Meyering  <meyering@lucent.com>
95212
95213         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95214
95215         * lib/exitfail.c, exitfail.h: Likewise.
95216         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95217
95218         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95219         of fnmatch.h.
95220         (EXTRA_DIST): Add fnmatch_loop.c.
95221         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95222
95223         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95224         * lib/fnmatch.c: Update from diffutils-2.8.2.
95225         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95226         * lib/fnmatch.h: Remove file.
95227
95228 2002-06-21  Jim Meyering  <meyering@lucent.com>
95229
95230         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95231         * m4/mbrtowc.m4: Likewise.
95232
95233         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95234         * m4/mbswidth.m4: Reflect name change:
95235         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95236         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95237
95238         * m4/lib-link.m4: Update from gettext-0.11.2.
95239         * m4/gettext.m4: Likewise.
95240
95241         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95242         From Alfred M. Szmidt.
95243
95244 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95245
95246         * lib/file-type.h: Report an error if neither S_ISREG nor
95247         S_IFREG is defined, instead of using a test specific to glibc
95248         2.2.  This should be safe, since POSIX requires S_ISREG and
95249         Unix Version 7 had S_IFREG.  We don't need to check for
95250         <sys/types.h> since we don't use any symbols that it defines.
95251
95252 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95253
95254         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95255         $@-t, so that each temporary file name is unique and valid in the first
95256         8 characters, for operation under DOS.
95257
95258 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95259
95260         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95261
95262 2002-06-15  Jim Meyering  <meyering@lucent.com>
95263
95264         Work even with DJGPP 2.03, which lacks support for symlinks.
95265         From Richard Dawe.
95266         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95267         is defined.
95268         * lib/lchown.c (S_ISLNK): Likewise.
95269
95270 2002-06-15  Jim Meyering  <meyering@lucent.com>
95271
95272         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95273         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95274         have been included before this file.
95275
95276 2002-06-14  Jim Meyering  <meyering@lucent.com>
95277
95278         * lib/file-type.h: Use the version from diffutils-2.8.2.
95279         * lib/file-type.c: Likewise.
95280
95281 2002-06-07  Jim Meyering  <meyering@lucent.com>
95282
95283         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95284         They're needed at least for NetBSD 1.5.2.
95285         ($statxfs_includes): Include those same headers.
95286         ($statxfs_includes): Include sys/vfs.h if available.
95287         ($statxfs_includes): Likewise for sys/statvfs.h.
95288         Check for the following members in both structs statfs and statvfs:
95289         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95290
95291 2002-06-01  Jim Meyering  <meyering@lucent.com>
95292
95293         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95294         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95295
95296 2002-05-28  Jim Meyering  <meyering@lucent.com>
95297
95298         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95299         Reported by Volker Borchert.
95300
95301 2002-05-27  Jim Meyering  <meyering@lucent.com>
95302
95303         Fix a problem seen only on nonconforming systems whereby ls.c's
95304         use of localtime, and then of gettimeofday would cause trouble:
95305         the localtime call used to initialize rpl_gettimeofday's save
95306         mechanism would clobber ls's current local time information so
95307         that in any long listing the first file would always be listed
95308         with date 1970-01-01.  Analysis by Volker Borchert.
95309
95310         * lib/gettimeofday.c (localtime): Undefine.
95311         (rpl_localtime): New function.
95312
95313 2002-05-27  Jim Meyering  <meyering@lucent.com>
95314
95315         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95316         localtime.
95317
95318         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95319         use the replacement function; it wouldn't resolve at link time.
95320         Reported by Volker Borchert.
95321
95322 2002-05-22  Jim Meyering  <meyering@lucent.com>
95323
95324         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95325         file-type.h.
95326         * lib/file-type.h: New file.
95327         * lib/file-type.c (file_type): New file/function.  Extracted from
95328         diffutils.
95329
95330 2002-04-30  Jim Meyering  <meyering@lucent.com>
95331
95332         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95333
95334 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95335
95336         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95337
95338 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95339
95340         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95341         Do not check for alloca.h (no longer used) or stdbool.h (was never
95342         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95343
95344 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95345
95346         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95347
95348 2002-04-29  Jim Meyering  <meyering@lucent.com>
95349
95350         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95351         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95352         Use AC_FUNC_STRNLEN here instead.
95353
95354         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95355         With autoconf-2.53a, it's part of AC_PROG_CC.
95356
95357 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95358
95359         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95360         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95361
95362 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95363
95364         * lib/sig2str.h, lib/sig2str.c: New files.
95365         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95366
95367 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95368
95369         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95370         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95371         of 127, since 64 is the largest conceivable number for ancient
95372         nonstandard hosts.
95373         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95374
95375 2002-04-28  Jim Meyering  <meyering@lucent.com>
95376
95377         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95378
95379 2002-04-24  Jim Meyering  <meyering@lucent.com>
95380
95381         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95382         (jm_PREREQ): Use it.
95383
95384         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95385         mach/mach.h fcntl.h.
95386         Check for this function: setlocale.
95387
95388 2002-04-24  Jim Meyering  <meyering@lucent.com>
95389
95390         * lib/gettext.h: New file, from Gettext.
95391         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95392         (libfetish_a_SOURCES): Add gettext.h.
95393
95394 2002-04-16  Jim Meyering  <meyering@lucent.com>
95395
95396         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95397         ut_pid, ut_id, ut_exit.
95398
95399 2002-04-16  Jim Meyering  <meyering@lucent.com>
95400
95401         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95402         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95403         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95404
95405 2002-04-12  Jim Meyering  <meyering@lucent.com>
95406
95407         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95408         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95409         existence of the getmntinfo function.  Needed for Darwin 5.3.
95410
95411         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95412         This is necessary at least on Darwin 5.3.
95413
95414         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95415         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95416         strnlen.o in the library, and that makes some versions of ranlib
95417         object.
95418
95419 2002-04-12  Jim Meyering  <meyering@lucent.com>
95420
95421         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95422
95423 2002-04-09  Jim Meyering  <meyering@lucent.com>
95424
95425         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95426         to be more precise.  Rather than saying we're checking whether the
95427         function `works', say what we're testing.
95428         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95429         Reported by Bruno Haible.
95430
95431 2002-03-10  Jim Meyering  <meyering@lucent.com>
95432
95433         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95434         Suggestion from Santiago Vila.
95435
95436 2002-03-08  Jim Meyering  <meyering@lucent.com>
95437
95438         * lib/rename.c: Mention that this wrapper is needed also on
95439         mips-dec-ultrix4.4 systems.
95440
95441 2002-03-02  Jim Meyering  <meyering@lucent.com>
95442
95443         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95444         not HAVE_CLOCK_SETTIME.
95445
95446 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95447
95448         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95449         Check for clock_settime.
95450
95451 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95452
95453         * lib/nanosleep.h: Rename to....
95454         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95455
95456         * lib/gettime.c: New file.
95457         * lib/settime.c: New file.
95458         * lib/stime.c: Remove.
95459
95460         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95461         timespec.h.  Remove nanosleep.h.
95462
95463 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95464
95465         * m4/acl.m4: New file.
95466         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95467         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95468
95469 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95470
95471         * lib/acl.c, lib/acl.h: New files.
95472         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95473
95474 2002-02-24  Jim Meyering  <meyering@lucent.com>
95475
95476         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95477         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95478         cause trouble.  Reported by Nelson Beebe.
95479
95480 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95481
95482         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95483         compilers that don't know that xalloc_die never returns.
95484
95485 2002-02-20  Jim Meyering  <meyering@lucent.com>
95486
95487         * lib/getdate.c: Regenerate using bison-1.33.
95488
95489 2002-02-17  Jim Meyering  <meyering@lucent.com>
95490
95491         * config/config.guess (main): Don't use `head -1'; it's no longer
95492         portable. Use `sed 1q' instead.
95493
95494 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95495
95496         * m4/codeset.m4: Upgrade to gettext-0.11.
95497         * m4/gettext.m4: Upgrade to gettext-0.11.
95498         * m4/glibc21.m4: Upgrade to gettext-0.11.
95499         * m4/iconv.m4: Upgrade to gettext-0.11.
95500         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95501         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95502         * m4/lib-ld.m4: New file, from gettext-0.11.
95503         * m4/lib-link.m4: New file, from gettext-0.11.
95504         * m4/lib-prefix.m4: New file, from gettext-0.11.
95505         * m4/progtest.m4: Upgrade to gettext-0.11.
95506
95507 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95508
95509         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95510         (jm_PREREQ): Use it.
95511
95512 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95513
95514         * lib/posixver.c, lib/posixver.h: New files.
95515         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95516
95517 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95518             Bruno Haible  <bruno@clisp.org>
95519
95520         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95521         (fwrite_success_callback): New declaration.
95522         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95523         print_unicode_char. Call failure callback instead of error.
95524         (fwrite_success_callback): New function.
95525         (exit_failure_callback): New function.
95526         (fallback_failure_callback): New function.
95527         (print_unicode_char): Call unicode_to_mb.
95528
95529 2002-01-26  Jim Meyering  <meyering@lucent.com>
95530
95531         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95532         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95533
95534 2002-01-26  Jim Meyering  <meyering@lucent.com>
95535
95536         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95537
95538 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95539
95540         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95541
95542 2002-01-22  Jim Meyering  <meyering@lucent.com>
95543
95544         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95545         Otherwise, some versions of automake would omit the rule that makes
95546         Makefile from Makefile.in.
95547
95548 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95549
95550         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95551         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95552         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95553         (memcoll): Set errno to zero if there is no error.
95554
95555         * lib/quotearg.c (quotearg_buffer_restyled):
95556         Fix bug with quoting buffers containing NUL when backslashing escapes.
95557         This bug was exposed by the other changes in this patch.
95558         (quotearg_n_options): New arg ARGSIZE.
95559         All callers changed.
95560         (quoting_options_from_style): New function.
95561         (quotearg_n_style): Use it.
95562         (quotearg_n_style_mem): New function.
95563
95564         * lib/quotearg.h (quotearg_n_style_mem): New function.
95565
95566 2002-01-19  Jim Meyering  <meyering@lucent.com>
95567
95568         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95569         Remove useless quotes: DF_PROG="df".
95570         * m4/strnlen.m4: New file.
95571
95572 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95573
95574         * lib/backupfile.c (ISDIGIT): Comment fix.
95575         * lib/getdate.y (ISDIGIT): Likewise.
95576         * lib/posixtm.c (ISDIGIT, year): Likewise.
95577         * lib/strverscmp.c (ISDIGIT): Likewise.
95578         * lib/userspec.c (ISDIGIT): Likewise.
95579
95580 2002-01-16  Jim Meyering  <meyering@lucent.com>
95581
95582         * lib/getdate.y: Add three semicolons, each just before a closing
95583         brace. Bison (as of version 1.31) no longer papers over that mistake.
95584
95585 2002-01-05  Jim Meyering  <meyering@lucent.com>
95586
95587         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95588
95589 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95590
95591         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95592         not silently exit merely because the output buffer happens to
95593         have nothing pending.
95594
95595 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95596
95597         See the big note in ../ChangeLog.
95598         * lib/human.c (suffixes): Prefer K to k for 1024.
95599         (generate_suffix_backwards): New function.
95600         (human_readable_inexact): Use it.
95601         * lib/xstrtol.c (__xstrtol): If there is no number but there
95602         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95603         Accept 'K' as well as 'k'.
95604
95605 2001-12-15  Jim Meyering  <meyering@lucent.com>
95606
95607         * lib/regex.h (__restrict_arr): Update from libc.
95608
95609         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95610         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95611         (STREQ): Define.
95612
95613 2001-12-14  Jim Meyering  <meyering@lucent.com>
95614
95615         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95616         Suggestion from Bruno Haible.
95617
95618 2001-12-10  Jim Meyering  <meyering@lucent.com>
95619
95620         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95621         xrealloc, Instead, include "xalloc.h".
95622         (initbuffer): Don't cast xmalloc return value to char*.
95623         (readline): Reword comment.
95624         Don't cast xrealloc return value to char*
95625         Return NULL, not 0.
95626
95627 2001-12-09  Jim Meyering  <meyering@lucent.com>
95628
95629         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95630         about `signed and unsigned type in conditional expression'.
95631         * lib/posixtm.c (posix_time_parse): Likewise.
95632
95633         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95634
95635         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95636         to avoid a pedantic warning.
95637
95638         * lib/getstr.c: Don't include assert.h.
95639         (getstr): Remove warning-evoking assertions.
95640         Return -1 if offset parameter is out of bounds.
95641         Change the type of a local from int to size_t.
95642
95643         * lib/strftime.c (my_strftime_localtime_r): Include this function
95644         definition in the `#if ! HAVE_TM_GMTOFF' block.
95645
95646         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95647         Include xalloc.h instead.
95648
95649 2001-12-02  Jim Meyering  <meyering@lucent.com>
95650
95651         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95652         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95653         included.
95654
95655         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95656         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95657
95658 2001-11-30  Akim Demaille  <akim@epita.fr>
95659
95660         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95661         before being defined.
95662
95663 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95664
95665         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95666         First arg is int, not unsigned.
95667         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95668         (SIZE_MAX, UINT_MAX): New macros.
95669         (quotearg_n_options): Abort if N is negative.
95670         Avoid overflow check on hosts where size_t is 64 bits and int
95671         is 32 bits, as overflow is impossible there.
95672         Fix off-by-one typo that caused unnecessary reallocation.
95673
95674 2001-11-27  Jim Meyering  <meyering@lucent.com>
95675
95676         * lib/tempname.c: Merge with version from libc.
95677         * lib/regex.c: Likewise.
95678
95679         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95680         systems for which STDC_HEADERS is 0, it was not included, resulting in
95681         a warning about an integer-to-pointer conversion problem with getenv.
95682         Reported by Volker Borchert.
95683
95684 2001-11-26  Jim Meyering  <meyering@lucent.com>
95685
95686         * lib/gtod.h: Remove file.
95687         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95688         * lib/gettimeofday.c: Don't include gtod.h.
95689         (GTOD_init): Remove function.
95690         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95691         Suggestion from Volker Borchert.
95692
95693 2001-11-23  Jim Meyering  <meyering@lucent.com>
95694
95695         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95696         it.
95697         * lib/hash.c (struct hash_table): Define it here instead.
95698
95699 2001-11-22  Jim Meyering  <meyering@lucent.com>
95700
95701         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95702
95703 2001-11-20  Jim Meyering  <meyering@lucent.com>
95704
95705         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95706         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95707
95708 2001-11-19  Jim Meyering  <meyering@lucent.com>
95709
95710         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95711         directory.  Use "conftestXXXXXX" as the template.
95712         Suggestion from Paul Eggert.
95713
95714         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95715         immediately, so the test doesn't mistakenly hit the max-open-files
95716         limit.
95717
95718 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95719
95720         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95721         (TEMPORARIES): New macro.
95722         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95723         removes an artificial limitation (e.g. HP-UX 10.20, where
95724         TMP_MAX is 17576).
95725
95726 2001-11-18  Jim Meyering  <meyering@lucent.com>
95727
95728         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95729
95730 2001-11-18  Jim Meyering  <meyering@lucent.com>
95731
95732         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95733         on SunOS 4.
95734
95735         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95736         files will be created before anything else.
95737
95738 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95739
95740         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95741         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95742
95743 2001-11-17  Jim Meyering  <meyering@lucent.com>
95744
95745         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95746         Prompted by a report from Bob Proulx.
95747
95748         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95749         Instead, require UTILS_FUNC_MKSTEMP.
95750
95751 2001-11-17  Jim Meyering  <meyering@lucent.com>
95752
95753         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95754         Now, that's done as part of AC_FUNC_STRTOD.
95755
95756 2001-11-17  Jim Meyering  <meyering@lucent.com>
95757
95758         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95759         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95760         rather than group writable.  Patch by Juan F. Codagnone.
95761
95762         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95763         xrealloc, Instead, include "xalloc.h".
95764
95765         * lib/mountlist.c: Include unlocked-io.h after all system headers.
95766         Remove explicit declarations of xmalloc, xrealloc,
95767         and xstrdup.  Instead, include "xalloc.h".
95768
95769         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
95770         unlocked-io.h.
95771         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
95772         Likewise.
95773         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
95774
95775         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
95776         Reported by Padraig Brady.
95777
95778         * lib/mkstemp.c: #undef mkstemp.
95779         Include config.h.
95780         (rpl_mkstemp): Rename from mkstemp.
95781         Protoize.
95782
95783 2001-11-16  Jim Meyering  <meyering@lucent.com>
95784
95785         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
95786         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
95787         determine the amount of total physical memory, use pstat_getstatic.
95788         HPUX-11 doesn't define _SC_PHYS_PAGES.
95789         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
95790         If sysconf couldn't be used to determine the amount of available
95791         physical memory, use both pstat_getstatic and pstat_getdynamic.
95792         Based on a patch from Bob Proulx.
95793
95794 2001-11-10  Jim Meyering  <meyering@lucent.com>
95795
95796         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
95797         (jm_PREREQ): Use it.
95798
95799 2001-11-09  Jim Meyering  <meyering@lucent.com>
95800
95801         * m4/jm-macros.m4: Require autoconf-2.52f.
95802         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
95803         Use these AC_-prefixed names, not the AM_-prefixed ones.
95804
95805         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
95806
95807 2001-11-05  Jim Meyering  <meyering@lucent.com>
95808
95809         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
95810
95811 2001-11-04  Jim Meyering  <meyering@lucent.com>
95812
95813         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
95814         $DEFS.
95815
95816 2001-11-03  Jim Meyering  <meyering@lucent.com>
95817
95818         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
95819         of AC_DEFUN.
95820
95821         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
95822         know the name of the variable in the macro definition.
95823
95824 2001-11-03  Jim Meyering  <meyering@lucent.com>
95825
95826         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
95827         in argmatch_to_argument call.
95828
95829         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
95830         argument.
95831
95832         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
95833         e.g., a fault due to an attempt to free a NULL pointer.
95834
95835 2001-11-01  Jim Meyering  <meyering@lucent.com>
95836
95837         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
95838         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
95839
95840 2001-11-01  Jim Meyering  <meyering@lucent.com>
95841
95842         * lib/dirfd.c, lib/dirfd.h: New files.
95843         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
95844
95845         * lib/hash.c (hash_print) [TESTING]: Clean up.
95846
95847 2001-10-22  Paul Eggert  <eggert@twinsun.com>
95848
95849         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
95850         to avoid a warning if -Wall.
95851
95852 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
95853
95854         * README: New file
95855         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
95856         (per RMS's instructions, this is now the canonical source)
95857         * lgpl/, gpl/: New directories.
95858
95859 2001-10-21  Paul Eggert  <eggert@twinsun.com>
95860
95861         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
95862
95863 2001-10-21  Jim Meyering  <meyering@lucent.com>
95864
95865         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
95866         this code would end up calling gettext even in packages built
95867         with --disable-nls.
95868         * lib/getopt.c (_): Likewise.
95869         * lib/regex.c (_): Likewise.
95870
95871 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95872
95873         * m4/error.m4 (jm_PREREQ_ERROR):
95874         Do not invoke AC_CHECK_FUNCS with strerror_r, as
95875         AC_FUNC_STRERROR_R does that.
95876         Check for strerror declaration.
95877
95878         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
95879         are supposed to have them these days.
95880         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
95881         Merge changes from latest Autoconf CVS.
95882         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
95883         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
95884         POSIX decided to standardize on the int flavor of strerror_r.
95885
95886 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95887
95888         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
95889         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
95890         Use strerror_r that is only a macro, even if it is not a function.
95891         (strerror): Check for HAVE_DECL_STRERROR before declaring.
95892         (private_strerror): Use prototypes, not old-style function definition.
95893         (print_errno_message): New function.
95894         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
95895         char*-flavored one.
95896         (error_tail, error, error_at_line): Use it.
95897
95898 2001-10-11  Jim Meyering  <meyering@lucent.com>
95899
95900         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
95901         and quote_n (1, ... to avoid clobbering a buffer.
95902
95903 2001-10-05  Jim Meyering  <meyering@lucent.com>
95904
95905         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
95906         hash-pjw.h.
95907         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
95908         * lib/hash-pjw.h: New file.
95909
95910 2001-09-30  Jim Meyering  <meyering@lucent.com>
95911
95912         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
95913         `struct fsstat' has the `f_fstypename' member.
95914         Use that to define FS_TYPE, which is now used to make
95915         the getfsstat link test tighter.
95916
95917 2001-09-30  Jim Meyering  <meyering@lucent.com>
95918
95919         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
95920         Include <sys/ucred.h>, for Apple Darwin.
95921         Include sys/mount.h and sys/fs_types.h only if available.
95922         (FS_TYPE): Define.
95923         (read_filesystem_list): Use FS_TYPE.
95924
95925 2001-09-29  Paul Eggert  <eggert@twinsun.com>
95926
95927         * lib/exclude.c (excluded_filename): 0 -> false, since it's
95928         a boolean context.
95929
95930 2001-09-29  Jim Meyering  <meyering@lucent.com>
95931
95932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95933         [one-argument getmntent function]): Include stdio.h before mntent.h.
95934         SunOS 4.1.x needs it for the declaration of `FILE'.
95935         Patch by Volker Borchert.
95936
95937         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95938         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95939         sys/fs_types.h, and make the link-test for getfsstat guard #include
95940         directives with appropriate #if HAVE_*_H tests so that we can
95941         detect getfsstat on Apple Darwin1.3.7 systems.
95942         Reported by Nelson Beebe.
95943         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
95944
95945 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95946
95947         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95948         #defines strtoimax.  Also treat the other strto* functions
95949         like strtoimax.
95950
95951         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95952         Check for strtoul and strtoumax,
95953         as those declarations are made even in the signed case.
95954         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
95955         Likewise, for strtol and strtoimax.
95956
95957 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95958
95959         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95960         #defines strtoimax.  Also treat the other strto* functions
95961         like strtoimax.
95962
95963         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
95964         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
95965         (strtoimax, strtoumax): Do not declare if already defined as a macro.
95966
95967 2001-09-26  Jim Meyering  <meyering@lucent.com>
95968
95969         Most macros in unlocked-io.h had the wrong number of arguments.
95970         * lib/gen-uio: New script.
95971         (USE_UNLOCKED_IO): Define to 1 if not already defined.
95972         * lib/unlocked-io.hin: Remove file.
95973         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
95974         rather than trying to embed it here.
95975         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
95976         Reported by Padraig Brady.
95977
95978 2001-09-25  Volker Borchert  <bt@teknon.de>
95979
95980         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
95981         `result'.
95982
95983 2001-09-24  Jim Meyering  <meyering@lucent.com>
95984
95985         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
95986
95987 2001-09-23  Jim Meyering  <meyering@lucent.com>
95988
95989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
95990         instead of the mere test for existence of mntent.h.  The latter
95991         would get a false-positive on AIX 3.4 systems.
95992         In the outer getmntent if-block, don't die if neither of the getmntent
95993         tests succeeds.  Instead, just fall through and continue with the
95994         remaining tests.
95995
95996 2001-09-23  Jim Meyering  <meyering@lucent.com>
95997
95998         * lib/mountlist.c: Remove useless parentheses in #if directives.
95999         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96000         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96001
96002 2001-09-22  Jim Meyering  <meyering@lucent.com>
96003
96004         * m4/gettext.m4: New file.  From gettext.
96005         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96006         * m4/progtest.m4: Likewise
96007         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96008         * m4/glibc21.m4: Likewise.
96009
96010         * m4/libintl.m4: Remove.  No longer used.
96011
96012 2001-09-22  Jim Meyering  <meyering@lucent.com>
96013
96014         * lib/localcharset.c: Update from latest gettext.
96015         * lib/config.charset: Likewise.
96016
96017 2001-09-20  Jim Meyering  <meyering@lucent.com>
96018
96019         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96020         strtoimax.
96021         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96022         strtoumax.
96023
96024 2001-09-20  Jim Meyering  <meyering@lucent.com>
96025
96026         * lib/xstrtol.c (strtoimax): Guard declaration with
96027         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96028         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96029         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96030         (strtoumax): Likewise, for completeness (it wasn't necessary).
96031
96032 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96033
96034         * lib/strtoimax.c (HAVE_LONG_LONG):
96035         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96036         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96037         to work around bug in IBM C compiler.
96038
96039 2001-09-17  Jim Meyering  <meyering@lucent.com>
96040
96041         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96042         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96043         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96044         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96045         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96046         whenever the right hand side need not be expanded by the shell.
96047
96048 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96049
96050         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96051         library.  It's not correct, as some older glibcs are buggy.
96052         fnmatch wasn't fixed until glibc 2.2.
96053
96054         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96055         special shell magic here.
96056
96057 2001-09-16  Jim Meyering  <meyering@lucent.com>
96058
96059         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96060         * m4/jm-macros.m4: Require it.
96061
96062 2001-09-16  Jim Meyering  <meyering@lucent.com>
96063
96064         * lib/mkdir.c: New file.
96065
96066 2001-09-15  Jim Meyering  <meyering@lucent.com>
96067
96068         * m4/jm-macros.m4: Check for help2man.
96069
96070 2001-09-11  Jim Meyering  <meyering@lucent.com>
96071
96072         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96073         The body, by Paul Eggert, was moved here from configure.in.
96074         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96075
96076 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96077
96078         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96079         (jm_PREREQ): Use it.
96080
96081 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96082
96083         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96084         Use ssize_t, not int, to store result of readlink.
96085         Check for ssize_t overflow as well as size_t overflow,
96086         as POSIX says the result of readlink is implementation-defined
96087         when ssize_t overflows.
96088         Remove unnecessary cast to char*.
96089         Use free+malloc instead of realloc, as the storage doesn't need
96090         to be preserved and it's clearer and can be more efficient that way.
96091         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96092         * lib/xreadlink.h (xreadlink): Update prototype.
96093
96094 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96095
96096         * lib/xgetcwd.c: Revert some of the previous change; intead,
96097         fix the HAVE_GETCWD_NULL code to behave more like the
96098         !HAVE_GETCWD_NULL code used to.
96099
96100         Include "xalloc.h".
96101         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96102         invoke xalloc_die.
96103
96104 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96105
96106         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96107         sys/param.h, as pathmax.h includes them.
96108
96109 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96110
96111         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96112         (jm_PREREQ_XGETCWD): New macro.
96113
96114         * m4/getcwd.m4: New file.
96115
96116 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96117
96118         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96119         like the HAVE_GETCWD_NULL code.
96120         Include pathmax.h if not HAVE_GETCWD.
96121         Do not include xalloc.h.
96122         (INITIAL_BUFFER_SIZE): New symbol.
96123         Do not use xmalloc / xrealloc, since the caller is responsible for
96124         handling errors.  Preserve errno around `free' during failure.
96125         Do not overrun buffer when using getwd.
96126
96127 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96128
96129         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96130         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96131         getcwd (NULL, 0).
96132
96133 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96134
96135         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96136         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96137         spotted by Jim Meyering.
96138
96139 2001-09-03  Jim Meyering  <meyering@lucent.com>
96140
96141         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96142         failure.
96143
96144 2001-09-02  Jim Meyering  <meyering@lucent.com>
96145
96146         * lib/error.c: Update from GNU libc.
96147
96148 2001-09-01  Jim Meyering  <meyering@lucent.com>
96149
96150         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96151         Used by df.
96152
96153 2001-09-01  Jim Meyering  <meyering@lucent.com>
96154
96155         * lib/xreadlink.c: New file.
96156         * lib/xreadlink.h: New file.
96157         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96158         xreadlink.h.
96159
96160         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96161         doesn't conflict with sparc Solaris 7's definition in
96162         /usr/include/sys/int_types.h.
96163
96164         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96165         files.
96166         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96167         and strncasecmp as r-values.  Unixware didn't have declarations.
96168
96169 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96170
96171         * lib/xstrtol.h: Add copyright notice.
96172         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96173         LONGINT_INVALID_SUFFIX_CHAR.
96174
96175 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96176
96177         * lib/xstrtol.c (strtoimax): New decl.
96178
96179 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96180
96181         * lib/xgetcwd.c: Don't include pathmax.h.
96182         Include stdlib.h and unistd.h if available.
96183         Include xalloc.h.
96184         (xmalloc, xstrdup, free): Remove decls.
96185         (xgetcwd): Don't assume sizes fit in unsigned.
96186         Check for overflow when computing sizes.
96187         Simplify reallocation code.
96188
96189 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96190
96191         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96192         a directory's st_size can have an arbitrary value, so the old
96193         usage could waste an arbitrary amount of memory.  All uses
96194         changed.
96195         * lib/savedir.h: Update prototype.
96196
96197 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96198
96199         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96200
96201         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96202         old strtoimax.c.
96203
96204         Also, make the following further changes to make this file's
96205         configuration more similar to that of strtol.c:
96206         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96207         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96208         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96209         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96210         changed to signed values.
96211
96212         And make the following changes as well:
96213         Fix copyright notice, as 1999 was missing.
96214         (verify): New macro.
96215         (strtoimax): Check sizes at compile-time, not run-time.
96216         Prefer strtol to strtoll if both work.
96217         (main): Remove; it was not that useful and was a pain to maintain.
96218
96219         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96220
96221 2001-08-31  Jim Meyering  <meyering@lucent.com>
96222
96223         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96224         Use an initial, malloc'd, buffer of length 128 rather than
96225         a statically allocated one of length 1024.
96226
96227 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96228
96229         Simplify code, partly by assuming autoconf 2.52 semantics.
96230
96231         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96232
96233         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96234         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96235         All uses removed.
96236         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96237         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96238         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96239         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96240         jm_AC_HEADER_INTTYPES_H.
96241         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96242
96243         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96244
96245         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96246         Quote first arg of AC_DEFUN.
96247         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96248         since they are needed to parse the include file even if we need
96249         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96250         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96251         but with opposite signedness.
96252
96253 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96254
96255         Merge 'exclude' changes from tar 1.13.22.
96256         This fixes one or two unlikely storage allocation overflow bugs,
96257         but doesn't change user-visible behavior otherwise.
96258
96259 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96260
96261         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96262         (jm_PREREQ_EXCLUDE): New macro.
96263
96264 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96265
96266         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96267         tm to be declared.
96268
96269 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96270
96271         * lib/hash.c: Remove '2001' from copyright notice.
96272
96273 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96274
96275         * lib/full-write.h: New file.
96276         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96277         * lib/full-write.c: Correct credits, as cccp.c no longer
96278         exists and anyway it was so heavily changed from the old cccp
96279         code as to be unrecognizable.  Include full-write.h.
96280         (full_write): Return size_t, with short writes meaning failure.
96281         All callers changed.  This fixes a bug with large buffers
96282         on 64-bit hosts.
96283         * lib/utime.c: Include full-write.h.
96284
96285 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96286
96287         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96288         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96289         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96290         Include if available.
96291         (<xalloc.h>): Include
96292         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96293         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96294         collide with FNM macros.
96295         (struct patopts): New struct.
96296         (struct exclude): Use it, as exclude patterns now come with options.
96297         (new_exclude): Support above changes.
96298         (new_exclude, add_exclude_file):
96299         Initial size must now be a power of two to simplify overflow checking.
96300         (free_exclude, fnmatch_no_wildcards): New function.
96301         (excluded_filename): No longer requires options arg, as the options
96302         are determined by add_exclude.  Now returns bool, not int.
96303         (excluded_filename, add_exclude):
96304         Add support for the fancy new exclusion options.
96305         (add_exclude, add_exclude_file): Now takes int options arg.
96306         Check for arithmetic overflow when computing sizes.
96307         (add_exclude_file): xrealloc might modify errno, so don't
96308         realloc until after errno might be used.
96309
96310         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96311         New macros.
96312         (free_exclude): New decl.
96313         (add_exclude, add_exclude_file): Now takes int options arg.
96314         (excluded_filename): No longer requires options arg, as the options
96315         are determined by add_exclude.  Now returns bool, not int.
96316
96317 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96318
96319         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96320
96321 2001-08-27  Jim Meyering  <meyering@lucent.com>
96322
96323         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96324
96325         * lib/version-etc.c (N_): Remove definition.
96326         Revert most of last change.
96327         Instead, simply don't mark the `Copyright...' string for translation.
96328         Based on advice from Paul Eggert.
96329
96330         * lib/strtoxmax.c: Tweak comment.
96331
96332 2001-08-26  Jim Meyering  <meyering@lucent.com>
96333
96334         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96335
96336         * m4/xstrtoimax.m4: New file.
96337         * m4/xstrtoumax.m4: Add comments explaining why we
96338         AC_REPLACE_FUNCS(strtol).
96339
96340 2001-08-26  Jim Meyering  <meyering@lucent.com>
96341
96342         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96343         of copyright with `%s' so translators don't get an untranslated
96344         message in 2002.
96345         (COPYRIGHT_YEAR): Define.
96346         (version_etc): Use fprintf rather than fputs.
96347         Suggestion from Ulrich Drepper.
96348
96349         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96350
96351         * lib/strtoll.c: New file, from GNU libc.
96352         * lib/xstrtoimax.c: New file.
96353
96354         * lib/xstrtol.h: Add xstrtoimax.
96355         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96356         * lib/strtoimax.c: New file.  Likewise, but first define
96357         STRTOUXMAX_SIGNED.
96358
96359         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96360         ...
96361         * lib/strtoxmax.c: ... then renamed to this.
96362
96363 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96364
96365         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96366         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96367         (jm_AC_TYPE_INTMAX_T): New macro.
96368         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96369
96370         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96371
96372         * m4/longlong.m4: Renamed from ulonglong.m4.
96373         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96374         * m4/uintmax_t.m4: Removed.
96375
96376 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96377
96378         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96379         Port to Solaris 8, where 'sed' requires a space after the 'r'
96380         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96381         Redirect output to $tmp just once.
96382
96383 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96384
96385         * lib/addext.c (<errno.h>): Include.
96386         (errno): Declare if not defined.
96387         (addext): Work correctly when pathconf returns -1 and leaves
96388         errno alone because there is no limit.  Also, work even if
96389         pathconf returns a value greater than SIZE_MAX.
96390
96391 2001-08-12  Jim Meyering  <meyering@lucent.com>
96392
96393         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96394         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96395         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96396         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96397         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96398         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96399         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96400         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96401         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96402         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96403         utime.m4, utimes.m4, xstrtoumax.m4:
96404         Quote the first argument in each use of AC_DEFUN.
96405
96406 2001-08-12  Jim Meyering  <meyering@lucent.com>
96407
96408         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96409         Simply `return getcwd (NULL, 0);'.
96410         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96411         Use 1300 as initial value for length, not PATH_MAX.
96412
96413         * lib/pathmax.h: Clean up cpp syntax.
96414
96415 2001-08-12  Jim Meyering  <meyering@lucent.com>
96416
96417         * lib/gettimeofday.c: New file.
96418         * lib/gtod.h: New file.
96419         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96420
96421 2001-08-05  Jim Meyering  <meyering@lucent.com>
96422
96423         * m4/jm-macros.m4: Require autoconf-2.52.
96424
96425 2001-08-04  Jim Meyering  <meyering@lucent.com>
96426
96427         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96428         stmt, to get in sync with glibc.
96429
96430 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96431
96432         The following changes are from gettext 0.10.39 as maintained by
96433         Bruno Haible.
96434
96435         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96436         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96437         with inverted sense.  All uses changed.
96438
96439         * lib/mbswidth.c: Don't include <limits.h>.
96440         Include <stdlib.h> and <string.h> unconditionally.
96441         (iswcntrl, mbsinit, ISCNTRL): New macros.
96442         (mbsnwidth): Use K&R style function declarations.
96443         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96444         can optimize it when MB_CUR_MAX == 1.
96445         The width of control characters is zero, not 1.
96446
96447 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96448
96449         The following changes are from gettext 0.10.39 as maintained by
96450         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96451
96452         * m4/codeset.m4: Upgrade to serial AM1.
96453         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96454         all uses changed.  Quote first arg of AC_DEFUN.
96455         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96456
96457         * m4/iconv.m4: Upgrade to serial AM2.
96458         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96459         Add --with-libconv-prefix.
96460         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96461         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96462         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96463         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96464         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96465
96466         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96467         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96468         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96469         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96470         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96471         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96472         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96473         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96474         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96475
96476         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96477         string.h any more.
96478
96479         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96480         not the default value.
96481
96482         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96483         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96484         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96485         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96486         Also check for iswcntrl, used for wcwidth fallback.
96487         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96488         to Autoconf 2.13.
96489
96490 2001-08-03  Jim Meyering  <meyering@lucent.com>
96491
96492         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96493         as it was in the original.  Reported by Paul Eggert.
96494
96495 2001-07-16  Jim Meyering  <meyering@lucent.com>
96496
96497         * m4/gettimeofday.m4: New file.
96498         Prompted by a report from Bernhard Baehr.
96499
96500 2001-07-15  Jim Meyering  <meyering@lucent.com>
96501
96502         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96503         stuff. Now it's in ../Makefile.cfg.
96504
96505 2001-07-15  Jim Meyering  <meyering@lucent.com>
96506
96507         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96508         (BUILT_SOURCES): Add unlocked-io.h.
96509         (io_functions): Define.
96510         (unlocked-io.h): New rule.
96511         (DISTCLEANFILES): Add unlocked-io.h.
96512         (all-local): Depend on unlocked-io.h, to ensure it is created.
96513
96514         * lib/unlocked-io.hin: New file
96515
96516         * lib/regex.c: Update from glibc.
96517
96518 2001-07-05  Jim Meyering  <meyering@lucent.com>
96519
96520         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96521         recommendation.
96522         (libfetish_a_SOURCES): Put all .h files here instead.
96523         Remove a thus-exposed (better checks in automake) duplicate and
96524         two unnecessary .h files.
96525
96526 2001-07-04  Jim Meyering  <meyering@lucent.com>
96527
96528         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96529         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96530         distcheck failure.
96531
96532 2001-07-02  Jim Meyering  <meyering@lucent.com>
96533
96534         The following changes were prompted by suggestions from Bruno Haible.
96535
96536         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96537         is now generated.
96538         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96539         definition of EXTRA_DIST.
96540         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96541         ensure that the generated file is created/updated whenever the list
96542         of $(unlocked_functions) is changed.
96543         (jm-glibc-io.m4): New rule.
96544         (unlocked-io.h): New rule -- currently unused.
96545
96546 2001-06-24  Jim Meyering  <meyering@lucent.com>
96547
96548         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96549         unmatched right bracket, rather than kludging it with an extra,
96550         falsely-matching quote in a comment.  Patch by Akim Demaille.
96551
96552 2001-06-11  Jim Meyering  <meyering@lucent.com>
96553
96554         * lib/regex.c: Update from GNU libc.
96555
96556 2001-05-27  Jim Meyering  <meyering@lucent.com>
96557
96558         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96559         Check for ut_type in struct utmp.
96560
96561 2001-05-27  Jim Meyering  <meyering@lucent.com>
96562
96563         * lib/readutmp.h (UT_TYPE): Define.
96564
96565 2001-05-24  Jim Meyering  <meyering@lucent.com>
96566
96567         * lib/argmatch.c: Include "quote.h".
96568         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96569         quote function.  Reported by Göran Uddeborg.
96570
96571 2001-05-22  Jim Meyering  <meyering@lucent.com>
96572
96573         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96574         now that we use the package-supplied version unconditionally.
96575         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96576
96577 2001-05-21  Jim Meyering  <meyering@lucent.com>
96578
96579         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96580         shell syntax errors.
96581
96582 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96583
96584         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96585
96586 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96587
96588         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96589         Don't bother to check library strftime, since
96590         we'll be using our own my_strftime function anyway.
96591         Define my_strftime instead of strftime.
96592
96593 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96594
96595         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96596         which is not yet declared.
96597
96598 2001-05-15  Jim Meyering  <meyering@lucent.com>
96599
96600         * m4/regex.m4: Use proper quoting so brackets appear in the test
96601         program.
96602         Reported by, and with help from, Bruno Haible.
96603
96604 2001-05-13  Jim Meyering  <meyering@lucent.com>
96605
96606         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96607         undefined.
96608
96609 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96610
96611         dirname code cleanup.  base_name now behaves more compatibly
96612         with POSIX basename when given file names that have trailing
96613         slashes, and similarly for dir_name.  Add new primitives
96614         base_len and dir_len.  Put the directory-name-related decls
96615         into dirname.h.
96616
96617         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96618         * lib/backupfile.c (base_name): Likewise.
96619         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96620         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96621         * lib/makepath.c (strip_trailing_slashes): Likewise.
96622         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96623         ISSLASH): Likewise.
96624         * lib/rename.c (strip_trailing_slashes): Likewise.
96625         * lib/same.c (base_name): Likewise.
96626         * lib/stripslash.c (ISSLASH): Likewise.
96627
96628         * lib/addext.c: Include <dirname.h> after size_t is defined.
96629         * lib/backupfile.c: Likewise.
96630
96631         * lib/addext.c (addext): Use base_len to trim redundant
96632         trailing slashes instead of doing it ourselves.
96633         But do not trim the last slash if it is not redundant.
96634
96635         * lib/backupfile.c (find_backup_file_name,
96636         max_backup_version): Use base_len instead of rolling it ourselves.
96637         Handle the case of "" and (on DOS) "C:" correctly.
96638
96639         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96640         needed. Include <string.h>, <dirname.h>.
96641         (base_name): Allow file names ending in slashes, other than names
96642         that are all slashes.  In this case, return the basename followed
96643         by the slashes.  This is more general, and can be used in places
96644         where the original base_name purposely had an assertion failure.
96645         (base_len): New function.
96646
96647         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96648         Do not include <assert.h>; no longer needed.
96649         Include xalloc.h.
96650         (memrchr): Remove decl.
96651         (dir_name_r): Remove.
96652         (dir_len): Renamed from dirlen.  All callers changed.
96653         Rewrite in terms of base_name, for simplicity and consistency.
96654         (dir_name): Never return NULL.  All callers changed.
96655         Do not include <stdlib.h> in test program; no longer needed.
96656         return 0; is fine for test program.
96657
96658         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96659         New macros.
96660         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96661
96662         * lib/path-concat.c (path_concat): Use base_len to compute
96663         base length, not strlen; this means we cannot rely on memcpy
96664         to null-terminate.
96665
96666         * lib/same.c (STREQ): Remove.
96667         (same_name): Handle the case where the basename ends in trailing '/'.
96668
96669         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96670         a slash was stripped.  Do not strip the last slash after a
96671         file system prefix.
96672
96673 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96674
96675         * lib/Makefile.am (libfetish_a_SOURCES):
96676         Add strftime.c, since we now compile it on all hosts.
96677
96678         * lib/strftime.c (my_strftime):
96679         Define to nstrftime if emacs, but only if my_strftime is not defined.
96680         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96681         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96682         Add one more extra argument: a nanoseconds value.
96683         All uses changed.
96684         (ns): New macro.
96685         (my_strftime function): Add %N format.
96686         (emacs_strftimeu): Renamed from emacs_strftime,
96687         with extra ut argument.
96688
96689 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96690
96691         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96692
96693 2001-04-21  Jim Meyering  <meyering@lucent.com>
96694
96695         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96696         doesn't interfere.
96697
96698 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96699
96700         * m4/ftruncate.m4: Check for chsize.
96701         Link with ftruncate.o unconditionally if ftruncate is missing.
96702         This was required when cross-compiling to i586-mingw32msvc.
96703
96704 2001-04-08  Jim Meyering  <meyering@lucent.com>
96705
96706         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96707         recomputed; that's necessary when the offset spans a DST transition.
96708         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96709
96710 2001-04-02  Jim Meyering  <meyering@lucent.com>
96711
96712         * lib/regex.h, regex.c: Update from GNU libc.
96713
96714 2001-03-24  Jim Meyering  <meyering@lucent.com>
96715
96716         * m4/jm-macros.m4: Require autoconf-2.49d.
96717
96718 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96719
96720         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96721
96722 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96723
96724         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96725
96726 2001-03-17  Jim Meyering  <meyering@lucent.com>
96727
96728         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96729         now that the version in autoconf is equivalent.
96730         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96731
96732         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96733         Suggestion from Akim Demaille.
96734
96735         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96736         (jm_PREREQ_TEMPNAME): New function.
96737
96738 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96739
96740         * lib/tempname.c (uint64_t): Define to uintmax_t if
96741         not defined, and if UINT64_MAX is not defined.
96742         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96743         Reported by John David Anglin.
96744
96745 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96746
96747         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96748         resolve alias if codeset is empty.
96749         * lib/config.charset (BeOS): Use wildcard syntax.
96750
96751 2001-03-13  Jim Meyering  <meyering@lucent.com>
96752
96753         * lib/path-concat.c (path_concat)
96754         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96755         concatenating e.g., `C:' and `foo'.
96756         From Bruno Haible.
96757
96758 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96759
96760         * lib/localcharset.c (locale_charset): Don't use
96761         setlocale(LC_CTYPE,NULL). Don't return NULL.
96762         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96763
96764 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96765
96766         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
96767         support for DOS/DJGPP.
96768
96769 2001-03-01  Paul Eggert  <eggert@twinsun.com>
96770
96771         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
96772         lacks mkstemp.  Compile our own tempname.c if we compile our own
96773         mkstemp.c, as mkstemp relies on tempname.
96774
96775 2001-03-01  Jim Meyering  <meyering@lucent.com>
96776
96777         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
96778         AH_VERBATIM really does output its argument verbatim.
96779
96780 2001-02-28  Paul Eggert  <eggert@twinsun.com>
96781
96782         * lib/Makefile.am (libfetish_a_SOURCES):
96783         Add dup-safer.c, fopen-safer.c.
96784         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
96785
96786         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
96787         * lib/unistd-safer.h: New files.
96788
96789 2001-02-25  Paul Eggert  <eggert@twinsun.com>
96790
96791         The mkstemp replacement is taken from glibc 2.2.2, with some
96792         portability fixes for use outside glibc, as follows:
96793
96794         * lib/tempname.c (struct_stat64): New macro.
96795         (direxists, __gen_tempname): Use it.
96796         This avoids a portability problem with Solaris 8.
96797
96798         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
96799         (<stddef.h>, <stdint.h>, <string.h>):
96800         Include only if STDC_HEADERS || _LIBC.
96801         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
96802         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
96803         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
96804         (__set_errno): Define this macro if <errno.h> doesn't.
96805         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
96806         Define these macros if <stdio.h> doesn't.
96807         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
96808         Define these macros if <sys/stat.h>
96809         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
96810         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
96811         __xstat64): Define if not _LIBC.
96812         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
96813         (__gen_tempname): Invoke gettimeofday only if
96814         HAVE_GETTIMEOFDAY || _LIBC;
96815         otherwise, fall back on plain "time".
96816         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
96817
96818         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
96819
96820         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
96821
96822 2001-02-18  Paul Eggert  <eggert@twinsun.com>
96823
96824         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
96825
96826 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96827
96828         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
96829         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
96830         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
96831         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96832
96833 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96834
96835         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
96836         Remove workaround macros for hosts that have mbrtowc but not
96837         mbstate_t, as we now insist on proper declarations for both
96838         before using mbrtowc.
96839
96840 2001-02-17  Jim Meyering  <meyering@lucent.com>
96841
96842         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
96843         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
96844         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
96845         UnixWare 7.1.1.
96846
96847         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
96848         rather than AC_CACHE_VAL.
96849
96850 2001-02-17  Jim Meyering  <meyering@lucent.com>
96851
96852         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
96853         around included file name.
96854
96855         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
96856
96857         * lib/strftime.c: Update from GNU libc (the only changes were to
96858         comments).
96859
96860 2001-02-17  Jim Meyering  <meyering@lucent.com>
96861
96862         * lib/regex.c: Update from libc.
96863
96864 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
96865
96866         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
96867         clash.
96868
96869 2001-02-16  Paul Eggert  <eggert@twinsun.com>
96870
96871         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
96872         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
96873         Reported by Mark Hounschell via Paul Eggert.
96874
96875 2001-02-07  Jim Meyering  <meyering@lucent.com>
96876
96877         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
96878
96879 2001-02-05  Jim Meyering  <meyering@lucent.com>
96880
96881         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
96882         it includes the patch required for `large file' support with at least
96883         HP-UX's 10.20 /bin/cc.
96884
96885 2001-02-03  Jim Meyering  <meyering@lucent.com>
96886
96887         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
96888         AS_IF, now that it works once again (mysteriously).
96889         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96890
96891 2001-01-30  Jim Meyering  <meyering@lucent.com>
96892
96893         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
96894         * m4/chown.m4: Rename conftestchown to conftest.chown.
96895         * m4/rename.m4: s/conftestdir/conftest.d1/ and
96896         s/conftestdir2/conftest.d2/.
96897         * m4/utimes.m4: s/conftestdata/conftest.data/
96898         Inspired by Pavel Roskin's change in autoconf.
96899
96900 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
96901
96902         * lib/config.charset: Update for FreeBSD 4.2.
96903
96904 2001-01-27  Jim Meyering  <meyering@lucent.com>
96905
96906         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
96907         a use of AS_IF.
96908         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96909
96910 2001-01-26  Jim Meyering  <meyering@lucent.com>
96911
96912         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
96913         quotearg.c includes it.
96914
96915 2001-01-26  Jim Meyering  <meyering@lucent.com>
96916
96917         * lib/quotearg.c: Include stddef.h.
96918         * lib/quote.c: Include stddef.h.
96919         Reported by Axel Kittenberger.
96920
96921         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
96922         line in double quotes so that it evokes a better diagnostic.
96923         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
96924         Reported by Axel Kittenberger.
96925
96926 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
96927
96928         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
96929         as if it was a `charset'.
96930
96931 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96932
96933         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96934         has const.
96935
96936 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96937
96938         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96939         to avoid a warning.  Add back 'const' to inptr.
96940
96941 2001-01-20  Jim Meyering  <meyering@lucent.com>
96942
96943         Be sure that headers are checked before used in code compiled
96944         for the type checks.
96945         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
96946         In place of that, invoke jm_CHECK_ALL_TYPES.
96947         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
96948         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
96949         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
96950         The check for ssize_t was mistakenly run before the test for unistd.h.
96951
96952         The configure-time check for stdbool.h was missing.
96953         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
96954         (jm_PREREQ_HASH): New function.
96955
96956 2001-01-17  Jim Meyering  <meyering@lucent.com>
96957
96958         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
96959         for autoconf-2.49c.
96960         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
96961
96962 2001-01-16  Jim Meyering  <meyering@lucent.com>
96963
96964         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
96965         From Bruno Haible.
96966
96967 2001-01-14  Jim Meyering  <meyering@lucent.com>
96968
96969         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
96970         foo and bar.  Create conftestdir/ in the script, not in the C code.
96971         Remove directories in the script, not in the C code.
96972         Remove conftestdir{,2} before trying to create the directory.
96973         Make the entire configure script fail if the mkdir fails.
96974
96975 2001-01-14  Jim Meyering  <meyering@lucent.com>
96976
96977         * lib/rename.c: New file.  From Volker Borchert.
96978         Include stdlib.h, string.h or strings.h, and xalloc.h.
96979         Use strip_trailing_slashes rather than open-coding it.
96980
96981 2001-01-03  Paul Eggert  <eggert@twinsun.com>
96982
96983         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
96984
96985 2001-01-03  Jim Meyering  <meyering@lucent.com>
96986
96987         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
96988         of local `inptr' to avoid warning with some system declarations of
96989         iconv.
96990
96991 2001-01-02  Volker Borchert  <bt@teknon.de>
96992
96993         * m4/rename.m4: New file.
96994         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
96995
96996 2001-01-01  Jim Meyering  <meyering@lucent.com>
96997
96998         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
96999         even on systems with utmpx.h.  It's necessary for the declaration of
97000         utmp's ut_user member.  Reported by Andreas Jaeger.
97001
97002         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97003         available. They are required for the declarations of getgrgid and
97004         getpwuid resp.
97005         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97006         Reported by Andreas Jaeger.
97007
97008 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97009
97010         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97011         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97012         so `make install' also works in VPATH builds.
97013
97014 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97015
97016         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97017         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97018         can be used in subdirectories.
97019
97020 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97021
97022         * lib/modechange.c: Do not assume that mode_t uses the
97023         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97024         the other-execute bit of FOO even if S_IXOTH != 1.
97025
97026         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97027         WOTH, XOTH, ALLM): New macros.
97028         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97029          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97030         Use them.
97031         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97032         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97033         (mode_compile):
97034         No need to use uintmax_t; unsigned long is long enough.
97035         Don't bother to get suffix since we don't use it.
97036
97037 2000-12-26  Jim Meyering  <meyering@lucent.com>
97038
97039         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97040         better with autoheader.
97041
97042 2000-12-24  Jim Meyering  <meyering@lucent.com>
97043
97044         * lib/hash.c (is_prime): Return explicit boolean values.
97045         (hash_get_first): Return NULL to appease Irix5.6's 89.
97046         Reported by Nelson Beebe.
97047
97048 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97049
97050         * lib/localcharset.c (locale_charset): Add support for Win32.
97051
97052 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97053
97054         * lib/physmem.h, lib/physmem.c: New files.
97055
97056         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97057         (noinst_HEADERS): Add physmem.h.
97058
97059         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97060         't' for compatibility with Solaris 8 sort.
97061
97062 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97063
97064         * lib/config.charset: Add support for BeOS.
97065
97066 2000-12-17  Jim Meyering  <meyering@lucent.com>
97067
97068         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97069         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97070
97071 2000-12-16  Jim Meyering  <meyering@lucent.com>
97072
97073         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97074         N and M) would have treated it like `chown N:N FILE'.
97075
97076         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97077
97078 2000-12-16  Jim Meyering  <meyering@lucent.com>
97079
97080         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97081         SHELLS_FILE to a file name that's useful on djgpp systems.
97082         Include stdlib.h.
97083         (ADDITIONAL_DEFAULT_SHELLS): Define.
97084         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97085         Based mostly on a patch from Prashant TR.
97086
97087 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97088
97089         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97090         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97091         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97092
97093 2000-12-08  Andreas Schwab  <schwab@suse.de>
97094
97095         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97096         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97097
97098 2000-12-07  Jim Meyering  <meyering@lucent.com>
97099
97100         * lib/stripslash.c (ISSLASH): Define.
97101         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97102         `/'.
97103         From Prashant TR.
97104
97105         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97106         (dir_name_r): Declare this function as static.
97107         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97108         manifest itself on a name containing a mix of slashes and
97109         backslashes.
97110         Make this function work with names starting with a DOS-style
97111         drive letter and colon prefix.
97112         (dir_name): Append `.' if necessary.
97113         Based mostly on patches from Prashant TR and Eli Zaretskii.
97114
97115         * lib/dirname.h (dir_name_r): Remove prototype.
97116
97117 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97118
97119         * m4/off_t-format.m4: Remove this file.
97120         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97121
97122 2000-12-06  Jim Meyering  <meyering@lucent.com>
97123
97124         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97125         replacement strtoull, we may well need the replacement strtoul, too.
97126         Check for declarations of strtoul and strtoull.
97127         Check for strtol.  Mainly as a cue to cause automake to include
97128         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97129         Check for limits.h -- strtol.c needs it.
97130
97131 2000-12-05  Jim Meyering  <meyering@lucent.com>
97132
97133         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97134
97135 2000-12-04  Jim Meyering  <meyering@lucent.com>
97136
97137         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97138         Also include memory.h, stdlib.h, unistd.h if appropriate.
97139         Reported by Andreas Jaeger (conflicting declaration of malloc).
97140
97141 2000-12-02  Jim Meyering  <meyering@lucent.com>
97142
97143         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97144         * m4/jm-macros.m4 (jm_MACROS): require it.
97145
97146 2000-12-02  Jim Meyering  <meyering@lucent.com>
97147
97148         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97149
97150 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97151
97152         * lib/memrchr.c: Include <config.h> before any system include file.
97153
97154 2000-11-30  Jim Meyering  <meyering@lucent.com>
97155
97156         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97157
97158 2000-11-30  Jim Meyering  <meyering@lucent.com>
97159
97160         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97161
97162 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97163
97164         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97165
97166 2000-11-26  Jim Meyering  <meyering@lucent.com>
97167
97168         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97169
97170 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97171
97172         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97173         size of (size_t) -1; it's not portable.
97174
97175 2000-11-17  Jim Meyering  <meyering@lucent.com>
97176
97177         * lib/strstr.c: Update from GNU libc.
97178
97179 2000-11-17  Akim Demaille  <akim@epita.fr>
97180
97181         * lib/obstack.h: Formatting changes.
97182         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97183         prevent type checking.
97184         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97185         cast the value to (void *): assigning a `foo *' to a `void *'
97186         variable is valid.
97187         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97188
97189 2000-11-16  Jim Meyering  <meyering@lucent.com>
97190
97191         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97192
97193 2000-11-11  Jim Meyering  <meyering@lucent.com>
97194
97195         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97196
97197 2000-11-10  Jim Meyering  <meyering@lucent.com>
97198
97199         * lib/obstack.h: Update from GNU libc.
97200         * lib/obstack.c: Likewise.
97201
97202 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97203
97204         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97205
97206 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97207
97208         * lib/getusershell.c (setusershell): Use rewind rather than
97209         fseek/fseeko, to avoid configuration hassles with fseeko.
97210         Don't bother opening SHELLS_FILE if shellstream is NULL;
97211         it's not necessary.
97212
97213 2000-11-05  Jim Meyering  <meyering@lucent.com>
97214
97215         * lib/makepath.h (make_dir): Declare.
97216         * lib/makepath.c (make_dir): Remove `static' attribute.
97217         Tweak a comment.
97218
97219 2000-11-04  Jim Meyering  <meyering@lucent.com>
97220
97221         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97222
97223 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97224
97225         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97226         last one in a bucket, advance to the next bucket.
97227
97228 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97229
97230         * lib/fnmatch.c: Do not comment out all the code if we are using
97231         the GNU C library, because in some cases we are replacing buggy
97232         code in the GNU C library itself.
97233
97234 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97235
97236         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97237         (regex_compile): Catch bogus \(\1\).
97238
97239 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97240
97241         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97242         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97243         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97244
97245 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97246
97247         * lib/error.h, getline.h, modechange.h:
97248         Remove "2000" from Copyright line, as the file hasn't been
97249         changed this year other than in the copyright notice.
97250
97251         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97252         was changed this year.
97253
97254 2000-10-29  Jim Meyering  <meyering@lucent.com>
97255
97256         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97257         renaming.
97258         * m4/ls-mntd-fs.m4: Likewise
97259
97260 2000-10-29  Jim Meyering  <meyering@lucent.com>
97261
97262         * lib/xstat.in: Fix grammar in comment.
97263
97264 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97265
97266         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97267         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97268         doesn't define __restrict_arr.
97269
97270 2000-10-28  Jim Meyering  <meyering@lucent.com>
97271
97272         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97273         (jm_PREREQ_MEMCHR): New function.
97274
97275 2000-10-28  Jim Meyering  <meyering@lucent.com>
97276
97277         * lib/memchr.c: Update from libc.
97278         Adjust for portability:
97279         [HAVE_STDLIB_H]: Include stdlib.h.
97280         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97281         Undef __memchr, too.
97282         [!weak_alias]: Define __memchr to memchr.
97283
97284         * lib/regex.c: Update from libc.
97285         * lib/regex.h: Likewise.
97286         * lib/getopt1.c: Likewise.
97287         * lib/memcmp.c: Likewise.
97288
97289         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97290         Avoid using fseek, when possible -- it's broken by design.
97291         Patch by Ulrich Drepper.
97292
97293 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97294
97295         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97296         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97297         Giving in to popular pressure to shut up the compiler with casts.
97298
97299 2000-10-26  Jim Meyering  <meyering@lucent.com>
97300
97301         * lib/strftime.c: Update from libc.
97302
97303 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97304
97305         * regex.c: More `unsigned char' -> `re_char' changes.
97306         Also change several `int' into `re_wchar_t'.
97307         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97308         (PUSH_FAILURE_POINTER): Don't cast any more.
97309         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97310         We want GCC to complain, since this piece of code makes
97311         re_match non-reentrant, which *should* be fixed.
97312         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97313         (EXTEND_BUFFER): Use RETALLOC.
97314         (SET_LIST_BIT): Don't cast.
97315         (re_wchar_t): New type.
97316         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97317         that those two functions will always properly return.
97318         (IMMEDIATE_QUIT_CHECK): Cast to void.
97319         (analyse_first): Use recursion rather than an explicit stack.
97320         (re_compile_fastmap): Can't fail anymore.
97321         (re_search_2): Don't check re_compile_fastmap for failure.
97322         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97323         Now also sets the new value (passed in a new argument).
97324         (re_match_2_internal): Use it.
97325         Also, use a new var `reg' of type size_t when looping through regs
97326         rather than reuse the inappropriate `mcnt'.
97327
97328 2000-10-25  Jim Meyering  <meyering@lucent.com>
97329
97330         * lib/obstack.c: Update from libc.
97331
97332 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97333
97334         * regex.c (regex_compile): Change the way of handling a range from
97335         a char less than 256 to a char not less than 256.
97336
97337 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97338
97339         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97340         NT-Emacs only.
97341         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97342         so that re_search functions only quit when callers expect them to.
97343
97344 2000-10-23  Jim Meyering  <meyering@lucent.com>
97345
97346         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97347         wrong.  That set_locale call must not have any side effects.
97348         From Paul Eggert.
97349
97350 2000-10-22  Jim Meyering  <meyering@lucent.com>
97351
97352         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97353         [CYCLIC]: Remove now-unused definition.
97354
97355         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97356         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97357         Suggestion from Ulrich Drepper.
97358
97359 2000-10-21  Jim Meyering  <meyering@lucent.com>
97360
97361         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97362         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97363         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97364
97365 2000-10-21  Jim Meyering  <meyering@lucent.com>
97366
97367         * lib/dirname.c (memrchr): Declare if necessary.
97368         (dir_name): Remove the restriction that there be no
97369         trailing slashes.  Now, this code skips past them, effectively
97370         ignoring them.
97371         [TEST_DIRNAME] (main): New unit tests.
97372
97373         * lib/memrchr.c: New file from GNU libc.
97374         Undef __memrchr, too.
97375         [!weak_alias]: Define __memrchr to memrchr.
97376         Guard weak_alias use with `#ifdef weak_alias'.
97377
97378 2000-10-21  Jim Meyering  <meyering@lucent.com>
97379
97380         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97381         (dir_name): Use dir_name_r.
97382         * lib/dirname.h (dir_name_r): Declare it.
97383
97384 2000-10-17  Jim Meyering  <meyering@lucent.com>
97385
97386         * lib/quote.h (PARAMS): Define and use.
97387         Reported by Akim Demaille.
97388
97389         * lib/getopt.c: Update from libc.
97390
97391 2000-10-16  Jim Meyering  <meyering@lucent.com>
97392
97393         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97394         setlocale.
97395         From Jan Fedak.
97396
97397 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97398
97399         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97400
97401 2000-09-25  Jim Meyering  <meyering@lucent.com>
97402
97403         * lib/md5.h (rol): Define (from GnuPG).
97404
97405         * lib/sha.c: Give credit (GnuPG) where due.
97406         (M): Use rol rather than open-coding it.
97407         Add a FIXME comment.
97408
97409 2000-09-21  Jim Meyering  <meyering@lucent.com>
97410
97411         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97412         Reported by Michael Stone.
97413
97414 2000-09-20  Jim Meyering  <meyering@lucent.com>
97415
97416         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97417         (noinst_HEADERS): Add sha.h.
97418         Based on code from Scott G. Miller and from GnuPG.
97419
97420 2000-09-18  Jim Meyering  <meyering@lucent.com>
97421
97422         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97423         LIBS. Otherwise, everyone ends up linking with -lelf for some
97424         configurations.
97425         Reported by Mike Stone.
97426
97427 2000-09-15  Jim Meyering  <meyering@lucent.com>
97428
97429         * lib/regex.c: Update from libc.
97430
97431 2000-09-10  Jim Meyering  <meyering@lucent.com>
97432
97433         * lib/getopt.c (_getopt_internal): Update from glibc.
97434
97435 2000-09-09  Jim Meyering  <meyering@lucent.com>
97436
97437         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97438         think it should be used as a general replacement for isascii.
97439         * lib/fnmatch.c: Likewise.
97440         * lib/mbswidth.c: Likewise
97441         * lib/regex.c: Likewise.
97442
97443         Don't use atoi.
97444         * lib/userspec.c: Include sys/param.h and limits.h.
97445         Include xstrtol.h.
97446         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97447         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97448         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97449         UID, GID.  Check range.
97450
97451 2000-09-06  Jim Meyering  <meyering@lucent.com>
97452
97453         * lib/getopt.c (_getopt_internal): Update from glibc.
97454
97455 2000-08-30  Jim Meyering  <meyering@lucent.com>
97456
97457         * lib/strftime.c: Merge in changes from GNU libc.
97458
97459 2000-08-26  Jim Meyering  <meyering@lucent.com>
97460
97461         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97462         * m4/fpending.m4: New file.
97463
97464 2000-08-26  Jim Meyering  <meyering@lucent.com>
97465
97466         * lib/closeout.c: Include "__fpending.h".
97467         (close_stdout_status): Return right away if there's nothing to flush.
97468
97469         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97470         * lib/__fpending.c: New file.
97471         * lib/__fpending.h: New file.
97472
97473 2000-08-20  Jim Meyering  <meyering@lucent.com>
97474
97475         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97476         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97477         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97478
97479 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97480
97481         Improve fileutils installation on systems where running
97482         programs (like install) can't be unlinked.
97483         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97484         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97485
97486 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97487
97488         Standardize on "memory exhausted" instead of "Memory exhausted"
97489         or "virtual memory exhausted".
97490         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97491         "virtual memory exhausted".
97492         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97493         our own message.
97494         * lib/userspec.c (parse_user_spec): Likewise.
97495         * lib/bumpalloc.h: comment fix
97496         * lib/same.c, userspec.c: Include xalloc.h.
97497
97498         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97499         not char *const and pointing to a constant array.
97500         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97501         (xrealloc): Comment fix.
97502
97503         * lib/userspec.c (parse_user_spec):
97504         Don't translate a message until just before returning,
97505         to avoid unnecessary translation.
97506
97507 2000-08-07  Jim Meyering  <meyering@lucent.com>
97508
97509         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97510         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97511         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97512         getgroups.c, gethostname.c, getopt.h, group-member.c,
97513         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97514         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97515         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97516         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97517         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97518         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97519         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97520         yesno.c: Back out Copyright date changes for each file with no change
97521         this year.  This eases coordination with other programs using the same
97522         source code modules.  From Paul Eggert.
97523
97524 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97525
97526         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97527         not char, for compatibility with glibc 2.1.3 strftime.c.
97528
97529 2000-08-03  Greg McGary  <greg@mcgary.org>
97530
97531         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97532         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97533         (EXTEND_BUFFER): Use them.
97534
97535 2000-08-01  Jim Meyering  <meyering@lucent.com>
97536
97537         * lib/dirname.c (ISSLASH): Define.
97538         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97539         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97540         both `\' and `/' may be use as path separators.
97541         Based on a patch from Prashant TR.
97542
97543 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97544
97545         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97546         slot vector a constant, since it might get modified.
97547
97548 2000-07-31  Jim Meyering  <meyering@lucent.com>
97549
97550         * lib/xmalloc.c: Use `virtual memory exhausted', not
97551         `Memory exhausted'.
97552         * lib/obstack.c (print_and_abort): Likewise.
97553
97554 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97555
97556         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97557         buffer, so that the caller can always quote one small
97558         component of a "memory exhausted" message in slot 0.
97559         From a suggestion by Jim Meyering.
97560
97561 2000-07-30  Jim Meyering  <meyering@lucent.com>
97562
97563         * lib/makepath.c (make_path): Quote the other instance, too.
97564
97565         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97566         (STATIC_BUF_SIZE): Define.
97567         (quotearg_n_options): Use only statically allocated storage when
97568         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97569         than STATIC_BUF_SIZE.
97570
97571 2000-07-29  Jim Meyering  <meyering@lucent.com>
97572
97573         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97574         * lib/dirname.c (dir_name): Likewise.
97575
97576         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97577         `/'.
97578
97579         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97580         (dir_name): Assert that there are no trailing slashes.
97581
97582 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97583
97584         * lib/mbswidth.h (mbswidth): Add a flags argument.
97585         (mbswidth): New declaration.
97586         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97587         * lib/mbswidth.c (mbswidth): Add a flags argument.
97588         (mbsnwidth): New function.
97589
97590 2000-07-24  Jim Meyering  <meyering@lucent.com>
97591
97592         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97593
97594 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97595
97596         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97597
97598 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97599
97600         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97601         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97602         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97603         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97604         invoke multibyte primitives.
97605
97606 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97607
97608         * lib/quotearg.c:
97609         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97610         so that mbstate_t is always defined.
97611
97612         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97613         be 1 in at least one GCC installation, and this configuration
97614         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97615         performance on hosts that have mbrtowc but have only unibyte
97616         locales, but I assume these hosts are rare.
97617
97618 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97619
97620         * lib/mbswidth.c (_XOPEN_SOURCE):
97621         Don't define; this causes problems on Solaris 7.
97622         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97623
97624 2000-07-23  Jim Meyering  <meyering@lucent.com>
97625
97626         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97627         too: getgrgid, getpwuid, getuid.
97628
97629 2000-07-23  Jim Meyering  <meyering@lucent.com>
97630
97631         * lib/basename.c (base_name): Add an assertion.
97632
97633 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97634
97635         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97636         shadow its mbsinit function.
97637
97638 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97639
97640         * lib/mbswidth.h: New file.
97641         * lib/mbswidth.c: New file.
97642         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97643         (noinst_HEADERS): Add mbswidth.h.
97644
97645 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97646
97647         * lib/config.charset: Add support for FreeBSD. Improve support for
97648         HP-UX and IRIX 6.
97649
97650 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97651
97652         * m4/mbswidth.m4: New file.
97653         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97654
97655 2000-07-15  Jim Meyering  <meyering@lucent.com>
97656
97657         * lib/makepath.c: Include quote.h.
97658         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97659         corresponding argument in a `quote (...)' call.
97660         Give better diagnostics.
97661
97662         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97663         (noinst_HEADERS): Add quote.h.
97664
97665         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97666         from tar's src/misc.c.
97667         * lib/quote.h: New file.  Prototypes for same.
97668
97669 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97670
97671         From a suggestion by Bruno Haible.
97672         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97673         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97674         to decide whether to define the BeOS workaround macro;
97675         this adjusts to the change to AC_MBSTATE_T.
97676
97677 2000-07-14  Jim Meyering  <meyering@lucent.com>
97678
97679         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97680         jm_AC_TYPE_UINTMAX_T.
97681
97682 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97683
97684         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97685
97686         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97687         quotearg_buffer_restyled): Add support for
97688         clocale_quoting_style.  Undo previous change to
97689         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97690         and "{RIGHT QUOTATION MARK}" msgids.
97691
97692 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97693
97694         From a suggestion by Bruno Haible.
97695         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97696         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97697         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97698         and mbstate_t, to a single-part test that simply defines mbstate_t.
97699         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97700         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97701
97702 2000-07-10  Jim Meyering  <meyering@lucent.com>
97703
97704         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97705
97706         * m4/gnu-source.m4: Output to confdefs.h directly.
97707         Suggestion from Akim Demaille.
97708
97709 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97710
97711         The old behavior of quoting `like this' doesn't look good with
97712         newer, ISO-style fonts.  See:
97713         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97714
97715         Instead, quote "like this" by default.  Let the translator
97716         tailor the locale-specific quoting behavior by providing
97717         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97718
97719         * lib/quotearg.c (N_): New macro.
97720         (gettext_default): New function.
97721         (quotearg_buffer_restyled): Use
97722         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97723         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97724
97725 2000-07-09  Jim Meyering  <meyering@lucent.com>
97726
97727         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97728         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97729
97730         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97731         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97732
97733 2000-07-09  Jim Meyering  <meyering@lucent.com>
97734
97735         * lib/Most files: Update copyright dates to include 2000.
97736
97737 2000-07-08  Jim Meyering  <meyering@lucent.com>
97738
97739         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97740         if not defined.
97741         (xgethostname): Remove now-unnecessary #ifdef.
97742         Move declaration of `err' into loop where it's used.
97743
97744 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97745         and Bruno Haible  <haible@clisp.cons.org>
97746
97747         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97748         only if the test for an object-type mbstate_t fails.  This
97749         prevents us from mistakenly reporting that mbstate_t is a
97750         system object type after we "#define mbstate_t int" to work
97751         around its lack.
97752
97753 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97754         and Bruno Haible  <haible@clisp.cons.org>
97755
97756         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97757
97758 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97759
97760         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97761         to strerror_r.
97762         Include <ctype.h> for use of isalpha.
97763
97764 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97765
97766         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
97767         by allocating a larger buffer. Test the gethostname return value for
97768         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
97769         returns an error and ENAMETOOLONG isn't defined.
97770
97771 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97772
97773         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
97774         dimension.
97775
97776 2000-07-04  Jim Meyering  <meyering@lucent.com>
97777
97778         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
97779         of the deprecated AC_CHECKING.
97780
97781 2000-07-04  Jim Meyering  <meyering@lucent.com>
97782
97783         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
97784         Reported by Bruno Haible.
97785
97786 2000-07-04  Jim Meyering  <meyering@lucent.com>
97787
97788         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
97789         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
97790         lacks mbrtowc.
97791
97792 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97793
97794         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
97795         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
97796
97797 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97798         and Bruno Haible  <haible@clisp.cons.org>
97799
97800         * lib/quotearg.c (mbrtowc):
97801         Assign to *pwc, and return 1 only if result is nonzero.
97802         (iswprint): Use ISPRINT when substituting our own mbrtowc.
97803
97804 2000-07-03  Jim Meyering  <meyering@lucent.com>
97805
97806         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
97807
97808 2000-07-03  Jim Meyering  <meyering@lucent.com>
97809
97810         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
97811         This is necessary to get a definition of e.g., UTMP_FILE on
97812         HP-UX 10.20.
97813         From Bob Proulx.
97814
97815 2000-07-02  Jim Meyering  <meyering@lucent.com>
97816
97817         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
97818
97819         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
97820         AC_LIBOBJ(function_name).
97821         * m4/chown.m4: Likewise.
97822         * m4/fnmatch.m4: Likewise.
97823         * m4/ftruncate.m4: Likewise.
97824         * m4/getgroups.m4: Likewise.
97825         * m4/getline.m4: Likewise.
97826         * m4/group-member.m4: Likewise.
97827         * m4/jm-macros.m4: Likewise.
97828         * m4/lstat.m4: Likewise.
97829         * m4/malloc.m4: Likewise.
97830         * m4/memcmp.m4: Likewise.
97831         * m4/nanosleep.m4: Likewise.
97832         * m4/putenv.m4: Likewise.
97833         * m4/realloc.m4: Likewise.
97834         * m4/regex.m4: Likewise.
97835         * m4/stat.m4: Likewise.
97836         * m4/strftime.m4: Likewise.
97837
97838 2000-07-02  Jim Meyering  <meyering@lucent.com>
97839
97840         * lib/quotearg.c (mbstate_t): Don't define here.
97841
97842 2000-07-02  Jim Meyering  <meyering@lucent.com>
97843
97844         * lib/nanosleep.c (SIGCONT): Define if not already defined.
97845
97846 2000-07-01  Jim Meyering  <meyering@lucent.com>
97847
97848         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
97849
97850 2000-07-01  Jim Meyering  <meyering@lucent.com>
97851
97852         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
97853         problem.
97854
97855 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97856
97857         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
97858         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
97859
97860 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97861
97862         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
97863         per change in ../m4/ls-mntd-fs.m4.
97864         (read_filesystem_list): Ignore symbolic links.
97865
97866 2000-06-29  Jim Meyering  <meyering@lucent.com>
97867
97868         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
97869         for declaration of strcmp.
97870
97871         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
97872
97873         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
97874         Avoid warning by casting result to `char *' to remove `const'.
97875
97876 2000-06-28  Jim Meyering  <meyering@lucent.com>
97877
97878         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
97879         included by quotearg.c, for which we perform this test.  From
97880         Bruno Haible.
97881
97882 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97883
97884         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
97885         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
97886         <utmpx.h> exists, put readutmp.o into LIBOBJS.
97887
97888 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97889
97890         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
97891
97892 2000-06-26  Paul Eggert  <eggert@twinsun.com>
97893
97894         savedir now sets errno on failure and invokes xmalloc to get memory.
97895         Fix a couple of other minor bugs while we're at it.
97896
97897         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
97898         (NAMLEN): Remove macro.
97899         (malloc, realloc): Remove decls.
97900         (stpcpy): Likewise.
97901         ("xalloc.h"): Include.
97902         (NAME_SIZE_DEFAULT): New macro.
97903         (savedir): Use xmalloc / xrealloc to allocate memory.
97904         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
97905         Skip "" directory entries.
97906         Use strlen to calculate directory entry length, since the old method
97907         is rarely used these days and isn't worth supporting.
97908         Don't use a pointer after freeing it.
97909         Check for integer overflow when calculating allocation size.
97910         Use memcpy to copy entries, instead of stpcpy.
97911         Set errno properly when returning NULL.
97912         Check for readdir error.
97913
97914 2000-06-26  Jim Meyering  <meyering@lucent.com>
97915
97916         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
97917
97918 2000-06-25  Jim Meyering  <meyering@lucent.com>
97919
97920         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
97921         Linux header bug when _XOPEN_SOURCE is defined to 500.
97922
97923 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97924
97925         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
97926         deficiency.
97927
97928 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97929
97930         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97931         Include xalloc.h.
97932         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97933
97934 2000-06-24  Jim Meyering  <meyering@lucent.com>
97935
97936         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97937         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97938         for which strerror does return char*, but which lacks a conveniently
97939         accessible declaration of the function.  If the compile-test says
97940         strerror_r doesn't work, then resort to a `run'-test that works on
97941         BeOS and segfaults on DEC Unix.
97942
97943 2000-06-24  Jim Meyering  <meyering@lucent.com>
97944
97945         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
97946
97947 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97948
97949         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
97950         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
97951
97952 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97953
97954         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
97955         (mbrtowc, mbstate_t): Define substitutes if
97956         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
97957         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
97958         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
97959
97960 2000-06-23  Jim Meyering  <meyering@lucent.com>
97961
97962         * m4/afs.m4: Add missing AC_MSG_RESULT.
97963         Reported by Bruno Haible.
97964
97965         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
97966         Suggestion from Bruno Haible.
97967
97968 2000-06-23  Jim Meyering  <meyering@lucent.com>
97969
97970         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
97971
97972 2000-06-21  Jim Meyering  <meyering@lucent.com>
97973
97974         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
97975
97976 2000-06-21  Jim Meyering  <meyering@lucent.com>
97977
97978         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
97979         (noinst_HEADERS): Add getstr.h.
97980
97981         * lib/getline.c (getstr): Move into a separate file.
97982         * lib/getstr.c (getstr): New file, extracted from getline.c, with
97983         the following changes: new parameter, delim2; both delim[12]
97984         parameters have type `int', not `char'.  The latter would lose
97985         with 8-bit delimiters.
97986         * lib/getstr.h: New file.
97987
97988 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97989
97990         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
97991         than 1024, return a memory chunk of least possible size, instead
97992         of size PATH_MAX + 2. In the loop, increment the size proportionally.
97993         Use free/xmalloc instead of xrealloc to avoid copying for very long
97994         paths.
97995
97996 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97997
97998         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
97999         the empty string.
98000
98001 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98002
98003         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98004         address, not strdup.  Include <stdlib.h> and don't declare free().
98005
98006 2000-06-19  Jim Meyering  <meyering@lucent.com>
98007
98008         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98009
98010 2000-06-18  Jim Meyering  <meyering@lucent.com>
98011
98012         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98013
98014         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98015         `checking whether...' message to be consistent with that of the
98016         lstat test.
98017
98018 2000-06-18  Jim Meyering  <meyering@lucent.com>
98019
98020         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98021         Besides, these days every porting target provides a mkdir function.
98022
98023         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98024         needed. (this snippet comes from src/system.h).
98025
98026 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98027
98028         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98029
98030 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98031
98032         * lib/human.c (adjust_value): New function.
98033         (human_readable_inexact): Apply rounding style even when
98034         printing approximate values.
98035
98036 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98037
98038         * lib/human.c (human_readable_inexact): Allow an input block
98039         size that is not a multiple of the output block size, and vice versa.
98040         Reported by Piergiorgio Sartor.
98041
98042 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98043
98044         * lib/getdate.y (get_date): Apply relative times after time
98045         zone indicator, not before.  Reported by Todd A. Jacobs.
98046
98047 2000-06-13  Jim Meyering  <meyering@lucent.com>
98048
98049         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98050
98051         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98052
98053 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98054
98055         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98056
98057 2000-06-12  Jim Meyering  <meyering@lucent.com>
98058
98059         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98060         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98061         optional argument.
98062         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98063         the optional argument, `lib'.
98064
98065 2000-06-08  Jim Meyering  <meyering@lucent.com>
98066
98067         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98068
98069 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98070
98071         Rewrite largefile configuration so that we don't need to run
98072         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98073         AC_CANONICAL_HOST in configure.in -- jmm]
98074
98075         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98076         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98077         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98078         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98079         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98080         All uses changed.
98081         Instead of inspecting the output of getconf, try to compile the
98082         test program without and with the macro definition.
98083         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98084         for getconf.  Instead, check for the needed flags by compiling
98085         test programs.
98086
98087 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98088
98089         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98090
98091 2000-06-04  Jim Meyering  <meyering@lucent.com>
98092
98093         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98094         SunOS 4.1.4 for which gid_t is an unsigned type.
98095
98096 2000-06-03  Jim Meyering  <meyering@lucent.com>
98097
98098         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98099         now that autoconf requires that.
98100
98101         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98102         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98103         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98104
98105 2000-06-03  Jim Meyering  <meyering@lucent.com>
98106
98107         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98108
98109 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98110
98111         * m4/glibc21.m4: New file.
98112         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98113
98114 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98115
98116         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98117         newer, don't install charset.alias.
98118         * lib/config.charset: Change the Linux/glibc rules so they become empty
98119         on glibc-2.1 or newer.
98120
98121 2000-06-02  Jim Meyering  <meyering@lucent.com>
98122
98123         * lib/mountlist.c: Back out last change.  Instead, do this...
98124         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98125         me_dummy member using the same `ignore'-testing code.
98126         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98127         fs_type strings.
98128         From Mark D. Roth.
98129
98130 2000-05-29  Jim Meyering  <meyering@lucent.com>
98131
98132         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98133         mounts with the `ignore' attribute.  Based on a patch from
98134         Mark D. Roth.
98135
98136 2000-05-28  Jim Meyering  <meyering@lucent.com>
98137
98138         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98139         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98140         * m4/stat.m4: Likewise.
98141         * m4/lstat.m4: Likewise.
98142         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98143
98144         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98145         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98146
98147 2000-05-26  Jim Meyering  <meyering@lucent.com>
98148
98149         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98150
98151 2000-05-24  Jim Meyering  <meyering@lucent.com>
98152
98153         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98154         autoconf requires that.
98155         * m4/lib-check.m4: Likewise.
98156         * m4/jm-macros.m4: Likewise.
98157         * m4/strftime.m4: Likewise.
98158
98159         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98160         AC_CHECK_DECLS, now that autoconf requires that.
98161
98162 2000-05-22  Jim Meyering  <meyering@lucent.com>
98163
98164         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98165         * m4/lstat.m4: Likewise.
98166
98167 2000-05-22  Jim Meyering  <meyering@lucent.com>
98168
98169         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98170
98171 2000-05-20  Jim Meyering  <meyering@lucent.com>
98172
98173         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98174         (jm_PREREQ): Use it.
98175
98176 2000-05-18  Jim Meyering  <meyering@lucent.com>
98177
98178         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98179         back, too, since it may have been modified by allocate_entry.
98180         (hash_delete): Rewrite to use neither the assignment operator
98181         nor the comma operator in an if-expression.
98182
98183 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98184
98185         * lib/closeout.c:
98186         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98187         Remove; no longer needed.
98188         "quotearg.h": Add include.
98189         (file_name): Do not bother to explicitly initialize to NULL; it's less
98190         efficient on some hosts.
98191         (close_stdout_status): Remove test as to whether stdout was already
98192         closed; it breaks for the case "echo x | sort >&-".
98193         Quote file name colons.
98194         Do not assume that _("write error") lacks format strings.
98195
98196 2000-05-15  Jim Meyering  <meyering@lucent.com>
98197
98198         * lib/version-etc.c (version_etc_copyright): Update the copyright
98199         string used in all --version output.
98200
98201 2000-05-14  Jim Meyering  <meyering@lucent.com>
98202
98203         * lib/closeout.c (close_stdout_set_file_name): New function.
98204         (close_stdout_status): Use new file-scoped global.
98205         Return right away if fstat says the stdout file descriptor is invalid.
98206         * lib/closeout.h (close_stdout_set_file_name): Declare.
98207
98208 2000-05-10  Jim Meyering  <meyering@lucent.com>
98209
98210         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98211         (close_stdout_set_status): New function.
98212         * lib/closeout.h (close_stdout_set_status): Declare.
98213
98214 2000-05-09  Jim Meyering  <meyering@lucent.com>
98215
98216         * m4/gettext.m4: Rename this...
98217         * m4/libintl.m4: ...to this.
98218
98219 2000-05-08  Jim Meyering  <meyering@lucent.com>
98220
98221         * lib/long-options.c: Don't include closeout.h.
98222         (parse_long_options): Don't call close_stdout for --version.
98223
98224 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98225
98226         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98227         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98228         2.1.3 bug.  This avoids a clash when files like regex.c define
98229         _GNU_SOURCE.
98230
98231 2000-05-06  Jim Meyering  <meyering@lucent.com>
98232
98233         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98234         (AC_REPLACE_FUNCS): Add strnlen.
98235
98236         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98237         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98238
98239         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98240         AC_SEARCH_LIBS call for nanosleep.
98241         (LIB_NANOSLEEP): Set and AC_SUBST.
98242
98243 2000-05-06  Jim Meyering  <meyering@lucent.com>
98244
98245         * lib/strnlen.c: Undefine __strnlen and strnlen.
98246         [!weak_alias]: Define __strnlen to strnlen.
98247
98248         * lib/atexit.c: New file, from libiberty.
98249
98250 2000-05-06  Jim Meyering  <meyering@lucent.com>
98251
98252         * lib/closeout.c (close_stdout_status): Also check for errors on the
98253         stderr stream.
98254
98255 2000-05-05  Jim Meyering  <meyering@lucent.com>
98256
98257         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98258         AC_SEARCH_LIBS call for clock_gettime.
98259         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98260
98261         * m4/search-libs.m4: Update from autoconf.
98262
98263         su doesn't work on Solaris 2.6.
98264         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98265         <shadow.h>.  Reported by Dragos Harabor.
98266
98267 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98268
98269         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98270         memcpy instead of xmalloc, xrealloc, path_concat.
98271         (locale_charset): Treat empty environment variables as absent.
98272         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98273
98274 2000-05-04  Jim Meyering  <meyering@lucent.com>
98275
98276         * lib/getopt.c: Update from glibc.
98277         * lib/obstack.c: Likewise.
98278         * lib/obstack.h: Likewise.
98279         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98280         file
98281
98282         * lib/regex.h: Likewise.
98283         * lib/strndup.c: Likewise.
98284         * lib/strnlen.c: New file, from glibc.
98285
98286 2000-05-03  Jim Meyering  <meyering@lucent.com>
98287
98288         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98289
98290 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98291
98292         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98293         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98294         compile-time test, rather than inspecting host and OS, to
98295         decide whether to define _LARGEFILE_SOURCE.
98296
98297 2000-05-01  Jim Meyering  <meyering@lucent.com>
98298
98299         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98300
98301         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98302         Based on a patch from Bruno Haible.
98303
98304 2000-05-01  Jim Meyering  <meyering@lucent.com>
98305
98306         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98307
98308 2000-04-29  Jim Meyering  <meyering@lucent.com>
98309
98310         * lib/path-concat.c: Declare strdup only if it's not defined.
98311         * lib/canon-host.c: Likewise.
98312
98313 2000-04-28  Jim Meyering  <meyering@lucent.com>
98314
98315         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98316         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98317         is included first, then limits.h is included by locale.h by libintl.h.
98318         From John David Anglin.
98319
98320 2000-04-25  Jim Meyering  <meyering@lucent.com>
98321
98322         * lib/makepath.c (S_IRWXUGO): Define.
98323         (make_path): Always perform explicit chmod if MODE specifies any
98324         of the `special' permission bits.  Prompted by a bug report against
98325         install from Mate Wierdl and Joost van Baal.
98326
98327 2000-04-18  Jim Meyering  <meyering@lucent.com>
98328
98329         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98330         (jm_PREREQ): Use it.
98331
98332 2000-04-18  Jim Meyering  <meyering@lucent.com>
98333
98334         * lib/README: New file.
98335
98336         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98337         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98338
98339 2000-04-17  Jim Meyering  <meyering@lucent.com>
98340
98341         Get it right :-)
98342         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98343         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98344         Suggestion from Akim Demaille.
98345
98346 2000-04-17  Jim Meyering  <meyering@lucent.com>
98347
98348         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98349         the definition of it to rpl_strftime also defined-away the system's
98350         declaration.
98351
98352 2000-04-15  Jim Meyering  <meyering@lucent.com>
98353
98354         Use `C' to denote so-called `contiguous' files, the same way
98355         that tar does.
98356         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98357         (ftypelet): Use S_ISCTG.
98358         From Michael Deutschmann.
98359
98360 2000-04-14  Jim Meyering  <meyering@lucent.com>
98361
98362         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98363         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98364         clobbered.
98365
98366 2000-04-14  Jim Meyering  <meyering@lucent.com>
98367
98368         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98369
98370 2000-04-13  Jim Meyering  <meyering@lucent.com>
98371
98372         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98373         AH_VERBATIM to insert required #ifndef into config.h.in.
98374         Suggestion from Akim Demaille.
98375
98376 2000-04-12  Jim Meyering  <meyering@lucent.com>
98377
98378         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98379         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98380         Christian Krackowizer.
98381
98382         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98383         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98384         (AC_SYS_LARGEFILE): Require.
98385         (AM_C_PROTOTYPES): Require.
98386
98387 2000-04-08  Jim Meyering  <meyering@lucent.com>
98388
98389         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98390         names don't conflict.  Reported by Eli Zaretskii.
98391
98392 2000-04-07  Jim Meyering  <meyering@lucent.com>
98393
98394         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98395         sys/types.h, to work around system header problems on AIX 3.2.5.
98396         From Bruno Haible.
98397
98398 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98399
98400         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98401         bug.  Deal with the different error behavior of Irix iconv.
98402
98403 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98404
98405         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98406         IRIX if the installer said otherwise.
98407
98408 2000-04-05  Jim Meyering  <meyering@lucent.com>
98409
98410         Portability tweaks required for ultrix4.3.
98411         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98412         (jm_CHECK_DECLS): Add getutent to the list of functions.
98413         (_jm_DECL_HEADERS): Add utmpx.h.
98414         From John David Anglin.
98415
98416         * m4/strftime.m4: Back out the 2000-04-02 change.
98417         Instead of that change, simply undefine putenv in the test program.
98418
98419 2000-04-05  Jim Meyering  <meyering@lucent.com>
98420
98421         Portability tweaks required for ultrix4.3.
98422         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98423         getutent.
98424         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98425         * lib/canon-host.c: Declare strdup.
98426         * lib/path-concat.c: Likewise.
98427         From John David Anglin.
98428
98429 2000-04-04  Jim Meyering  <meyering@lucent.com>
98430
98431         Be more DOS 8.3-friendly.
98432         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98433         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98434         * lib/Makefile.am: Reflect renaming.
98435         Reported by Eli Zaretskii.
98436
98437         Use a temporary file name that won't clash with `charset.alias'
98438         in the DOS 8.3 name space.
98439         * lib/Makefile.am (charset_tmp): Define.
98440         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98441         (uninstall-local): Likewise.
98442         Reported by Eli Zaretskii.
98443
98444 2000-04-03  Jim Meyering  <meyering@lucent.com>
98445
98446         * m4/gettext.m4: Fix typo in comment.
98447
98448         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98449         textutils/configure.in).  Suggestion from Paul Eggert.
98450         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98451
98452 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98453
98454         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98455         variable in the shell rather than using putenv, which isn't
98456         portable.  This avoids the configure-time inter-test dependency
98457         on the potentially-renamed putenv function.
98458
98459 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98460
98461         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98462         before checking struct stat.st_blksize, so that
98463         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98464
98465 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98466
98467         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98468         since strftime.c uses HAVE_STRFTIME to decide whether to use
98469         the underlying strftime.
98470
98471 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98472
98473         * lib/time/strftime.c (my_strftime): Make sure we call the system
98474         strftime, not ourselves, when invoking the underlying strftime.
98475
98476 2000-03-24  Jim Meyering  <meyering@lucent.com>
98477
98478         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98479         (charset_alias): Define.
98480         (install-exec-local): Factor out common code.
98481         (uninstall-local): Split lines longer than 80.
98482         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98483         (SUFFIXES): Define.
98484         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98485         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98486
98487 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98488
98489         * lib/config.charset: Output a line containing "Packages using this
98490         file".
98491         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98492         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98493         ref-del.sed): New rules.
98494
98495 2000-03-17  Jim Meyering  <meyering@lucent.com>
98496
98497         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98498         Otherwise, include <strings.h>
98499
98500 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98501
98502         * lib/unicodeio.c (utf8_wctomb): New function.
98503         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98504         format instead of in UCS-4 with platform dependent endianness.
98505
98506 2000-03-10  Jim Meyering  <meyering@lucent.com>
98507
98508         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98509         From Marco Franzen.
98510
98511 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98512
98513         * lib/savedir.c (savedir): Work even if directory size is
98514         negative; this can happen with some screwy NFS configurations.
98515
98516 2000-03-06  Jim Meyering  <meyering@lucent.com>
98517
98518         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98519         if it's NULL (because we ran out of memory).  From Bruno Haible.
98520
98521 2000-03-05  Jim Meyering  <meyering@lucent.com>
98522
98523         * lib/localcharset.c ("path-concat.h"): Include.
98524         (get_charset_aliases): Use path_concat instead of ANSI string
98525         concatenation.
98526
98527         * lib/unicodeio.h (PARAMS): Define.
98528         Use it to guard prototype.
98529
98530 2000-03-04  Jim Meyering  <meyering@lucent.com>
98531
98532         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98533         for lib/localcharset.c.
98534
98535 2000-03-04  Jim Meyering  <meyering@lucent.com>
98536
98537         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98538         installing into it.
98539         (uninstall-local): Uncomment this rule so `make distcheck' works
98540         once again.
98541
98542         * lib/unicodeio.c (<errno.h>): Include it.
98543         (errno): Declare if not defined.
98544
98545         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98546
98547         * lib/config.charset: New version, incorporating remarks from a linux
98548         i18n mailing list.  From Bruno Haible.
98549
98550 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98551
98552         * m4/codeset.m4: New file.
98553         * m4/iconv.m4: New file.
98554         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98555
98556 2000-03-03  Jim Meyering  <meyering@lucent.com>
98557
98558         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98559
98560 2000-03-02  Jim Meyering  <meyering@lucent.com>
98561
98562         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98563         the messages come out on separate lines.
98564
98565         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98566         rather than jm_CHECK_DECLARATIONS.
98567         * m4/decl.m4: Remove now-unused file.
98568
98569         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98570         geteuid.
98571
98572 2000-03-02  Jim Meyering  <meyering@lucent.com>
98573
98574         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98575
98576 2000-03-01  Jim Meyering  <meyering@lucent.com>
98577
98578         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98579         * lib/unicodeio.c: Likewise.
98580
98581 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98582
98583         * lib/config.charset: New file.
98584         * lib/localcharset.c: New file.
98585         * lib/unicodeio.h, lib/unicodeio.c: New files.
98586         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98587         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98588         (noinst_HEADERS): Add unicodeio.h.
98589         (all-local, install-exec-local, charset.alias): New targets.
98590
98591 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98592
98593         * lib/quotearg.c (ALERT_CHAR): New macro.
98594         (quotearg_buffer_restyled): Use it.
98595
98596 2000-02-27  Jim Meyering  <meyering@lucent.com>
98597
98598         * m4/check-decl.m4: Add getenv to the list.
98599
98600 2000-02-27  Jim Meyering  <meyering@lucent.com>
98601
98602         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98603         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98604
98605         * lib/backupfile.c: Guard inclusion of stdlib.h with
98606         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98607         Declare malloc if needed.
98608
98609         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98610         `#ifndef HAVE_DECL..'
98611         now that autoconf always defines the HAVE_DECL_ symbols.
98612         * lib/human.c: Likewise.
98613         * lib/same.c: Likewise.
98614         * lib/strtoumax.c: Likewise.
98615
98616         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98617         declaration check was not run.
98618         * lib/hash.c: Likewise.
98619         * lib/human.c: Likewise.
98620         * lib/same.c: Likewise.
98621         * lib/strtoumax.c: Likewise.
98622
98623         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98624         `.', then first look up the entire `.'-containing string as a login
98625         name.
98626
98627 2000-02-23  Jim Meyering  <meyering@lucent.com>
98628
98629         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98630         in place of my hack.
98631
98632 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98633
98634         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98635         (textint): New typedef.
98636         (parser_control): Member year changed from int to textint.
98637         All uses changed.
98638         (YYSTYPE): Removed; replaced by %union with int and textint members.
98639         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98640         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98641         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98642         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98643         (date, number, to_year): Use width of number in digits, not its value,
98644         to determine whether it's a 2-digit year, or a 2-digit time.
98645         (yylex): Store number of digits of numeric tokens.
98646         Reported by John Kendall.
98647
98648         (parser_control): Changed from struct parser_control to typedef (for
98649         consistency).  All uses changed.
98650
98651         (tID): Removed; not used.
98652         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98653
98654 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98655
98656         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98657         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98658
98659 2000-02-12  Jim Meyering  <meyering@lucent.com>
98660
98661         * lib/userspec.c (ISDIGIT): Define it.
98662         (isdigit): Remove definition.
98663         (is_number): Use ISDIGIT, not isdigit.
98664         <libintl.h>: Include.
98665         (_ and N_): Define.
98666         (parse_user_spec): Mark translatable strings.
98667
98668 2000-02-10  Jim Meyering  <meyering@lucent.com>
98669
98670         With these changes, nanosleep.[ch] are finally enough like the other
98671         lib/* replacement files to compile on a few more losing systems.
98672
98673         * lib/nanosleep.h: Don't include config.h.
98674         Remove prototype from declaration of nanosleep.
98675         (PARAMS): Remove now-unneeded definition.
98676         * lib/nanosleep.c: #undef nanosleep.
98677         (rpl_nanosleep): Rename from nanosleep.
98678
98679 2000-02-10  Jim Meyering  <meyering@lucent.com>
98680
98681         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98682         gnu_nanosleep to rpl_nanosleep.
98683
98684 2000-02-09  Jim Meyering  <meyering@lucent.com>
98685
98686         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98687         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98688
98689 2000-02-08  Akim Demaille  <akim@epita.fr>
98690
98691         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98692         `[' and `]' and remove uses of `changequote'.
98693         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98694         (AC_SYS_LARGEFILE): Likewise.
98695         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98696         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98697         of changequote.
98698         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98699         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98700         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98701         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98702
98703 2000-02-05  Jim Meyering  <meyering@lucent.com>
98704
98705         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98706         Remove explicit use of AC_HEADER_TIME.  It is required by
98707         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98708         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98709         in autoconf whereby the expansion of the latter ended up preceding
98710         the expansion of its prerequisite, AC_HEADER_TIME.
98711         Reported by Volker Borchert.
98712
98713 2000-02-03  Jim Meyering  <meyering@lucent.com>
98714
98715         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98716
98717 2000-02-03  Jim Meyering  <meyering@lucent.com>
98718
98719         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98720         rather than with `#if HAVE_UTMPNAME'.
98721
98722 2000-02-02  Jim Meyering  <meyering@lucent.com>
98723
98724         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98725         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98726         Reported by Eli Zaretskii.
98727
98728 2000-02-01  Jim Meyering  <meyering@lucent.com>
98729
98730         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98731
98732 2000-01-31  Jim Meyering  <meyering@lucent.com>
98733
98734         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98735         functions.  Add the time.h and sys/time.h headers along with the
98736         AC_REQUIRE'ment of AC_HEADER_TIME.
98737
98738 2000-01-31  Jim Meyering  <meyering@lucent.com>
98739
98740         * lib/nanosleep.h (nanosleep): Guard declaration with
98741         `#if ! HAVE_DECL_NANOSLEEP'.
98742         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98743         the declaration in that vendor's sys/timers.h.
98744         Reported by Christian Krackowizer.
98745
98746         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98747         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98748         (ISPRINT): Likewise.
98749         Reported by Tom Tromey.
98750
98751 2000-01-30  Jim Meyering  <meyering@lucent.com>
98752
98753         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98754
98755         * m4/prereq.m4 (utmp_includes): Define.
98756         Check for ut_user and ut_name members in both struct utmpx
98757         and struct utmp.
98758
98759 2000-01-30  Jim Meyering  <meyering@lucent.com>
98760
98761         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98762         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98763         header files where only utmpx.ut_user is declared.
98764
98765         * lib/readutmp.h (UT_USER): Define.
98766
98767 2000-01-29  Jim Meyering  <meyering@lucent.com>
98768
98769         * m4/lib-check.m4: New file containing library-related checks from
98770         fileutils and sh-utils (textutils had none).
98771
98772 2000-01-28  Jim Meyering  <meyering@lucent.com>
98773
98774         * m4/perl.m4: Change format of warning message to look more like that
98775         from the missing script.  Suggestion from François Pinard.
98776
98777 2000-01-25  Jim Meyering  <meyering@lucent.com>
98778
98779         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
98780         well as time.h in the compile check.
98781         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
98782         Fix typo in cross-compiling case: s/yes/no/.
98783
98784 2000-01-23  Jim Meyering  <meyering@lucent.com>
98785
98786         * m4/jm-macros.m4: Move df-related tests here from
98787         fileutils/configure.in
98788
98789         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
98790         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
98791
98792         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
98793         s/space/ac_fsusage_space/.
98794         (jm_FILE_SYSTEM_USAGE): Take two parameters.
98795
98796         * m4/ftruncate.m4: New file (derived from part of
98797         fileutils/configure.in).
98798         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
98799         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
98800
98801         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
98802         AC_SUBST these here, rather than just in sh-util/configure.in, so
98803         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
98804         all the same.
98805         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
98806         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
98807         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
98808         (AC_SUBST(POW_LIBM)): Likewise.
98809         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
98810
98811 2000-01-23  Jim Meyering  <meyering@lucent.com>
98812
98813         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
98814         obstack.c.
98815
98816 2000-01-22  Jim Meyering  <meyering@lucent.com>
98817
98818         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
98819
98820         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
98821
98822         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
98823         configure.in
98824         (AC_CHECK_HEADERS): Likewise for sh-utils.
98825         (AC_CHECK_HEADERS): Likewise for textutils.
98826         Merge the three lists of headers.
98827
98828         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
98829         from fileutils' configure.in.
98830
98831         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
98832         code. Moved tests into their own function (_jm_DECL_HEADERS) in
98833         check-decl.m4.
98834
98835         * m4/check-decl.m4: Use #if rather than #ifdef.
98836         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
98837         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
98838         (_jm_DECL_HEADERS): Define new function.
98839         (jm_CHECK_DECLARATIONS): Require it.
98840
98841 2000-01-22  Jim Meyering  <meyering@lucent.com>
98842
98843         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
98844         [! HAVE_DECL_STRTOULL]: Declare strtoull.
98845         Required for some AIX systems.  Reported by Christian Krackowizer.
98846         [TESTING] (main): New function.
98847
98848         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
98849         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
98850         letters.
98851
98852         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
98853         iswprint.
98854
98855         * lib/strverscmp.c (ISDIGIT): Define.
98856         (strverscmp): Use ISDIGIT, not isdigit.
98857
98858 2000-01-19  Jim Meyering  <meyering@lucent.com>
98859
98860         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
98861         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
98862         defines `struct timespec' in <sys/time.h>
98863
98864         * m4/c-bs-a.m4: Remove uses of changequote altogether.
98865         Thanks to Akim for explaining.
98866
98867 2000-01-17  Paul Eggert  <eggert@twinsun.com>
98868
98869         * lib/nanosleep.c (nanosleep):
98870         Don't use SA_INTERRUPT to decide whether to call sigaction, as
98871         POSIX.1 doesn't require SA_INTERRUPT and some systems
98872         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
98873         it's been part of POSIX.1 since day 1 (in 1988).
98874
98875 2000-01-17  Jim Meyering  <meyering@lucent.com>
98876
98877         * lib/interlock: Remove unused file.  Reported by François Pinard.
98878
98879 2000-01-16  Paul Eggert  <eggert@twinsun.com>
98880
98881         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
98882         alert, backslash, formfeed, and vertical tab unnecessarily in
98883         shell quoting style.
98884
98885 2000-01-16  Jim Meyering  <meyering@lucent.com>
98886
98887         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
98888         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
98889         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
98890         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
98891
98892 2000-01-16  Jim Meyering  <meyering@lucent.com>
98893
98894         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
98895         because the latter didn't work.
98896
98897 2000-01-15  Jim Meyering  <meyering@lucent.com>
98898
98899         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
98900         (AC_REPLACE_FUNCS): Add memcpy and memset.
98901         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
98902         Add strpbrk.
98903         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
98904
98905 2000-01-12  Jim Meyering  <meyering@lucent.com>
98906
98907         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
98908         (jm_PREREQ): Use it.
98909         (jm_PREREQ_READUTMP): New macro.
98910         (jm_PREREQ): Use it.
98911
98912 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98913
98914         Quote multibyte characters correctly.
98915         * m4/c-bs-a.m4: New file.
98916         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
98917         (jm_PREREQ): Use it.
98918
98919 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98920
98921         * m4/uintmax_t.m4: Port to autoconf 2.13.
98922
98923 2000-01-08  Jim Meyering  <meyering@ascend.com>
98924
98925         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
98926         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
98927
98928 2000-01-04  Jim Meyering  <meyering@ascend.com>
98929
98930         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98931         jm_STRUCT_DIRENT_D_TYPE.
98932         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98933         jm_STRUCT_DIRENT_D_INO.
98934         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98935         jm_STRUCT_UTIMBUF.
98936         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98937         renamings.
98938         * m4/utime.m4: Likewise.
98939
98940         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
98941         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
98942
98943 2000-01-03  Paul Eggert  <eggert@twinsun.com>
98944
98945         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
98946         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
98947
98948 2000-01-02  Jim Meyering  <meyering@ascend.com>
98949
98950         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
98951         remember if this is necessary.
98952
98953 1999-12-26  Jim Meyering  <meyering@ascend.com>
98954
98955         * m4/jm-macros.m4: Use it here.
98956         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
98957
98958 1999-12-23  Jim Meyering  <meyering@ascend.com>
98959
98960         * m4/jm-macros.m4: Check for clock_gettime (moved from
98961         fileutils/configure.in)
98962         Check for gettimeofday.
98963
98964 1999-12-20  Jim Meyering  <meyering@ascend.com>
98965
98966         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
98967         autoconf-2.14a-1999-12-20.
98968
98969 1999-12-19  Jim Meyering  <meyering@ascend.com>
98970
98971         * m4/lstat-slash.m4: New file.
98972         * m4/jm-macros.m4: Use the new macro:
98973         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98974
98975 1999-12-07  Jim Meyering  <meyering@ascend.com>
98976
98977         * m4/perl.m4: Require that File::Compare be available, too.
98978         Too many systems seem to lack it.
98979
98980         * m4/strftime.m4: Add checks for most of the cpp macros tested in
98981         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
98982
98983 1999-11-18  Paul Eggert  <eggert@twinsun.com>
98984
98985         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
98986         problem with the QNX 4.25 shell, which doesn't propagate exit
98987         status of failed commands inside shell assignments.
98988
98989 1999-11-17  Jim Meyering  <meyering@ascend.com>
98990
98991         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
98992
98993 1999-11-07  Jim Meyering  <meyering@ascend.com>
98994
98995         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
98996
98997 1999-11-06  Jim Meyering  <meyering@ascend.com>
98998
98999         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99000         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99001
99002 1999-11-05  Jim Meyering  <meyering@ascend.com>
99003
99004         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99005         configure.in of textutils, fileutils, and sh-utils into this one
99006         (shared between those packages) file.
99007         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99008         AC_STRUCT_ST_BLKSIZE.
99009
99010 1999-11-03  Jim Meyering  <meyering@ascend.com>
99011
99012         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99013         of AC_CHECK_TYPE checks includes unistd.h.
99014         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99015         Suggestion from Akim Demaille.
99016
99017 1999-10-30  Jim Meyering  <meyering@ascend.com>
99018
99019         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99020         m4-quoted string.
99021         * m4/ls-mntd-fs.m4: Likewise.
99022         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99023         * m4/jm-winsz1.m4: Likewise.
99024
99025         * m4/const.m4: Remove file, since the fix made it into the experimental
99026         version of autoconf.
99027         * m4/mktime.m4: Likewise.
99028
99029         * m4/check-type.m4: Remove file, now that the latest version of
99030         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99031
99032         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99033         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99034         AC_CHECK_TYPE.
99035
99036 1999-10-04  Jim Meyering  <meyering@ascend.com>
99037
99038         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99039
99040 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99041
99042         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99043         2.95.1 bug with HP-UX 10.20.
99044
99045 1999-09-17  Jim Meyering  <meyering@ascend.com>
99046
99047         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99048         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99049         due to missing strdup (against sh-utils-2.0).
99050
99051 1999-08-29  Jim Meyering  <meyering@ascend.com>
99052
99053         * m4/jm-macros.m4: Require jm_BISON.
99054         * m4/bison.m4: New file.
99055
99056 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99057
99058         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99059         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99060
99061 1999-08-05  Jim Meyering  <meyering@ascend.com>
99062
99063         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99064         to avoid conflicts with `conftest' on 8+3 filesystems.
99065         Suggestion from Eli Zaretskii.
99066
99067 1999-08-04  Jim Meyering  <meyering@ascend.com>
99068
99069         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99070         fileutils and sh-utils (textutils's getline test was inadequate).
99071         (AM_FUNC_GETLINE): Run this test.
99072         (AC_CHECK_FUNCS): Check for getdelim.
99073         Reported by Bob Proulx.
99074
99075 1999-08-02  Jim Meyering  <meyering@ascend.com>
99076
99077         * m4/jm-macros.m4: Add a comment.
99078
99079 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99080
99081         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99082         <inttypes.h> defines strtoumax as a macro (and not as a
99083         function).
99084
99085 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99086
99087         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99088         that we can shift, multiply and divide unsigned long long
99089         values; Ultrix cc can't do it.
99090
99091 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99092
99093         * m4/mktime.m4: New file, which is a preview of what should appear
99094         in the next public autoconf release.
99095
99096 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99097
99098         * m4/lfs.m4: Remove this file.
99099         * m4/largefile.m4: New file.  It contains the old contents of
99100         lfs.m4, except that all names with prefix AC_LFS have been
99101         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99102         compatible with future autoconf versions.  Also, some minor m4
99103         quoting problems have been fixed.
99104
99105 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99106
99107         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99108         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99109         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99110         and simplify the shell code.
99111
99112 1999-08-01  Jim Meyering  <meyering@ascend.com>
99113
99114         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99115         m4.
99116
99117 1999-07-20  Jim Meyering  <meyering@ascend.com>
99118
99119         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99120
99121 1999-07-15  Jim Meyering  <meyering@ascend.com>
99122
99123         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99124
99125 1999-05-22  Jim Meyering  <meyering@ascend.com>
99126
99127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99128
99129 1999-05-20  Jim Meyering  <meyering@ascend.com>
99130
99131         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99132         Add a colon after each `then' in case $4 is empty.
99133
99134 1999-05-16  Jim Meyering  <meyering@ascend.com>
99135
99136         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99137
99138 1999-05-10  Jim Meyering  <meyering@ascend.com>
99139
99140         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99141
99142         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99143         AC_FUNC_MKTIME.
99144
99145 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99146
99147         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99148
99149 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99150
99151         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99152         not CPPFLAGS, so that linking works correctly in IRIX.
99153
99154 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99155
99156         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99157
99158 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99159
99160         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99161         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99162         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99163         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99164         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99165
99166         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99167
99168 1999-04-20  Jim Meyering  <meyering@ascend.com>
99169
99170         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99171         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99172         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99173
99174 1999-04-18  Jim Meyering  <meyering@ascend.com>
99175
99176         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99177         * m4/jm-macros.m4: Use it.
99178
99179 1999-04-06  Jim Meyering  <meyering@ascend.com>
99180
99181         * m4/strftime.m4: Remove test for %f.
99182
99183 1999-03-29  Jim Meyering  <meyering@ascend.com>
99184
99185         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99186         superset of the AC_TYPE_* checks in the textutils, fileutils,
99187         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99188         AC_TYPE_PID_T.
99189
99190 1999-03-28  Jim Meyering  <meyering@ascend.com>
99191
99192         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99193         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99194         replaced e.g., in the *.sh files of the sh-utils.
99195
99196 1999-03-20  Jim Meyering  <meyering@ascend.com>
99197
99198         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99199         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99200         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99201
99202 1999-03-19  Jim Meyering  <meyering@ascend.com>
99203
99204         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99205
99206 1999-03-12  Jim Meyering  <meyering@ascend.com>
99207
99208         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99209
99210 1999-03-07  Jim Meyering  <meyering@ascend.com>
99211
99212         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99213         declared.
99214
99215 1999-02-17  Jim Meyering  <meyering@ascend.com>
99216
99217         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99218         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99219
99220 1999-02-07  Jim Meyering  <meyering@ascend.com>
99221
99222         * m4/group-member.m4: New file -- extracted from sh-utils'
99223         configure.in.
99224
99225         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99226         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99227
99228 1999-02-06  Jim Meyering  <meyering@ascend.com>
99229
99230         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99231         * m4/fnmatch.m4: Likewise.
99232         * m4/getgroups.m4: Likewise.
99233         * m4/lstat.m4: Likewise.
99234         * m4/malloc.m4: Likewise.
99235         * m4/putenv.m4: Likewise.
99236         * m4/realloc.m4: Likewise.
99237         * m4/regex.m4: Likewise.
99238         * m4/stat.m4: Likewise.
99239         * m4/strftime.m4: Likewise.
99240         Suggestion from Alain Magloire.
99241
99242         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99243         * m4/fnmatch.m4: Likewise.
99244         * m4/getgroups.m4: Likewise.
99245         * m4/getline.m4: Likewise.
99246         * m4/lstat.m4: Likewise.
99247         * m4/malloc.m4: Likewise.
99248         * m4/memcmp.m4: Likewise.
99249         * m4/putenv.m4: Likewise.
99250         * m4/realloc.m4: Likewise.
99251         * m4/regex.m4: Likewise.
99252         * m4/stat.m4: Likewise.
99253         * m4/strftime.m4: Likewise.
99254         Suggestion from Alain Magloire.
99255
99256         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99257         an argument.
99258
99259         * m4/regex.m4: Add a run-time Test for proper operation of
99260         re_compile_pattern.
99261
99262 1999-01-31  Jim Meyering  <meyering@ascend.com>
99263
99264         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99265
99266 1999-01-30  Jim Meyering  <meyering@ascend.com>
99267
99268         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99269
99270         * m4/jm-mktime.m4: Make this a wrapper around the official
99271         AM_FUNC_MKTIME rather than my private copy, now that the official one
99272         is up to date.
99273         * m4/mktime.m4: Remove file.
99274
99275         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99276         * m4/uptime.m4: Likewise.
99277         * m4/uintmax_t.m4: Likewise.
99278
99279 1999-01-28  Jim Meyering  <meyering@ascend.com>
99280
99281         * m4/jm-macros.m4: Use jm_AFS.
99282         * m4/afs.m4: New file (from fileutils' configure.in).
99283
99284         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99285         * m4/chown.m4: Likewise.
99286         * m4/d-ino.m4: Likewise.
99287         * m4/d-type.m4: Likewise.
99288         * m4/fnmatch.m4: Likewise.
99289         * m4/getgroups.m4: Likewise.
99290         * m4/gettext.m4: Likewise.
99291         * m4/jm-mktime.m4: Likewise.
99292         * m4/jm-winsz2.m4: Likewise.
99293         * m4/lcmessage.m4: Likewise.
99294         * m4/ls-mntd-fs.m4: Likewise.
99295         * m4/malloc.m4: Likewise.
99296         * m4/memcmp.m4: Likewise.
99297         * m4/putenv.m4: Likewise.
99298         * m4/realloc.m4: Likewise.
99299         * m4/st_mtim.m4: Likewise.
99300         * m4/strftime.m4: Likewise.
99301
99302 1999-01-16  Jim Meyering  <meyering@ascend.com>
99303
99304         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99305         (ARGMATCH_DIE_DECL): Define.
99306
99307 1999-01-12  Jim Meyering  <meyering@ascend.com>
99308
99309         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99310         Reported by Lars Hecking.
99311
99312 1999-01-10  Jim Meyering  <meyering@ascend.com>
99313
99314         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99315         gross kludge.
99316         * m4/inttypes_h.m4: Likewise.
99317         * m4/lstat.m4: Likewise.
99318         * m4/malloc.m4: Likewise.
99319         * m4/readdir.m4: Likewise.
99320         * m4/realloc.m4: Likewise.
99321         * m4/st_dm_mode.m4: Likewise.
99322         * m4/stat.m4: Likewise.
99323         * m4/utimbuf.m4: Likewise.
99324         * m4/utimes.m4: Likewise.
99325
99326         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99327         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99328         comments in config.h.in are meaningful.
99329
99330         * m4/jm-macros.m4: Require autoconf-2.13 here.
99331
99332         * m4/regex.m4: By default, don't use the included regex.c on systems
99333         with glibc 2.  Suggestion from Uli Drepper.
99334
99335 1999-01-02  Jim Meyering  <meyering@ascend.com>
99336
99337         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99338
99339 1998-12-18  Jim Meyering  <meyering@ascend.com>
99340
99341         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99342         Based on a suggestion from Lars Hecking.
99343
99344 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99345
99346         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99347
99348 1998-11-16  Jim Meyering  <meyering@ascend.com>
99349
99350         * m4/lfs.m4: Double-quote the `uname...` expression.
99351
99352 1998-11-14  Jim Meyering  <meyering@ascend.com>
99353
99354         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99355         * m4/stat.m4: Likewise.
99356
99357 1998-11-03  Jim Meyering  <meyering@ascend.com>
99358
99359         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99360         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99361
99362 1998-10-18  Jim Meyering  <meyering@ascend.com>
99363
99364         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99365
99366 1998-10-17  Jim Meyering  <meyering@ascend.com>
99367
99368         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99369         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99370         calls for those previously hard-coded headers.  Instead, take a new
99371         parameter.
99372         (jm_CHECK_DECLARATIONS): Reflect interface change.
99373         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99374         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99375
99376         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99377
99378 1998-10-14  Jim Meyering  <meyering@ascend.com>
99379
99380         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99381         instead of "TZ=America/Vancouver".  From Paul Eggert.
99382
99383 1998-10-11  Jim Meyering  <meyering@ascend.com>
99384
99385         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99386         This adds a test for a recently added compatibility fix for mktime.c.
99387         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99388
99389 1998-09-27  Jim Meyering  <meyering@ascend.com>
99390
99391         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99392
99393         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99394         ../configure.in, including a change from Gordon Matzigkeit to allow
99395         cross-compiling for the Hurd.
99396
99397         * m4/glibc.m4: New file/macro to test for the GNU C Library
99398         versions 1 and 2.  From Gordon Matzigkeit.
99399         Indent.
99400
99401 1998-09-21  Jim Meyering  <meyering@ascend.com>
99402
99403         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99404
99405 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99406
99407         Port nanosecond-resolution times to UnixWare 2.1.2 and
99408         pedantic Solaris 2.6.
99409
99410         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99411         AC_STRUCT_ST_MTIM.
99412         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99413         Generate name of ns member, instead of just 1 or undef.
99414         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99415
99416 1998-08-15  Jim Meyering  <meyering@ascend.com>
99417
99418         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99419         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99420         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99421         instead of jm_TYPE_SSIZE_T.
99422
99423 1998-08-12  Jim Meyering  <meyering@ascend.com>
99424
99425         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99426
99427 1998-08-02  Jim Meyering  <meyering@ascend.com>
99428
99429         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99430         in acconfig.h manually.
99431
99432 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99433
99434         * m4/st_mtim.m4: New file.
99435
99436 1998-07-28  Jim Meyering  <meyering@ascend.com>
99437
99438         * m4/utimes.m4: Undef stat.
99439
99440 1998-07-25  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99443         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99444
99445 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99446
99447         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99448         uid and gid actually remain unchanged.
99449
99450 1998-07-07  Jim Meyering  <meyering@ascend.com>
99451
99452         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99453
99454 1998-07-04  Jim Meyering  <meyering@ascend.com>
99455
99456         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99457         to prove that this macro can be used in packages without regex.c.
99458
99459 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99460
99461         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99462         is to be used.
99463
99464 1998-07-03  Jim Meyering  <meyering@ascend.com>
99465
99466         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99467
99468         * m4/gettext.m4: New file -- from gettext-0.10.35.
99469         * m4/lcmessage.m4: Likewise.
99470         * m4/progtest.m4: Likewise.
99471
99472         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99473         * m4/jm-macros.m4: Require the new macro.
99474
99475 1998-06-29  Jim Meyering  <meyering@ascend.com>
99476
99477         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99478         for the definition of NGROUPS (used in a system header included
99479         by sys/mount.h).
99480
99481 1998-06-28  Jim Meyering  <meyering@ascend.com>
99482
99483         * m4/ls-mntd-fs.m4: New file.
99484         * m4/fstypename.m4: New file.
99485
99486         * m4/jm-macros.m4: Require the new macro.
99487         * m4/jm-glibc-io.m4: New file.
99488
99489 1998-05-19  Jim Meyering  <meyering@ascend.com>
99490
99491         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99492         * m4/lchown.m4: New file.
99493
99494         * m4/Makefile.am.in: New file.
99495         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99496
99497 1998-05-14  Jim Meyering  <meyering@ascend.com>
99498
99499         * m4/Makefile.am (EXTRA_DIST): Add them.
99500         * m4/jm-macros.m4: New file.
99501         * m4/utimbuf.m4: New file.
99502
99503 1998-05-12  Jim Meyering  <meyering@ascend.com>
99504
99505         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99506
99507 1998-05-11  Jim Meyering  <meyering@ascend.com>
99508
99509         * m4/isc-posix.m4: New file.
99510
99511 1998-05-10  Jim Meyering  <meyering@ascend.com>
99512
99513         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99514
99515 1998-05-09  Jim Meyering  <meyering@ascend.com>
99516
99517         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99518         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99519         with automake.
99520
99521         * m4/ssize_t.m4: New file.
99522         * m4/mktime.m4: Remove file -- the new automake has this now.
99523
99524 1998-04-26  Jim Meyering  <meyering@ascend.com>
99525
99526         * m4/assert.m4: New file.
99527         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99528
99529 1998-04-05  Jim Meyering  <meyering@ascend.com>
99530
99531         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99532         (jm_PREREQ): Use it here.
99533
99534 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99535
99536         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99537         in acconfig.h.
99538
99539 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99540
99541         * m4/prereq.m4: New file.
99542         * m4/error.m4: New file.
99543         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99544
99545 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99546
99547         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99548         cache-check for the same variable -- that defeated the purpose of
99549         the test; the test program was never run.  This was a problem only
99550         on systems with losing getline functions -- HP-UX 10.20 is one.
99551         Reported by Bjorn Helgaas.
99552
99553 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99554
99555         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99556
99557 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99558
99559         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99560
99561         * m4/const.m4: New file.  Use an initializer in this declaration
99562         typedef int charset[2]; const charset x;
99563         Reported by Bob Glickstein.
99564
99565 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99566
99567         * m4/chown.m4: Fix reversed types on -1 args to chown.
99568         From Kaveh Ghazi.
99569
99570 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99571
99572         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99573         Add lseek and memchr.
99574
99575         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99576         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99577         have a 20-character limit on names.
99578
99579 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99580
99581         * m4/inttypes_h.m4: New file.
99582         * m4/uintmax_t.m4: New file.
99583         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99584
99585
99586         -----
99587
99588         Local Variables:
99589         coding: utf-8
99590         End:
99591
99592         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99593
99594         Copying and distribution of this file, with or without
99595         modification, are permitted provided the copyright notice
99596         and this notice are preserved.